You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
235 lines
5.7 KiB
235 lines
5.7 KiB
// Code generated by sqlc. DO NOT EDIT.
|
|
// source: tags.sql
|
|
|
|
package psqlcore
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/lib/pq"
|
|
)
|
|
|
|
const clearTag = `-- name: ClearTag :exec
|
|
DELETE FROM common_tag
|
|
WHERE tag=$1::TEXT
|
|
AND target_kind=$2::TEXT
|
|
AND target_id=$3::TEXT
|
|
`
|
|
|
|
type ClearTagParams struct {
|
|
Tag string `json:"tag"`
|
|
TargetKind string `json:"target_kind"`
|
|
TargetID string `json:"target_id"`
|
|
}
|
|
|
|
func (q *Queries) ClearTag(ctx context.Context, arg ClearTagParams) error {
|
|
_, err := q.db.ExecContext(ctx, clearTag, arg.Tag, arg.TargetKind, arg.TargetID)
|
|
return err
|
|
}
|
|
|
|
const clearTagsByTarget = `-- name: ClearTagsByTarget :exec
|
|
DELETE FROM common_tag
|
|
WHERE target_kind=$1::TEXT
|
|
AND target_id=$2::TEXT
|
|
`
|
|
|
|
type ClearTagsByTargetParams struct {
|
|
TargetKind string `json:"target_kind"`
|
|
TargetID string `json:"target_id"`
|
|
}
|
|
|
|
func (q *Queries) ClearTagsByTarget(ctx context.Context, arg ClearTagsByTargetParams) error {
|
|
_, err := q.db.ExecContext(ctx, clearTagsByTarget, arg.TargetKind, arg.TargetID)
|
|
return err
|
|
}
|
|
|
|
const selectDistinctTags = `-- name: SelectDistinctTags :many
|
|
SELECT DISTINCT tag FROM common_tag
|
|
`
|
|
|
|
func (q *Queries) SelectDistinctTags(ctx context.Context) ([]string, error) {
|
|
rows, err := q.db.QueryContext(ctx, selectDistinctTags)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
defer rows.Close()
|
|
items := []string{}
|
|
for rows.Next() {
|
|
var tag string
|
|
if err := rows.Scan(&tag); err != nil {
|
|
return nil, err
|
|
}
|
|
items = append(items, tag)
|
|
}
|
|
if err := rows.Close(); err != nil {
|
|
return nil, err
|
|
}
|
|
if err := rows.Err(); err != nil {
|
|
return nil, err
|
|
}
|
|
return items, nil
|
|
}
|
|
|
|
const selectDistinctTagsByKind = `-- name: SelectDistinctTagsByKind :many
|
|
SELECT DISTINCT tag FROM common_tag WHERE tag LIKE '$1::text%'
|
|
`
|
|
|
|
func (q *Queries) SelectDistinctTagsByKind(ctx context.Context) ([]string, error) {
|
|
rows, err := q.db.QueryContext(ctx, selectDistinctTagsByKind)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
defer rows.Close()
|
|
items := []string{}
|
|
for rows.Next() {
|
|
var tag string
|
|
if err := rows.Scan(&tag); err != nil {
|
|
return nil, err
|
|
}
|
|
items = append(items, tag)
|
|
}
|
|
if err := rows.Close(); err != nil {
|
|
return nil, err
|
|
}
|
|
if err := rows.Err(); err != nil {
|
|
return nil, err
|
|
}
|
|
return items, nil
|
|
}
|
|
|
|
const selectTagsByTag = `-- name: SelectTagsByTag :many
|
|
SELECT tag, target_kind, target_id FROM common_tag WHERE tag = $1::text
|
|
`
|
|
|
|
func (q *Queries) SelectTagsByTag(ctx context.Context, tagName string) ([]CommonTag, error) {
|
|
rows, err := q.db.QueryContext(ctx, selectTagsByTag, tagName)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
defer rows.Close()
|
|
items := []CommonTag{}
|
|
for rows.Next() {
|
|
var i CommonTag
|
|
if err := rows.Scan(&i.Tag, &i.TargetKind, &i.TargetID); err != nil {
|
|
return nil, err
|
|
}
|
|
items = append(items, i)
|
|
}
|
|
if err := rows.Close(); err != nil {
|
|
return nil, err
|
|
}
|
|
if err := rows.Err(); err != nil {
|
|
return nil, err
|
|
}
|
|
return items, nil
|
|
}
|
|
|
|
const selectTagsByTags = `-- name: SelectTagsByTags :many
|
|
SELECT tag, target_kind, target_id FROM common_tag WHERE tag = ANY($1::text[])
|
|
`
|
|
|
|
func (q *Queries) SelectTagsByTags(ctx context.Context, tagNames []string) ([]CommonTag, error) {
|
|
rows, err := q.db.QueryContext(ctx, selectTagsByTags, pq.Array(tagNames))
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
defer rows.Close()
|
|
items := []CommonTag{}
|
|
for rows.Next() {
|
|
var i CommonTag
|
|
if err := rows.Scan(&i.Tag, &i.TargetKind, &i.TargetID); err != nil {
|
|
return nil, err
|
|
}
|
|
items = append(items, i)
|
|
}
|
|
if err := rows.Close(); err != nil {
|
|
return nil, err
|
|
}
|
|
if err := rows.Err(); err != nil {
|
|
return nil, err
|
|
}
|
|
return items, nil
|
|
}
|
|
|
|
const selectTagsByTarget = `-- name: SelectTagsByTarget :many
|
|
SELECT tag, target_kind, target_id FROM common_tag WHERE target_kind = $1 AND target_id = $2::text
|
|
`
|
|
|
|
type SelectTagsByTargetParams struct {
|
|
TargetKind string `json:"target_kind"`
|
|
Column2 string `json:"column_2"`
|
|
}
|
|
|
|
func (q *Queries) SelectTagsByTarget(ctx context.Context, arg SelectTagsByTargetParams) ([]CommonTag, error) {
|
|
rows, err := q.db.QueryContext(ctx, selectTagsByTarget, arg.TargetKind, arg.Column2)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
defer rows.Close()
|
|
items := []CommonTag{}
|
|
for rows.Next() {
|
|
var i CommonTag
|
|
if err := rows.Scan(&i.Tag, &i.TargetKind, &i.TargetID); err != nil {
|
|
return nil, err
|
|
}
|
|
items = append(items, i)
|
|
}
|
|
if err := rows.Close(); err != nil {
|
|
return nil, err
|
|
}
|
|
if err := rows.Err(); err != nil {
|
|
return nil, err
|
|
}
|
|
return items, nil
|
|
}
|
|
|
|
const selectTagsByTargets = `-- name: SelectTagsByTargets :many
|
|
SELECT tag, target_kind, target_id FROM common_tag WHERE target_kind = $1 AND target_id = ANY($2::text[])
|
|
`
|
|
|
|
type SelectTagsByTargetsParams struct {
|
|
TargetKind string `json:"target_kind"`
|
|
Column2 []string `json:"column_2"`
|
|
}
|
|
|
|
func (q *Queries) SelectTagsByTargets(ctx context.Context, arg SelectTagsByTargetsParams) ([]CommonTag, error) {
|
|
rows, err := q.db.QueryContext(ctx, selectTagsByTargets, arg.TargetKind, pq.Array(arg.Column2))
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
defer rows.Close()
|
|
items := []CommonTag{}
|
|
for rows.Next() {
|
|
var i CommonTag
|
|
if err := rows.Scan(&i.Tag, &i.TargetKind, &i.TargetID); err != nil {
|
|
return nil, err
|
|
}
|
|
items = append(items, i)
|
|
}
|
|
if err := rows.Close(); err != nil {
|
|
return nil, err
|
|
}
|
|
if err := rows.Err(); err != nil {
|
|
return nil, err
|
|
}
|
|
return items, nil
|
|
}
|
|
|
|
const setTag = `-- name: SetTag :exec
|
|
INSERT INTO common_tag (tag, target_kind, target_id)
|
|
VALUES (
|
|
$1::TEXT, $2::TEXT, $3::TEXT
|
|
)
|
|
ON CONFLICT DO NOTHING
|
|
`
|
|
|
|
type SetTagParams struct {
|
|
Tag string `json:"tag"`
|
|
TargetKind string `json:"target_kind"`
|
|
TargetID string `json:"target_id"`
|
|
}
|
|
|
|
func (q *Queries) SetTag(ctx context.Context, arg SetTagParams) error {
|
|
_, err := q.db.ExecContext(ctx, setTag, arg.Tag, arg.TargetKind, arg.TargetID)
|
|
return err
|
|
}
|