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.

20 lines
911 B

  1. -- name: SelectChangeByID :one
  2. SELECT * FROM data_change WHERE id = $1 LIMIT 1;
  3. -- name: SelectChanges :many
  4. SELECT * FROM data_change
  5. WHERE (sqlc.arg(filter_keys)::bool = false OR keys && (sqlc.arg(keys)::text[]))
  6. AND (sqlc.arg(filter_earliest_date)::bool = false OR date >= sqlc.arg(earliest_date)::timestamp)
  7. AND (sqlc.arg(filter_latest_date)::bool = false OR date <= sqlc.arg(latest_date)::timestamp)
  8. AND (sqlc.arg(filter_author)::bool = false OR author = sqlc.arg(author)::text)
  9. LIMIT sqlc.arg(limit_size)::int;
  10. -- name: InsertChange :exec
  11. INSERT INTO data_change (id, model, op, author, listed, date, keys, objects)
  12. VALUES (
  13. sqlc.arg(id)::text, sqlc.arg(model)::text, sqlc.arg(op)::text, sqlc.arg(author)::text,
  14. sqlc.arg(listed)::boolean, sqlc.arg(date)::timestamp, sqlc.arg(keys)::text[],
  15. sqlc.arg(objects)::jsonb
  16. );
  17. -- name: DeleteChange :exec
  18. DELETE FROM data_change WHERE id = $1;