// Code generated by sqlc. DO NOT EDIT. // versions: // sqlc v1.26.0 // source: talkgroups.sql package database import ( "context" ) const bulkSetTalkgroupTags = `-- name: BulkSetTalkgroupTags :exec UPDATE talkgroups SET tags = $2 WHERE id = ANY($1) ` func (q *Queries) BulkSetTalkgroupTags(ctx context.Context, iD int64, tags []string) error { _, err := q.db.Exec(ctx, bulkSetTalkgroupTags, iD, tags) return err } const getTalkgroupIDsByTags = `-- name: GetTalkgroupIDsByTags :many SELECT system_id, tgid FROM talkgroups WHERE (tags @> ARRAY[$1]) AND (tags && ARRAY[$2]) AND NOT (tags @> ARRAY[$3]) ` type GetTalkgroupIDsByTagsRow struct { SystemID int32 `json:"system_id"` Tgid int32 `json:"tgid"` } func (q *Queries) GetTalkgroupIDsByTags(ctx context.Context, anytags []string, alltags []string, nottags []string) ([]GetTalkgroupIDsByTagsRow, error) { rows, err := q.db.Query(ctx, getTalkgroupIDsByTags, anytags, alltags, nottags) if err != nil { return nil, err } defer rows.Close() var items []GetTalkgroupIDsByTagsRow for rows.Next() { var i GetTalkgroupIDsByTagsRow if err := rows.Scan(&i.SystemID, &i.Tgid); err != nil { return nil, err } items = append(items, i) } if err := rows.Err(); err != nil { return nil, err } return items, nil } const getTalkgroupTags = `-- name: GetTalkgroupTags :one SELECT tags FROM talkgroups WHERE id = systg2id($1, $2) ` func (q *Queries) GetTalkgroupTags(ctx context.Context, sys int, tg int) ([]string, error) { row := q.db.QueryRow(ctx, getTalkgroupTags, sys, tg) var tags []string err := row.Scan(&tags) return tags, err } const getTalkgroupsWithAllTags = `-- name: GetTalkgroupsWithAllTags :many SELECT id, system_id, tgid, name, tg_group, frequency, metadata, tags FROM talkgroups WHERE tags && ARRAY[$1] ` func (q *Queries) GetTalkgroupsWithAllTags(ctx context.Context, tags []string) ([]Talkgroup, error) { rows, err := q.db.Query(ctx, getTalkgroupsWithAllTags, tags) if err != nil { return nil, err } defer rows.Close() var items []Talkgroup for rows.Next() { var i Talkgroup if err := rows.Scan( &i.ID, &i.SystemID, &i.Tgid, &i.Name, &i.TgGroup, &i.Frequency, &i.Metadata, &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 id, system_id, tgid, name, tg_group, frequency, metadata, tags FROM talkgroups WHERE tags @> ARRAY[$1] ` func (q *Queries) GetTalkgroupsWithAnyTags(ctx context.Context, tags []string) ([]Talkgroup, error) { rows, err := q.db.Query(ctx, getTalkgroupsWithAnyTags, tags) if err != nil { return nil, err } defer rows.Close() var items []Talkgroup for rows.Next() { var i Talkgroup if err := rows.Scan( &i.ID, &i.SystemID, &i.Tgid, &i.Name, &i.TgGroup, &i.Frequency, &i.Metadata, &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 UPDATE talkgroups SET tags = $3 WHERE id = systg2id($1, $2) ` func (q *Queries) SetTalkgroupTags(ctx context.Context, sys int, tg int, tags []string) error { _, err := q.db.Exec(ctx, setTalkgroupTags, sys, tg, tags) return err }