records.sql 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. -- name: ListRecords :many
  2. SELECT r.*, z.zone_id as cf_zone_id, z.name as zone_name
  3. FROM records r
  4. JOIN zones z ON z.id = r.zone_id
  5. ORDER BY r.name;
  6. -- name: ListRecordsByZone :many
  7. SELECT r.*, z.zone_id as cf_zone_id, z.name as zone_name
  8. FROM records r
  9. JOIN zones z ON z.id = r.zone_id
  10. WHERE r.zone_id = ?
  11. ORDER BY r.name;
  12. -- name: ListNonStaticRecords :many
  13. SELECT r.*, z.zone_id as cf_zone_id, z.api_key as zone_api_key
  14. FROM records r
  15. JOIN zones z ON z.id = r.zone_id
  16. WHERE r.is_static = 0;
  17. -- name: GetRecord :one
  18. SELECT r.*, z.zone_id as cf_zone_id, z.name as zone_name
  19. FROM records r
  20. JOIN zones z ON z.id = r.zone_id
  21. WHERE r.id = ?;
  22. -- name: CreateRecord :one
  23. INSERT INTO records (zone_id, cf_record_id, name, type, content, proxied, is_static)
  24. VALUES (?, ?, ?, ?, ?, ?, ?)
  25. RETURNING *;
  26. -- name: UpdateRecord :one
  27. UPDATE records
  28. SET name = ?, type = ?, content = ?, proxied = ?, is_static = ?, updated_at = CURRENT_TIMESTAMP
  29. WHERE id = ?
  30. RETURNING *;
  31. -- name: UpdateRecordContent :exec
  32. UPDATE records
  33. SET content = ?, updated_at = CURRENT_TIMESTAMP
  34. WHERE id = ?;
  35. -- name: DeleteRecord :exec
  36. DELETE FROM records WHERE id = ?;
  37. -- name: UpsertRecord :one
  38. INSERT INTO records (zone_id, cf_record_id, name, type, content, proxied, is_static)
  39. VALUES (?, ?, ?, ?, ?, ?, ?)
  40. ON CONFLICT(zone_id, cf_record_id) DO UPDATE SET
  41. name = excluded.name,
  42. type = excluded.type,
  43. content = excluded.content,
  44. proxied = excluded.proxied,
  45. updated_at = CURRENT_TIMESTAMP
  46. RETURNING *;
  47. -- name: DeleteRecordByCfID :exec
  48. DELETE FROM records WHERE zone_id = ? AND cf_record_id = ?;
  49. -- name: ListRecordCfIDsByZone :many
  50. SELECT cf_record_id FROM records WHERE zone_id = ?;