GraphQL API and utilities for the rpdata project
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.

302 lines
7.7 KiB

  1. // Code generated by sqlc. DO NOT EDIT.
  2. // source: tags.sql
  3. package psqlcore
  4. import (
  5. "context"
  6. "github.com/lib/pq"
  7. )
  8. const clearTag = `-- name: ClearTag :exec
  9. DELETE FROM common_tag
  10. WHERE tag=$1::TEXT
  11. AND target_kind=$2::TEXT
  12. AND target_id=$3::TEXT
  13. `
  14. type ClearTagParams struct {
  15. Tag string `json:"tag"`
  16. TargetKind string `json:"target_kind"`
  17. TargetID string `json:"target_id"`
  18. }
  19. func (q *Queries) ClearTag(ctx context.Context, arg ClearTagParams) error {
  20. _, err := q.db.ExecContext(ctx, clearTag, arg.Tag, arg.TargetKind, arg.TargetID)
  21. return err
  22. }
  23. const clearTagsByTarget = `-- name: ClearTagsByTarget :exec
  24. DELETE FROM common_tag
  25. WHERE target_kind=$1::TEXT
  26. AND target_id=$2::TEXT
  27. `
  28. type ClearTagsByTargetParams struct {
  29. TargetKind string `json:"target_kind"`
  30. TargetID string `json:"target_id"`
  31. }
  32. func (q *Queries) ClearTagsByTarget(ctx context.Context, arg ClearTagsByTargetParams) error {
  33. _, err := q.db.ExecContext(ctx, clearTagsByTarget, arg.TargetKind, arg.TargetID)
  34. return err
  35. }
  36. const clearTagsByTargetLike = `-- name: ClearTagsByTargetLike :exec
  37. DELETE FROM common_tag
  38. WHERE target_kind=$1::TEXT
  39. AND target_id=$2::TEXT
  40. AND tag LIKE $3::TEXT
  41. `
  42. type ClearTagsByTargetLikeParams struct {
  43. TargetKind string `json:"target_kind"`
  44. TargetID string `json:"target_id"`
  45. TagLike string `json:"tag_like"`
  46. }
  47. func (q *Queries) ClearTagsByTargetLike(ctx context.Context, arg ClearTagsByTargetLikeParams) error {
  48. _, err := q.db.ExecContext(ctx, clearTagsByTargetLike, arg.TargetKind, arg.TargetID, arg.TagLike)
  49. return err
  50. }
  51. const selectDistinctTags = `-- name: SelectDistinctTags :many
  52. SELECT DISTINCT tag FROM common_tag ORDER BY tag
  53. `
  54. func (q *Queries) SelectDistinctTags(ctx context.Context) ([]string, error) {
  55. rows, err := q.db.QueryContext(ctx, selectDistinctTags)
  56. if err != nil {
  57. return nil, err
  58. }
  59. defer rows.Close()
  60. items := []string{}
  61. for rows.Next() {
  62. var tag string
  63. if err := rows.Scan(&tag); err != nil {
  64. return nil, err
  65. }
  66. items = append(items, tag)
  67. }
  68. if err := rows.Close(); err != nil {
  69. return nil, err
  70. }
  71. if err := rows.Err(); err != nil {
  72. return nil, err
  73. }
  74. return items, nil
  75. }
  76. const selectDistinctTagsLike = `-- name: SelectDistinctTagsLike :many
  77. SELECT DISTINCT tag FROM common_tag WHERE tag LIKE $1::text ORDER BY tag
  78. `
  79. func (q *Queries) SelectDistinctTagsLike(ctx context.Context, dollar_1 string) ([]string, error) {
  80. rows, err := q.db.QueryContext(ctx, selectDistinctTagsLike, dollar_1)
  81. if err != nil {
  82. return nil, err
  83. }
  84. defer rows.Close()
  85. items := []string{}
  86. for rows.Next() {
  87. var tag string
  88. if err := rows.Scan(&tag); err != nil {
  89. return nil, err
  90. }
  91. items = append(items, tag)
  92. }
  93. if err := rows.Close(); err != nil {
  94. return nil, err
  95. }
  96. if err := rows.Err(); err != nil {
  97. return nil, err
  98. }
  99. return items, nil
  100. }
  101. const selectTagsByTag = `-- name: SelectTagsByTag :many
  102. SELECT tag, target_kind, target_id FROM common_tag WHERE tag = $1::text ORDER BY tag
  103. `
  104. func (q *Queries) SelectTagsByTag(ctx context.Context, tagName string) ([]CommonTag, error) {
  105. rows, err := q.db.QueryContext(ctx, selectTagsByTag, tagName)
  106. if err != nil {
  107. return nil, err
  108. }
  109. defer rows.Close()
  110. items := []CommonTag{}
  111. for rows.Next() {
  112. var i CommonTag
  113. if err := rows.Scan(&i.Tag, &i.TargetKind, &i.TargetID); err != nil {
  114. return nil, err
  115. }
  116. items = append(items, i)
  117. }
  118. if err := rows.Close(); err != nil {
  119. return nil, err
  120. }
  121. if err := rows.Err(); err != nil {
  122. return nil, err
  123. }
  124. return items, nil
  125. }
  126. const selectTagsByTags = `-- name: SelectTagsByTags :many
  127. SELECT tag, target_kind, target_id FROM common_tag WHERE tag = ANY($1::text[]) ORDER BY tag
  128. `
  129. func (q *Queries) SelectTagsByTags(ctx context.Context, tagNames []string) ([]CommonTag, error) {
  130. rows, err := q.db.QueryContext(ctx, selectTagsByTags, pq.Array(tagNames))
  131. if err != nil {
  132. return nil, err
  133. }
  134. defer rows.Close()
  135. items := []CommonTag{}
  136. for rows.Next() {
  137. var i CommonTag
  138. if err := rows.Scan(&i.Tag, &i.TargetKind, &i.TargetID); err != nil {
  139. return nil, err
  140. }
  141. items = append(items, i)
  142. }
  143. if err := rows.Close(); err != nil {
  144. return nil, err
  145. }
  146. if err := rows.Err(); err != nil {
  147. return nil, err
  148. }
  149. return items, nil
  150. }
  151. const selectTagsByTarget = `-- name: SelectTagsByTarget :many
  152. SELECT tag, target_kind, target_id FROM common_tag WHERE target_kind = $1 AND target_id = $2::text ORDER BY tag
  153. `
  154. type SelectTagsByTargetParams struct {
  155. TargetKind string `json:"target_kind"`
  156. TargetID string `json:"target_id"`
  157. }
  158. func (q *Queries) SelectTagsByTarget(ctx context.Context, arg SelectTagsByTargetParams) ([]CommonTag, error) {
  159. rows, err := q.db.QueryContext(ctx, selectTagsByTarget, arg.TargetKind, arg.TargetID)
  160. if err != nil {
  161. return nil, err
  162. }
  163. defer rows.Close()
  164. items := []CommonTag{}
  165. for rows.Next() {
  166. var i CommonTag
  167. if err := rows.Scan(&i.Tag, &i.TargetKind, &i.TargetID); err != nil {
  168. return nil, err
  169. }
  170. items = append(items, i)
  171. }
  172. if err := rows.Close(); err != nil {
  173. return nil, err
  174. }
  175. if err := rows.Err(); err != nil {
  176. return nil, err
  177. }
  178. return items, nil
  179. }
  180. const selectTagsByTargets = `-- name: SelectTagsByTargets :many
  181. SELECT tag, target_kind, target_id FROM common_tag WHERE target_kind = $1 AND target_id = ANY($2::text[]) ORDER BY tag
  182. `
  183. type SelectTagsByTargetsParams struct {
  184. TargetKind string `json:"target_kind"`
  185. TargetIds []string `json:"target_ids"`
  186. }
  187. func (q *Queries) SelectTagsByTargets(ctx context.Context, arg SelectTagsByTargetsParams) ([]CommonTag, error) {
  188. rows, err := q.db.QueryContext(ctx, selectTagsByTargets, arg.TargetKind, pq.Array(arg.TargetIds))
  189. if err != nil {
  190. return nil, err
  191. }
  192. defer rows.Close()
  193. items := []CommonTag{}
  194. for rows.Next() {
  195. var i CommonTag
  196. if err := rows.Scan(&i.Tag, &i.TargetKind, &i.TargetID); err != nil {
  197. return nil, err
  198. }
  199. items = append(items, i)
  200. }
  201. if err := rows.Close(); err != nil {
  202. return nil, err
  203. }
  204. if err := rows.Err(); err != nil {
  205. return nil, err
  206. }
  207. return items, nil
  208. }
  209. const selectTargetsByTags = `-- name: SelectTargetsByTags :many
  210. SELECT DISTINCT(target_id) FROM common_tag WHERE tag = ANY($1::text[]) AND target_kind = $2::text ORDER BY tag
  211. `
  212. type SelectTargetsByTagsParams struct {
  213. TagNames []string `json:"tag_names"`
  214. TargetKind string `json:"target_kind"`
  215. }
  216. func (q *Queries) SelectTargetsByTags(ctx context.Context, arg SelectTargetsByTagsParams) ([]string, error) {
  217. rows, err := q.db.QueryContext(ctx, selectTargetsByTags, pq.Array(arg.TagNames), arg.TargetKind)
  218. if err != nil {
  219. return nil, err
  220. }
  221. defer rows.Close()
  222. items := []string{}
  223. for rows.Next() {
  224. var target_id string
  225. if err := rows.Scan(&target_id); err != nil {
  226. return nil, err
  227. }
  228. items = append(items, target_id)
  229. }
  230. if err := rows.Close(); err != nil {
  231. return nil, err
  232. }
  233. if err := rows.Err(); err != nil {
  234. return nil, err
  235. }
  236. return items, nil
  237. }
  238. const setTag = `-- name: SetTag :exec
  239. INSERT INTO common_tag (tag, target_kind, target_id)
  240. VALUES (
  241. $1::TEXT, $2::TEXT, $3::TEXT
  242. )
  243. ON CONFLICT DO NOTHING
  244. `
  245. type SetTagParams struct {
  246. Tag string `json:"tag"`
  247. TargetKind string `json:"target_kind"`
  248. TargetID string `json:"target_id"`
  249. }
  250. func (q *Queries) SetTag(ctx context.Context, arg SetTagParams) error {
  251. _, err := q.db.ExecContext(ctx, setTag, arg.Tag, arg.TargetKind, arg.TargetID)
  252. return err
  253. }
  254. const setTags = `-- name: SetTags :exec
  255. INSERT INTO common_tag (tag, target_kind, target_id)
  256. SELECT unnest($1::TEXT[]), $2::TEXT as target_kind, $3::TEXT as target_id
  257. ON CONFLICT DO NOTHING
  258. `
  259. type SetTagsParams struct {
  260. Tags []string `json:"tags"`
  261. TargetKind string `json:"target_kind"`
  262. TargetID string `json:"target_id"`
  263. }
  264. func (q *Queries) SetTags(ctx context.Context, arg SetTagsParams) error {
  265. _, err := q.db.ExecContext(ctx, setTags, pq.Array(arg.Tags), arg.TargetKind, arg.TargetID)
  266. return err
  267. }