// Code generated by sqlc. DO NOT EDIT. // versions: // sqlc v1.26.0 // source: talkgroups.sql package database import ( "context" ) const getTalkgroupTags = `-- name: GetTalkgroupTags :one SELECT tags FROM talkgroups_tags WHERE talkgroup_id = $1 ` func (q *Queries) GetTalkgroupTags(ctx context.Context, talkgroupID int32) ([]string, error) { row := q.db.QueryRow(ctx, getTalkgroupTags, talkgroupID) var tags []string err := row.Scan(&tags) return tags, err } const getTalkgroupsWithAllTags = `-- name: GetTalkgroupsWithAllTags :many SELECT talkgroup_id, tags FROM talkgroups_tags WHERE tags && ARRAY[$1] ` func (q *Queries) GetTalkgroupsWithAllTags(ctx context.Context, tags []string) ([]TalkgroupsTag, error) { rows, err := q.db.Query(ctx, getTalkgroupsWithAllTags, tags) if err != nil { return nil, err } defer rows.Close() var items []TalkgroupsTag for rows.Next() { var i TalkgroupsTag if err := rows.Scan(&i.TalkgroupID, &i.Tags); err != nil { return nil, err } items = append(items, i) } if err := rows.Err(); err != nil { return nil, err } return items, nil } const getTalkgroupsWithAnyTags = `-- name: GetTalkgroupsWithAnyTags :many SELECT talkgroup_id, tags FROM talkgroups_tags WHERE tags @> ARRAY[$1] ` func (q *Queries) GetTalkgroupsWithAnyTags(ctx context.Context, tags []string) ([]TalkgroupsTag, error) { rows, err := q.db.Query(ctx, getTalkgroupsWithAnyTags, tags) if err != nil { return nil, err } defer rows.Close() var items []TalkgroupsTag for rows.Next() { var i TalkgroupsTag if err := rows.Scan(&i.TalkgroupID, &i.Tags); err != nil { return nil, err } items = append(items, i) } if err := rows.Err(); err != nil { return nil, err } return items, nil } const setTalkgroupTags = `-- name: SetTalkgroupTags :exec INSERT INTO talkgroups_tags(talkgroup_id, tags) VALUES($1, $2) ON CONFLICT (talkgroup_id) DO UPDATE SET tags = $2 ` type SetTalkgroupTagsParams struct { TalkgroupID int32 Tags []string } func (q *Queries) SetTalkgroupTags(ctx context.Context, arg SetTalkgroupTagsParams) error { _, err := q.db.Exec(ctx, setTalkgroupTags, arg.TalkgroupID, arg.Tags) return err }