// 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 system_id, talkgroup_id FROM talkgroups_tags WHERE tags && ARRAY[$1] ` type GetTalkgroupsWithAllTagsRow struct { SystemID int32 TalkgroupID int32 } func (q *Queries) GetTalkgroupsWithAllTags(ctx context.Context, tags []string) ([]GetTalkgroupsWithAllTagsRow, error) { rows, err := q.db.Query(ctx, getTalkgroupsWithAllTags, tags) if err != nil { return nil, err } defer rows.Close() var items []GetTalkgroupsWithAllTagsRow for rows.Next() { var i GetTalkgroupsWithAllTagsRow if err := rows.Scan(&i.SystemID, &i.TalkgroupID); 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 system_id, talkgroup_id FROM talkgroups_tags WHERE tags @> ARRAY[$1] ` type GetTalkgroupsWithAnyTagsRow struct { SystemID int32 TalkgroupID int32 } func (q *Queries) GetTalkgroupsWithAnyTags(ctx context.Context, tags []string) ([]GetTalkgroupsWithAnyTagsRow, error) { rows, err := q.db.Query(ctx, getTalkgroupsWithAnyTags, tags) if err != nil { return nil, err } defer rows.Close() var items []GetTalkgroupsWithAnyTagsRow for rows.Next() { var i GetTalkgroupsWithAnyTagsRow if err := rows.Scan(&i.SystemID, &i.TalkgroupID); 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(system_id, talkgroup_id, tags) VALUES($1, $2, $3) ON CONFLICT (system_id, talkgroup_id) DO UPDATE SET tags = $3 ` type SetTalkgroupTagsParams struct { SystemID int32 TalkgroupID int32 Tags []string } func (q *Queries) SetTalkgroupTags(ctx context.Context, arg SetTalkgroupTagsParams) error { _, err := q.db.Exec(ctx, setTalkgroupTags, arg.SystemID, arg.TalkgroupID, arg.Tags) return err }