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.

36 lines
1.7 KiB

  1. -- name: SelectStory :one
  2. SELECT * FROM story WHERE id = $1 LIMIT 1;
  3. -- name: SelectStories :many
  4. SELECT * FROM story
  5. WHERE (sqlc.arg(filter_id)::bool = false OR id = ANY(sqlc.arg(ids)::text[]))
  6. AND (sqlc.arg(filter_author)::bool = false OR name = sqlc.arg(author)::text)
  7. AND (sqlc.arg(filter_earlist_fictional_date)::bool = false OR fictional_date >= sqlc.arg(earliest_fictional_date)::timestamp)
  8. AND (sqlc.arg(filter_lastest_fictional_date)::bool = false OR fictional_date <= sqlc.arg(latest_fictional_date)::timestamp)
  9. AND (sqlc.arg(filter_category)::bool = false OR category = sqlc.arg(category)::text)
  10. AND (sqlc.arg(filter_open)::bool = false OR open = sqlc.arg(open)::bool)
  11. AND (sqlc.arg(filter_unlisted)::bool = false OR unlisted = sqlc.arg(unlisted)::bool)
  12. ORDER BY updated_date
  13. LIMIT sqlc.arg(limit_size)::int;
  14. -- name: InsertStory :exec
  15. INSERT INTO story (id, author, name, category, open, listed, sort_by_fictional_date, created_date, fictional_date, updated_date)
  16. VALUES (
  17. sqlc.arg(id)::text, sqlc.arg(author)::text, sqlc.arg(name)::text, sqlc.arg(category)::text,
  18. sqlc.arg(open)::boolean, sqlc.arg(listed)::boolean, sqlc.arg(sort_by_fictional_date)::boolean,
  19. sqlc.arg(created_date)::timestamp, sqlc.arg(fictional_date)::timestamp, sqlc.arg(updated_date)::timestamp
  20. );
  21. -- name: UpdateStory :exec
  22. UPDATE story
  23. SET name=sqlc.arg(name),
  24. category=sqlc.arg(category),
  25. author=sqlc.arg(author),
  26. open=sqlc.arg(open),
  27. listed=sqlc.arg(listed),
  28. fictional_date=sqlc.arg(fictional_date),
  29. updated_date=sqlc.arg(updated_date),
  30. sort_by_fictional_date=sqlc.arg(sort_by_fictional_date)
  31. WHERE id=sqlc.arg(id);
  32. -- name: DeleteStory :exec
  33. DELETE FROM story WHERE id=$1;