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.

30 lines
953 B

  1. -- name: SelectChannelByName :one
  2. SELECT * FROM data_channel WHERE name = $1 LIMIT 1;
  3. -- name: InsertChannel :exec
  4. INSERT INTO data_channel (name, logged, hub, event_name, location_name)
  5. VALUES (
  6. @name::text,
  7. @logged::boolean, @hub::boolean,
  8. @event_name::text, @location_name::text
  9. );
  10. -- name: SelectChannels :many
  11. SELECT * FROM data_channel
  12. WHERE (@filter_name::bool = false OR name = ANY(@names::text[]))
  13. AND (@filter_logged::bool = false OR logged = @logged)
  14. AND (@filter_event_name::bool = false OR event_name = @event_name)
  15. AND (@filter_location_name::bool = false OR location_name = @location_name)
  16. ORDER BY name
  17. LIMIT NULLIF(@limit_size::INT, 0);
  18. -- name: UpdateChannel :exec
  19. UPDATE data_channel
  20. SET logged = @logged::boolean,
  21. hub = @hub::boolean,
  22. event_name = @event_name::text,
  23. location_name = @location_name::text
  24. WHERE name = @name::text;
  25. -- name: DeleteChannel :exec
  26. DELETE FROM data_channel WHERE name=$1;