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.

21 lines
788 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 (@filter_keys::bool = false OR keys && (@keys::text[]))
  6. AND (@filter_earliest_date::bool = false OR date >= @earliest_date::timestamp)
  7. AND (@filter_latest_date::bool = false OR date <= @latest_date::timestamp)
  8. AND (@filter_author::bool = false OR author = @author::text)
  9. ORDER BY date DESC
  10. LIMIT NULLIF(@limit_size::INT, 0);
  11. -- name: InsertChange :exec
  12. INSERT INTO data_change (id, model, op, author, listed, date, keys, objects)
  13. VALUES (
  14. @id::text, @model::text, @op::text, @author::text,
  15. @listed::boolean, @date::timestamp, @keys::text[],
  16. @objects::jsonb
  17. );
  18. -- name: DeleteChange :exec
  19. DELETE FROM data_change WHERE id = $1;