query.sql 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. -- Queries added to query.sql must be compiled into Go code with sqlc. Read README.md for details.
  2. -- Federation related queries.
  3. -- name: GetFollowerCount :one
  4. SElECT count(*) FROM ap_followers WHERE approved_at is not null;
  5. -- name: GetLocalPostCount :one
  6. SElECT count(*) FROM ap_outbox;
  7. -- name: GetFederationFollowersWithOffset :many
  8. SELECT iri, inbox, name, username, image, created_at FROM ap_followers WHERE approved_at is not null ORDER BY created_at DESC LIMIT $1 OFFSET $2;
  9. -- name: GetRejectedAndBlockedFollowers :many
  10. SELECT iri, name, username, image, created_at, disabled_at FROM ap_followers WHERE disabled_at is not null;
  11. -- name: GetFederationFollowerApprovalRequests :many
  12. SELECT iri, inbox, name, username, image, created_at FROM ap_followers WHERE approved_at IS null AND disabled_at is null;
  13. -- name: ApproveFederationFollower :exec
  14. UPDATE ap_followers SET approved_at = $1, disabled_at = null WHERE iri = $2;
  15. -- name: RejectFederationFollower :exec
  16. UPDATE ap_followers SET approved_at = null, disabled_at = $1 WHERE iri = $2;
  17. -- name: GetFollowerByIRI :one
  18. SELECT iri, inbox, name, username, image, request, created_at, approved_at, disabled_at FROM ap_followers WHERE iri = $1;
  19. -- name: GetOutboxWithOffset :many
  20. SELECT value FROM ap_outbox LIMIT $1 OFFSET $2;
  21. -- name: GetObjectFromOutboxByID :one
  22. SELECT value FROM ap_outbox WHERE iri = $1;
  23. -- name: GetObjectFromOutboxByIRI :one
  24. SELECT value, live_notification, created_at FROM ap_outbox WHERE iri = $1;
  25. -- name: RemoveFollowerByIRI :exec
  26. DELETE FROM ap_followers WHERE iri = $1;
  27. -- name: AddFollower :exec
  28. INSERT INTO ap_followers(iri, inbox, request, name, username, image, approved_at) values($1, $2, $3, $4, $5, $6, $7);
  29. -- name: AddToOutbox :exec
  30. INSERT INTO ap_outbox(iri, value, type, live_notification) values($1, $2, $3, $4);
  31. -- name: AddToAcceptedActivities :exec
  32. INSERT INTO ap_accepted_activities(iri, actor, type, timestamp) values($1, $2, $3, $4);
  33. -- name: GetInboundActivityCount :one
  34. SELECT count(*) FROM ap_accepted_activities;
  35. -- name: GetInboundActivitiesWithOffset :many
  36. SELECT iri, actor, type, timestamp FROM ap_accepted_activities ORDER BY timestamp DESC LIMIT $1 OFFSET $2;
  37. -- name: DoesInboundActivityExist :one
  38. SELECT count(*) FROM ap_accepted_activities WHERE iri = $1 AND actor = $2 AND TYPE = $3;
  39. -- name: UpdateFollowerByIRI :exec
  40. UPDATE ap_followers SET inbox = $1, name = $2, username = $3, image = $4 WHERE iri = $5;
  41. -- name: BanIPAddress :exec
  42. INSERT INTO ip_bans(ip_address, notes) values($1, $2);
  43. -- name: RemoveIPAddressBan :exec
  44. DELETE FROM ip_bans WHERE ip_address = $1;
  45. -- name: IsIPAddressBlocked :one
  46. SELECT count(*) FROM ip_bans WHERE ip_address = $1;
  47. -- name: GetIPAddressBans :many
  48. SELECT * FROM ip_bans;
  49. -- name: AddNotification :exec
  50. INSERT INTO notifications (channel, destination) VALUES($1, $2);
  51. -- name: GetNotificationDestinationsForChannel :many
  52. SELECT destination FROM notifications WHERE channel = $1;
  53. -- name: RemoveNotificationDestinationForChannel :exec
  54. DELETE FROM notifications WHERE channel = $1 AND destination = $2;