@revealui/db 0.3.5 → 0.3.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (207) hide show
  1. package/README.md +4 -4
  2. package/dist/audit-store.d.ts +1 -1
  3. package/dist/audit-store.js +1 -1
  4. package/dist/cleanup/rag-site-cleanup.d.ts +2 -2
  5. package/dist/cleanup/rag-site-cleanup.js +2 -2
  6. package/dist/cleanup/stale-tokens.d.ts +6 -6
  7. package/dist/cleanup/stale-tokens.js +6 -6
  8. package/dist/client/index.d.ts +1 -1
  9. package/dist/client/index.d.ts.map +1 -1
  10. package/dist/client/index.js +20 -8
  11. package/dist/client/index.js.map +1 -1
  12. package/dist/crypto.d.ts +1 -1
  13. package/dist/crypto.js +3 -3
  14. package/dist/crypto.js.map +1 -1
  15. package/dist/log-transport.d.ts +1 -1
  16. package/dist/log-transport.js +2 -2
  17. package/dist/log-transport.js.map +1 -1
  18. package/dist/queries/boards.d.ts +13 -13
  19. package/dist/queries/boards.d.ts.map +1 -1
  20. package/dist/queries/boards.js +1 -1
  21. package/dist/queries/boards.js.map +1 -1
  22. package/dist/queries/code-provenance.d.ts +13 -13
  23. package/dist/queries/code-provenance.d.ts.map +1 -1
  24. package/dist/queries/code-provenance.js.map +1 -1
  25. package/dist/queries/conversations.js +1 -1
  26. package/dist/queries/conversations.js.map +1 -1
  27. package/dist/queries/media.d.ts +12 -7
  28. package/dist/queries/media.d.ts.map +1 -1
  29. package/dist/queries/media.js +16 -2
  30. package/dist/queries/media.js.map +1 -1
  31. package/dist/queries/oauth-accounts.d.ts +9 -0
  32. package/dist/queries/oauth-accounts.d.ts.map +1 -0
  33. package/dist/queries/oauth-accounts.js +15 -0
  34. package/dist/queries/oauth-accounts.js.map +1 -0
  35. package/dist/queries/orders.d.ts +10 -5
  36. package/dist/queries/orders.d.ts.map +1 -1
  37. package/dist/queries/orders.js +14 -1
  38. package/dist/queries/orders.js.map +1 -1
  39. package/dist/queries/pages.d.ts +8 -8
  40. package/dist/queries/pages.d.ts.map +1 -1
  41. package/dist/queries/pages.js.map +1 -1
  42. package/dist/queries/passkeys.d.ts +21 -0
  43. package/dist/queries/passkeys.d.ts.map +1 -0
  44. package/dist/queries/passkeys.js +19 -0
  45. package/dist/queries/passkeys.js.map +1 -0
  46. package/dist/queries/posts.d.ts +16 -11
  47. package/dist/queries/posts.d.ts.map +1 -1
  48. package/dist/queries/posts.js +16 -2
  49. package/dist/queries/posts.js.map +1 -1
  50. package/dist/queries/products.d.ts +13 -8
  51. package/dist/queries/products.d.ts.map +1 -1
  52. package/dist/queries/products.js +15 -1
  53. package/dist/queries/products.js.map +1 -1
  54. package/dist/queries/sessions.d.ts +30 -0
  55. package/dist/queries/sessions.d.ts.map +1 -0
  56. package/dist/queries/sessions.js +37 -0
  57. package/dist/queries/sessions.js.map +1 -0
  58. package/dist/queries/sites.d.ts +18 -12
  59. package/dist/queries/sites.d.ts.map +1 -1
  60. package/dist/queries/sites.js +15 -1
  61. package/dist/queries/sites.js.map +1 -1
  62. package/dist/queries/ticket-comments.d.ts +8 -8
  63. package/dist/queries/ticket-comments.d.ts.map +1 -1
  64. package/dist/queries/ticket-comments.js +2 -2
  65. package/dist/queries/ticket-comments.js.map +1 -1
  66. package/dist/queries/ticket-labels.d.ts +9 -9
  67. package/dist/queries/ticket-labels.d.ts.map +1 -1
  68. package/dist/queries/ticket-labels.js.map +1 -1
  69. package/dist/queries/tickets.d.ts +13 -13
  70. package/dist/queries/tickets.d.ts.map +1 -1
  71. package/dist/queries/tickets.js +1 -1
  72. package/dist/queries/tickets.js.map +1 -1
  73. package/dist/queries/user-api-keys.d.ts +28 -0
  74. package/dist/queries/user-api-keys.d.ts.map +1 -0
  75. package/dist/queries/user-api-keys.js +49 -0
  76. package/dist/queries/user-api-keys.js.map +1 -0
  77. package/dist/queries/users.d.ts +87 -10
  78. package/dist/queries/users.d.ts.map +1 -1
  79. package/dist/queries/users.js +46 -1
  80. package/dist/queries/users.js.map +1 -1
  81. package/dist/saga/crdt-resolver.d.ts +4 -4
  82. package/dist/saga/crdt-resolver.js +10 -10
  83. package/dist/saga/crdt-resolver.js.map +1 -1
  84. package/dist/saga/idempotent-operation.d.ts +1 -1
  85. package/dist/saga/idempotent-operation.js +2 -2
  86. package/dist/saga/idempotent-operation.js.map +1 -1
  87. package/dist/saga/index.d.ts +1 -1
  88. package/dist/saga/index.js +1 -1
  89. package/dist/saga/neon-saga.d.ts +2 -2
  90. package/dist/saga/neon-saga.js +9 -9
  91. package/dist/saga/neon-saga.js.map +1 -1
  92. package/dist/saga/recovery.d.ts +2 -2
  93. package/dist/saga/recovery.js +2 -2
  94. package/dist/saga/resilient-step.d.ts +1 -1
  95. package/dist/saga/resilient-step.js +2 -2
  96. package/dist/saga/resilient-step.js.map +1 -1
  97. package/dist/saga/types.d.ts +2 -2
  98. package/dist/schema/accounts.d.ts.map +1 -1
  99. package/dist/schema/accounts.js +29 -6
  100. package/dist/schema/accounts.js.map +1 -1
  101. package/dist/schema/{cms.d.ts → admin.d.ts} +3 -3
  102. package/dist/schema/admin.d.ts.map +1 -0
  103. package/dist/schema/{cms.js → admin.js} +26 -11
  104. package/dist/schema/admin.js.map +1 -0
  105. package/dist/schema/agents.d.ts +1 -1
  106. package/dist/schema/agents.d.ts.map +1 -1
  107. package/dist/schema/agents.js +39 -15
  108. package/dist/schema/agents.js.map +1 -1
  109. package/dist/schema/api-keys.d.ts +1 -1
  110. package/dist/schema/api-keys.d.ts.map +1 -1
  111. package/dist/schema/api-keys.js +10 -4
  112. package/dist/schema/api-keys.js.map +1 -1
  113. package/dist/schema/app-logs.d.ts +1 -1
  114. package/dist/schema/app-logs.js +2 -2
  115. package/dist/schema/app-logs.js.map +1 -1
  116. package/dist/schema/audit-log.d.ts +17 -0
  117. package/dist/schema/audit-log.d.ts.map +1 -1
  118. package/dist/schema/audit-log.js +2 -0
  119. package/dist/schema/audit-log.js.map +1 -1
  120. package/dist/schema/circuit-breaker.d.ts.map +1 -1
  121. package/dist/schema/circuit-breaker.js +4 -1
  122. package/dist/schema/circuit-breaker.js.map +1 -1
  123. package/dist/schema/code-provenance.d.ts.map +1 -1
  124. package/dist/schema/code-provenance.js +4 -1
  125. package/dist/schema/code-provenance.js.map +1 -1
  126. package/dist/schema/coordination.d.ts +2 -2
  127. package/dist/schema/coordination.d.ts.map +1 -1
  128. package/dist/schema/coordination.js +6 -3
  129. package/dist/schema/coordination.js.map +1 -1
  130. package/dist/schema/error-events.d.ts +2 -2
  131. package/dist/schema/error-events.js +5 -5
  132. package/dist/schema/error-events.js.map +1 -1
  133. package/dist/schema/index.d.ts +17 -0
  134. package/dist/schema/index.d.ts.map +1 -1
  135. package/dist/schema/index.js +44 -5
  136. package/dist/schema/index.js.map +1 -1
  137. package/dist/schema/jobs.d.ts +1 -1
  138. package/dist/schema/jobs.js +1 -1
  139. package/dist/schema/licenses.d.ts.map +1 -1
  140. package/dist/schema/licenses.js +19 -4
  141. package/dist/schema/licenses.js.map +1 -1
  142. package/dist/schema/marketplace.d.ts +1 -1
  143. package/dist/schema/marketplace.d.ts.map +1 -1
  144. package/dist/schema/marketplace.js +8 -5
  145. package/dist/schema/marketplace.js.map +1 -1
  146. package/dist/schema/node-ids.d.ts.map +1 -1
  147. package/dist/schema/node-ids.js +4 -1
  148. package/dist/schema/node-ids.js.map +1 -1
  149. package/dist/schema/oauth-accounts.d.ts +1 -1
  150. package/dist/schema/oauth-accounts.d.ts.map +1 -1
  151. package/dist/schema/oauth-accounts.js +5 -2
  152. package/dist/schema/oauth-accounts.js.map +1 -1
  153. package/dist/schema/pages.d.ts.map +1 -1
  154. package/dist/schema/pages.js +5 -2
  155. package/dist/schema/pages.js.map +1 -1
  156. package/dist/schema/products.d.ts.map +1 -1
  157. package/dist/schema/products.js +13 -4
  158. package/dist/schema/products.js.map +1 -1
  159. package/dist/schema/rag.d.ts +1 -1
  160. package/dist/schema/rag.d.ts.map +1 -1
  161. package/dist/schema/rag.js +12 -9
  162. package/dist/schema/rag.js.map +1 -1
  163. package/dist/schema/rate-limits.d.ts.map +1 -1
  164. package/dist/schema/rate-limits.js +8 -2
  165. package/dist/schema/rate-limits.js.map +1 -1
  166. package/dist/schema/rest.d.ts +3 -2
  167. package/dist/schema/rest.d.ts.map +1 -1
  168. package/dist/schema/rest.js +5 -4
  169. package/dist/schema/rest.js.map +1 -1
  170. package/dist/schema/revealcoin.js +1 -1
  171. package/dist/schema/revealcoin.js.map +1 -1
  172. package/dist/schema/revmarket.d.ts +971 -0
  173. package/dist/schema/revmarket.d.ts.map +1 -0
  174. package/dist/schema/revmarket.js +166 -0
  175. package/dist/schema/revmarket.js.map +1 -0
  176. package/dist/schema/sites.d.ts.map +1 -1
  177. package/dist/schema/sites.js +5 -2
  178. package/dist/schema/sites.js.map +1 -1
  179. package/dist/schema/tenants.d.ts.map +1 -1
  180. package/dist/schema/tenants.js +4 -1
  181. package/dist/schema/tenants.js.map +1 -1
  182. package/dist/schema/tickets.d.ts.map +1 -1
  183. package/dist/schema/tickets.js +20 -5
  184. package/dist/schema/tickets.js.map +1 -1
  185. package/dist/schema/users.d.ts.map +1 -1
  186. package/dist/schema/users.js +11 -5
  187. package/dist/schema/users.js.map +1 -1
  188. package/dist/schema/webhook-events.js +1 -1
  189. package/dist/schema/webhook-events.js.map +1 -1
  190. package/dist/schema/yjs-documents.d.ts.map +1 -1
  191. package/dist/schema/yjs-documents.js +4 -1
  192. package/dist/schema/yjs-documents.js.map +1 -1
  193. package/dist/scripts/cleanup-expired.d.ts +3 -3
  194. package/dist/scripts/cleanup-expired.js +4 -4
  195. package/dist/scripts/cleanup-expired.js.map +1 -1
  196. package/dist/types/database.d.ts +81 -1
  197. package/dist/types/database.d.ts.map +1 -1
  198. package/dist/types/database.js +18 -0
  199. package/dist/types/database.js.map +1 -1
  200. package/dist/types/discover.js +1 -1
  201. package/dist/types/discover.js.map +1 -1
  202. package/dist/validation/cross-db.d.ts +1 -1
  203. package/dist/validation/cross-db.js +3 -3
  204. package/dist/validation/cross-db.js.map +1 -1
  205. package/package.json +42 -7
  206. package/dist/schema/cms.d.ts.map +0 -1
  207. package/dist/schema/cms.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"conversations.js","sourceRoot":"","sources":["../../src/queries/conversations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conversations.js","sourceRoot":"","sources":["../../src/queries/conversations.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,14 @@
1
1
  /**
2
2
  * Media database queries
3
3
  */
4
- import type { DatabaseClient } from '../client/types.js';
5
- import { media } from '../schema/cms.js';
6
- export declare function getAllMedia(db: DatabaseClient, options?: {
4
+ import type { Database } from '../client/index.js';
5
+ import { media } from '../schema/admin.js';
6
+ /** Count media matching filters (for pagination) */
7
+ export declare function countMedia(db: Database, options?: {
8
+ mimeType?: string;
9
+ uploadedBy?: string;
10
+ }): Promise<number>;
11
+ export declare function getAllMedia(db: Database, options?: {
7
12
  mimeType?: string;
8
13
  uploadedBy?: string;
9
14
  limit?: number;
@@ -26,7 +31,7 @@ export declare function getAllMedia(db: DatabaseClient, options?: {
26
31
  updatedAt: Date;
27
32
  deletedAt: Date | null;
28
33
  }[]>;
29
- export declare function getMediaById(db: DatabaseClient, id: string): Promise<{
34
+ export declare function getMediaById(db: Database, id: string): Promise<{
30
35
  id: string;
31
36
  schemaVersion: string;
32
37
  version: number;
@@ -44,7 +49,7 @@ export declare function getMediaById(db: DatabaseClient, id: string): Promise<{
44
49
  updatedAt: Date;
45
50
  deletedAt: Date | null;
46
51
  } | null>;
47
- export declare function createMedia(db: DatabaseClient, data: typeof media.$inferInsert): Promise<{
52
+ export declare function createMedia(db: Database, data: typeof media.$inferInsert): Promise<{
48
53
  id: string;
49
54
  schemaVersion: string;
50
55
  createdAt: Date;
@@ -62,7 +67,7 @@ export declare function createMedia(db: DatabaseClient, data: typeof media.$infe
62
67
  sizes: unknown;
63
68
  uploadedBy: string | null;
64
69
  } | null>;
65
- export declare function updateMedia(db: DatabaseClient, id: string, data: Partial<typeof media.$inferInsert>): Promise<{
70
+ export declare function updateMedia(db: Database, id: string, data: Partial<typeof media.$inferInsert>): Promise<{
66
71
  id: string;
67
72
  schemaVersion: string;
68
73
  version: number;
@@ -80,5 +85,5 @@ export declare function updateMedia(db: DatabaseClient, id: string, data: Partia
80
85
  updatedAt: Date;
81
86
  deletedAt: Date | null;
82
87
  } | null>;
83
- export declare function deleteMedia(db: DatabaseClient, id: string): Promise<void>;
88
+ export declare function deleteMedia(db: Database, id: string): Promise<void>;
84
89
  //# sourceMappingURL=media.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../../src/queries/media.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,wBAAsB,WAAW,CAC/B,EAAE,EAAE,cAAc,EAClB,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO;;;;;;;;;;;;;;;;;KAe1F;AAED,wBAAsB,YAAY,CAAC,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM;;;;;;;;;;;;;;;;;UAOhE;AAED,wBAAsB,WAAW,CAAC,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,KAAK,CAAC,YAAY;;;;;;;;;;;;;;;;;UAGpF;AAED,wBAAsB,WAAW,CAC/B,EAAE,EAAE,cAAc,EAClB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,OAAO,CAAC,OAAO,KAAK,CAAC,YAAY,CAAC;;;;;;;;;;;;;;;;;UAQzC;AAED,wBAAsB,WAAW,CAAC,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,iBAK/D"}
1
+ {"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../../src/queries/media.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,oDAAoD;AACpD,wBAAsB,UAAU,CAC9B,EAAE,EAAE,QAAQ,EACZ,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAO,mBAazD;AAED,wBAAsB,WAAW,CAC/B,EAAE,EAAE,QAAQ,EACZ,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO;;;;;;;;;;;;;;;;;KAe1F;AAED,wBAAsB,YAAY,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM;;;;;;;;;;;;;;;;;UAO1D;AAED,wBAAsB,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,KAAK,CAAC,YAAY;;;;;;;;;;;;;;;;;UAG9E;AAED,wBAAsB,WAAW,CAC/B,EAAE,EAAE,QAAQ,EACZ,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,OAAO,CAAC,OAAO,KAAK,CAAC,YAAY,CAAC;;;;;;;;;;;;;;;;;UAQzC;AAED,wBAAsB,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,iBAKzD"}
@@ -1,8 +1,22 @@
1
1
  /**
2
2
  * Media database queries
3
3
  */
4
- import { and, desc, eq, isNull, like } from 'drizzle-orm';
5
- import { media } from '../schema/cms.js';
4
+ import { and, count, desc, eq, isNull, like } from 'drizzle-orm';
5
+ import { media } from '../schema/admin.js';
6
+ /** Count media matching filters (for pagination) */
7
+ export async function countMedia(db, options = {}) {
8
+ const { mimeType, uploadedBy } = options;
9
+ const conditions = [
10
+ isNull(media.deletedAt),
11
+ ...(mimeType ? [like(media.mimeType, `${mimeType}%`)] : []),
12
+ ...(uploadedBy ? [eq(media.uploadedBy, uploadedBy)] : []),
13
+ ];
14
+ const result = await db
15
+ .select({ total: count() })
16
+ .from(media)
17
+ .where(and(...conditions));
18
+ return result[0]?.total ?? 0;
19
+ }
6
20
  export async function getAllMedia(db, options = {}) {
7
21
  const { mimeType, uploadedBy, limit = 20, offset = 0 } = options;
8
22
  const conditions = [
@@ -1 +1 @@
1
- {"version":3,"file":"media.js","sourceRoot":"","sources":["../../src/queries/media.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAE1D,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,EAAkB,EAClB,UAAuF,EAAE;IAEzF,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,GAAG,EAAE,EAAE,MAAM,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC;IACjE,MAAM,UAAU,GAAG;QACjB,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;QACvB,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1D,CAAC;IACF,OAAO,EAAE;SACN,MAAM,EAAE;SACR,IAAI,CAAC,KAAK,CAAC;SACX,KAAK,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;SACzB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;SAC9B,KAAK,CAAC,KAAK,CAAC;SACZ,MAAM,CAAC,MAAM,CAAC,CAAC;AACpB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,EAAkB,EAAE,EAAU;IAC/D,MAAM,MAAM,GAAG,MAAM,EAAE;SACpB,MAAM,EAAE;SACR,IAAI,CAAC,KAAK,CAAC;SACX,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;SACrD,KAAK,CAAC,CAAC,CAAC,CAAC;IACZ,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AAC3B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,EAAkB,EAAE,IAA+B;IACnF,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;IAC/D,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AAC3B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,EAAkB,EAClB,EAAU,EACV,IAAwC;IAExC,MAAM,MAAM,GAAG,MAAM,EAAE;SACpB,MAAM,CAAC,KAAK,CAAC;SACb,GAAG,CAAC,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC;SACvC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;SACvB,SAAS,EAAE,CAAC;IACf,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AAC3B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,EAAkB,EAAE,EAAU;IAC9D,MAAM,EAAE;SACL,MAAM,CAAC,KAAK,CAAC;SACb,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC;SACrD,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAC3D,CAAC"}
1
+ {"version":3,"file":"media.js","sourceRoot":"","sources":["../../src/queries/media.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEjE,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,oDAAoD;AACpD,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,EAAY,EACZ,UAAsD,EAAE;IAExD,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IACzC,MAAM,UAAU,GAAG;QACjB,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;QACvB,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1D,CAAC;IACF,MAAM,MAAM,GAAG,MAAM,EAAE;SACpB,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC;SAC1B,IAAI,CAAC,KAAK,CAAC;SACX,KAAK,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;IAC7B,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,EAAY,EACZ,UAAuF,EAAE;IAEzF,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,GAAG,EAAE,EAAE,MAAM,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC;IACjE,MAAM,UAAU,GAAG;QACjB,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;QACvB,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1D,CAAC;IACF,OAAO,EAAE;SACN,MAAM,EAAE;SACR,IAAI,CAAC,KAAK,CAAC;SACX,KAAK,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;SACzB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;SAC9B,KAAK,CAAC,KAAK,CAAC;SACZ,MAAM,CAAC,MAAM,CAAC,CAAC;AACpB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,EAAY,EAAE,EAAU;IACzD,MAAM,MAAM,GAAG,MAAM,EAAE;SACpB,MAAM,EAAE;SACR,IAAI,CAAC,KAAK,CAAC;SACX,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;SACrD,KAAK,CAAC,CAAC,CAAC,CAAC;IACZ,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AAC3B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,EAAY,EAAE,IAA+B;IAC7E,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;IAC/D,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AAC3B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,EAAY,EACZ,EAAU,EACV,IAAwC;IAExC,MAAM,MAAM,GAAG,MAAM,EAAE;SACpB,MAAM,CAAC,KAAK,CAAC;SACb,GAAG,CAAC,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC;SACvC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;SACvB,SAAS,EAAE,CAAC;IACf,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AAC3B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,EAAY,EAAE,EAAU;IACxD,MAAM,EAAE;SACL,MAAM,CAAC,KAAK,CAAC;SACb,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC;SACrD,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAC3D,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * OAuth account database queries
3
+ */
4
+ import type { Database } from '../client/index.js';
5
+ /** Look up an OAuth account by provider + provider user ID (active only) */
6
+ export declare function getOAuthAccountByProviderUser(db: Database, provider: string, providerUserId: string): Promise<{
7
+ userId: string;
8
+ } | null>;
9
+ //# sourceMappingURL=oauth-accounts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth-accounts.d.ts","sourceRoot":"","sources":["../../src/queries/oauth-accounts.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAGnD,4EAA4E;AAC5E,wBAAsB,6BAA6B,CACjD,EAAE,EAAE,QAAQ,EACZ,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM;;UAcvB"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * OAuth account database queries
3
+ */
4
+ import { and, eq, isNull } from 'drizzle-orm';
5
+ import { oauthAccounts } from '../schema/oauth-accounts.js';
6
+ /** Look up an OAuth account by provider + provider user ID (active only) */
7
+ export async function getOAuthAccountByProviderUser(db, provider, providerUserId) {
8
+ const result = await db
9
+ .select({ userId: oauthAccounts.userId })
10
+ .from(oauthAccounts)
11
+ .where(and(eq(oauthAccounts.provider, provider), eq(oauthAccounts.providerUserId, providerUserId), isNull(oauthAccounts.deletedAt)))
12
+ .limit(1);
13
+ return result[0] ?? null;
14
+ }
15
+ //# sourceMappingURL=oauth-accounts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth-accounts.js","sourceRoot":"","sources":["../../src/queries/oauth-accounts.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,4EAA4E;AAC5E,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,EAAY,EACZ,QAAgB,EAChB,cAAsB;IAEtB,MAAM,MAAM,GAAG,MAAM,EAAE;SACpB,MAAM,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,MAAM,EAAE,CAAC;SACxC,IAAI,CAAC,aAAa,CAAC;SACnB,KAAK,CACJ,GAAG,CACD,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,EACpC,EAAE,CAAC,aAAa,CAAC,cAAc,EAAE,cAAc,CAAC,EAChD,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,CAChC,CACF;SACA,KAAK,CAAC,CAAC,CAAC,CAAC;IACZ,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AAC3B,CAAC"}
@@ -1,9 +1,14 @@
1
1
  /**
2
2
  * Order database queries
3
3
  */
4
- import type { DatabaseClient } from '../client/types.js';
4
+ import type { Database } from '../client/index.js';
5
5
  import { orders } from '../schema/products.js';
6
- export declare function getAllOrders(db: DatabaseClient, options?: {
6
+ /** Count orders matching filters (for pagination) */
7
+ export declare function countOrders(db: Database, options?: {
8
+ customerId?: string;
9
+ status?: string;
10
+ }): Promise<number>;
11
+ export declare function getAllOrders(db: Database, options?: {
7
12
  customerId?: string;
8
13
  status?: string;
9
14
  limit?: number;
@@ -28,7 +33,7 @@ export declare function getAllOrders(db: DatabaseClient, options?: {
28
33
  updatedAt: Date;
29
34
  deletedAt: Date | null;
30
35
  }[]>;
31
- export declare function getOrderById(db: DatabaseClient, id: string): Promise<{
36
+ export declare function getOrderById(db: Database, id: string): Promise<{
32
37
  id: string;
33
38
  customerId: string;
34
39
  status: string;
@@ -48,7 +53,7 @@ export declare function getOrderById(db: DatabaseClient, id: string): Promise<{
48
53
  updatedAt: Date;
49
54
  deletedAt: Date | null;
50
55
  } | null>;
51
- export declare function createOrder(db: DatabaseClient, data: typeof orders.$inferInsert): Promise<{
56
+ export declare function createOrder(db: Database, data: typeof orders.$inferInsert): Promise<{
52
57
  id: string;
53
58
  status: string;
54
59
  createdAt: Date;
@@ -68,7 +73,7 @@ export declare function createOrder(db: DatabaseClient, data: typeof orders.$inf
68
73
  }[];
69
74
  shippingAddress: unknown;
70
75
  } | null>;
71
- export declare function updateOrder(db: DatabaseClient, id: string, data: Partial<typeof orders.$inferInsert>): Promise<{
76
+ export declare function updateOrder(db: Database, id: string, data: Partial<typeof orders.$inferInsert>): Promise<{
72
77
  id: string;
73
78
  customerId: string;
74
79
  status: string;
@@ -1 +1 @@
1
- {"version":3,"file":"orders.d.ts","sourceRoot":"","sources":["../../src/queries/orders.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE/C,wBAAsB,YAAY,CAChC,EAAE,EAAE,cAAc,EAClB,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO;;;;;;;;;;;;;;;;;;;KAcxF;AAED,wBAAsB,YAAY,CAAC,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM;;;;;;;;;;;;;;;;;;;UAGhE;AAED,wBAAsB,WAAW,CAAC,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,MAAM,CAAC,YAAY;;;;;;;;;;;;;;;;;;;UAGrF;AAED,wBAAsB,WAAW,CAC/B,EAAE,EAAE,cAAc,EAClB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,OAAO,CAAC,OAAO,MAAM,CAAC,YAAY,CAAC;;;;;;;;;;;;;;;;;;;UAQ1C"}
1
+ {"version":3,"file":"orders.d.ts","sourceRoot":"","sources":["../../src/queries/orders.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE/C,qDAAqD;AACrD,wBAAsB,WAAW,CAC/B,EAAE,EAAE,QAAQ,EACZ,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,mBAYvD;AAED,wBAAsB,YAAY,CAChC,EAAE,EAAE,QAAQ,EACZ,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO;;;;;;;;;;;;;;;;;;;KAcxF;AAED,wBAAsB,YAAY,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM;;;;;;;;;;;;;;;;;;;UAG1D;AAED,wBAAsB,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,MAAM,CAAC,YAAY;;;;;;;;;;;;;;;;;;;UAG/E;AAED,wBAAsB,WAAW,CAC/B,EAAE,EAAE,QAAQ,EACZ,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,OAAO,CAAC,OAAO,MAAM,CAAC,YAAY,CAAC;;;;;;;;;;;;;;;;;;;UAQ1C"}
@@ -1,8 +1,21 @@
1
1
  /**
2
2
  * Order database queries
3
3
  */
4
- import { and, desc, eq } from 'drizzle-orm';
4
+ import { and, count, desc, eq } from 'drizzle-orm';
5
5
  import { orders } from '../schema/products.js';
6
+ /** Count orders matching filters (for pagination) */
7
+ export async function countOrders(db, options = {}) {
8
+ const { customerId, status } = options;
9
+ const conditions = [
10
+ ...(customerId ? [eq(orders.customerId, customerId)] : []),
11
+ ...(status ? [eq(orders.status, status)] : []),
12
+ ];
13
+ const result = await db
14
+ .select({ total: count() })
15
+ .from(orders)
16
+ .where(conditions.length > 0 ? and(...conditions) : undefined);
17
+ return result[0]?.total ?? 0;
18
+ }
6
19
  export async function getAllOrders(db, options = {}) {
7
20
  const { customerId, status, limit = 20, offset = 0 } = options;
8
21
  const conditions = [
@@ -1 +1 @@
1
- {"version":3,"file":"orders.js","sourceRoot":"","sources":["../../src/queries/orders.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE/C,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,EAAkB,EAClB,UAAqF,EAAE;IAEvF,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,GAAG,EAAE,EAAE,MAAM,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC;IAC/D,MAAM,UAAU,GAAG;QACjB,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAC/C,CAAC;IACF,OAAO,EAAE;SACN,MAAM,EAAE;SACR,IAAI,CAAC,MAAM,CAAC;SACZ,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;SAC7D,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;SAC/B,KAAK,CAAC,KAAK,CAAC;SACZ,MAAM,CAAC,MAAM,CAAC,CAAC;AACpB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,EAAkB,EAAE,EAAU;IAC/D,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAChF,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AAC3B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,EAAkB,EAAE,IAAgC;IACpF,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;IAChE,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AAC3B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,EAAkB,EAClB,EAAU,EACV,IAAyC;IAEzC,MAAM,MAAM,GAAG,MAAM,EAAE;SACpB,MAAM,CAAC,MAAM,CAAC;SACd,GAAG,CAAC,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC;SACvC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;SACxB,SAAS,EAAE,CAAC;IACf,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"orders.js","sourceRoot":"","sources":["../../src/queries/orders.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  /**
2
2
  * Page database queries
3
3
  */
4
- import type { DatabaseClient } from '../client/types.js';
4
+ import type { Database } from '../client/index.js';
5
5
  import { pages } from '../schema/pages.js';
6
- export declare function getPagesBySite(db: DatabaseClient, siteId: string, options?: {
6
+ export declare function getPagesBySite(db: Database, siteId: string, options?: {
7
7
  status?: string;
8
8
  }): Promise<{
9
9
  id: string;
@@ -27,7 +27,7 @@ export declare function getPagesBySite(db: DatabaseClient, siteId: string, optio
27
27
  publishedAt: Date | null;
28
28
  deletedAt: Date | null;
29
29
  }[]>;
30
- export declare function getPageById(db: DatabaseClient, id: string): Promise<{
30
+ export declare function getPageById(db: Database, id: string): Promise<{
31
31
  id: string;
32
32
  schemaVersion: string;
33
33
  version: number;
@@ -49,7 +49,7 @@ export declare function getPageById(db: DatabaseClient, id: string): Promise<{
49
49
  publishedAt: Date | null;
50
50
  deletedAt: Date | null;
51
51
  } | null>;
52
- export declare function getPageByPath(db: DatabaseClient, siteId: string, path: string): Promise<{
52
+ export declare function getPageByPath(db: Database, siteId: string, path: string): Promise<{
53
53
  id: string;
54
54
  schemaVersion: string;
55
55
  version: number;
@@ -71,7 +71,7 @@ export declare function getPageByPath(db: DatabaseClient, siteId: string, path:
71
71
  publishedAt: Date | null;
72
72
  deletedAt: Date | null;
73
73
  } | null>;
74
- export declare function createPage(db: DatabaseClient, data: typeof pages.$inferInsert): Promise<{
74
+ export declare function createPage(db: Database, data: typeof pages.$inferInsert): Promise<{
75
75
  id: string;
76
76
  schemaVersion: string;
77
77
  status: string;
@@ -80,9 +80,9 @@ export declare function createPage(db: DatabaseClient, data: typeof pages.$infer
80
80
  deletedAt: Date | null;
81
81
  slug: string;
82
82
  version: number;
83
+ title: string;
83
84
  publishedAt: Date | null;
84
85
  siteId: string;
85
- title: string;
86
86
  parentId: string | null;
87
87
  templateId: string | null;
88
88
  path: string;
@@ -93,7 +93,7 @@ export declare function createPage(db: DatabaseClient, data: typeof pages.$infer
93
93
  lock: unknown;
94
94
  scheduledAt: Date | null;
95
95
  } | null>;
96
- export declare function updatePage(db: DatabaseClient, id: string, data: Partial<typeof pages.$inferInsert>): Promise<{
96
+ export declare function updatePage(db: Database, id: string, data: Partial<typeof pages.$inferInsert>): Promise<{
97
97
  id: string;
98
98
  schemaVersion: string;
99
99
  version: number;
@@ -115,5 +115,5 @@ export declare function updatePage(db: DatabaseClient, id: string, data: Partial
115
115
  publishedAt: Date | null;
116
116
  deletedAt: Date | null;
117
117
  } | null>;
118
- export declare function deletePage(db: DatabaseClient, id: string): Promise<void>;
118
+ export declare function deletePage(db: Database, id: string): Promise<void>;
119
119
  //# sourceMappingURL=pages.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pages.d.ts","sourceRoot":"","sources":["../../src/queries/pages.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,wBAAsB,cAAc,CAClC,EAAE,EAAE,cAAc,EAClB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO;;;;;;;;;;;;;;;;;;;;;KAalC;AAED,wBAAsB,WAAW,CAAC,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;UAO/D;AAED,wBAAsB,aAAa,CAAC,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;UAOnF;AAED,wBAAsB,UAAU,CAAC,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,KAAK,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;;UAGnF;AAED,wBAAsB,UAAU,CAC9B,EAAE,EAAE,cAAc,EAClB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,OAAO,CAAC,OAAO,KAAK,CAAC,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;UAQzC;AAED,wBAAsB,UAAU,CAAC,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,iBAO9D"}
1
+ {"version":3,"file":"pages.d.ts","sourceRoot":"","sources":["../../src/queries/pages.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,wBAAsB,cAAc,CAClC,EAAE,EAAE,QAAQ,EACZ,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO;;;;;;;;;;;;;;;;;;;;;KAalC;AAED,wBAAsB,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;UAOzD;AAED,wBAAsB,aAAa,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;UAO7E;AAED,wBAAsB,UAAU,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,KAAK,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;;UAG7E;AAED,wBAAsB,UAAU,CAC9B,EAAE,EAAE,QAAQ,EACZ,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,OAAO,CAAC,OAAO,KAAK,CAAC,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;UAQzC;AAED,wBAAsB,UAAU,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,iBAOxD"}
@@ -1 +1 @@
1
- {"version":3,"file":"pages.js","sourceRoot":"","sources":["../../src/queries/pages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pages.js","sourceRoot":"","sources":["../../src/queries/pages.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Passkey database queries
3
+ */
4
+ import type { Database } from '../client/index.js';
5
+ /** Look up a passkey by its WebAuthn credential ID */
6
+ export declare function getPasskeyByCredentialId(db: Database, credentialId: string): Promise<{
7
+ id: string;
8
+ userId: string;
9
+ credentialId: string;
10
+ publicKey: Buffer<ArrayBufferLike>;
11
+ counter: number;
12
+ transports: string[] | null;
13
+ aaguid: string | null;
14
+ deviceName: string | null;
15
+ backedUp: boolean;
16
+ createdAt: Date;
17
+ lastUsedAt: Date | null;
18
+ } | null>;
19
+ /** Update the signature counter after a successful authentication */
20
+ export declare function updatePasskeyCounter(db: Database, id: string, counter: number): Promise<void>;
21
+ //# sourceMappingURL=passkeys.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"passkeys.d.ts","sourceRoot":"","sources":["../../src/queries/passkeys.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAGnD,sDAAsD;AACtD,wBAAsB,wBAAwB,CAAC,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM;;;;;;;;;;;;UAOhF;AAED,qEAAqE;AACrE,wBAAsB,oBAAoB,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,iBAEnF"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Passkey database queries
3
+ */
4
+ import { eq } from 'drizzle-orm';
5
+ import { passkeys } from '../schema/passkeys.js';
6
+ /** Look up a passkey by its WebAuthn credential ID */
7
+ export async function getPasskeyByCredentialId(db, credentialId) {
8
+ const result = await db
9
+ .select()
10
+ .from(passkeys)
11
+ .where(eq(passkeys.credentialId, credentialId))
12
+ .limit(1);
13
+ return result[0] ?? null;
14
+ }
15
+ /** Update the signature counter after a successful authentication */
16
+ export async function updatePasskeyCounter(db, id, counter) {
17
+ await db.update(passkeys).set({ counter, lastUsedAt: new Date() }).where(eq(passkeys.id, id));
18
+ }
19
+ //# sourceMappingURL=passkeys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"passkeys.js","sourceRoot":"","sources":["../../src/queries/passkeys.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAEjC,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,sDAAsD;AACtD,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,EAAY,EAAE,YAAoB;IAC/E,MAAM,MAAM,GAAG,MAAM,EAAE;SACpB,MAAM,EAAE;SACR,IAAI,CAAC,QAAQ,CAAC;SACd,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;SAC9C,KAAK,CAAC,CAAC,CAAC,CAAC;IACZ,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AAC3B,CAAC;AAED,qEAAqE;AACrE,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,EAAY,EAAE,EAAU,EAAE,OAAe;IAClF,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;AAChG,CAAC"}
@@ -1,9 +1,14 @@
1
1
  /**
2
2
  * Post database queries
3
3
  */
4
- import type { DatabaseClient } from '../client/types.js';
5
- import { posts } from '../schema/cms.js';
6
- export declare function getAllPosts(db: DatabaseClient, options?: {
4
+ import type { Database } from '../client/index.js';
5
+ import { posts } from '../schema/admin.js';
6
+ /** Count posts matching filters (for pagination) */
7
+ export declare function countPosts(db: Database, options?: {
8
+ status?: string;
9
+ authorId?: string;
10
+ }): Promise<number>;
11
+ export declare function getAllPosts(db: Database, options?: {
7
12
  status?: string;
8
13
  authorId?: string;
9
14
  limit?: number;
@@ -28,7 +33,7 @@ export declare function getAllPosts(db: DatabaseClient, options?: {
28
33
  deletedAt: Date | null;
29
34
  }[]>;
30
35
  /** List posts with author data joined (prevents N+1 when listing posts) */
31
- export declare function getPostsWithAuthor(db: DatabaseClient, options?: {
36
+ export declare function getPostsWithAuthor(db: Database, options?: {
32
37
  status?: string;
33
38
  limit?: number;
34
39
  offset?: number;
@@ -58,7 +63,7 @@ export declare function getPostsWithAuthor(db: DatabaseClient, options?: {
58
63
  email: string | null;
59
64
  } | null;
60
65
  }[]>;
61
- export declare function getPostById(db: DatabaseClient, id: string): Promise<{
66
+ export declare function getPostById(db: Database, id: string): Promise<{
62
67
  id: string;
63
68
  schemaVersion: string;
64
69
  version: number;
@@ -77,7 +82,7 @@ export declare function getPostById(db: DatabaseClient, id: string): Promise<{
77
82
  publishedAt: Date | null;
78
83
  deletedAt: Date | null;
79
84
  } | null>;
80
- export declare function getPostBySlug(db: DatabaseClient, slug: string): Promise<{
85
+ export declare function getPostBySlug(db: Database, slug: string): Promise<{
81
86
  id: string;
82
87
  schemaVersion: string;
83
88
  version: number;
@@ -96,7 +101,7 @@ export declare function getPostBySlug(db: DatabaseClient, slug: string): Promise
96
101
  publishedAt: Date | null;
97
102
  deletedAt: Date | null;
98
103
  } | null>;
99
- export declare function createPost(db: DatabaseClient, data: typeof posts.$inferInsert): Promise<{
104
+ export declare function createPost(db: Database, data: typeof posts.$inferInsert): Promise<{
100
105
  id: string;
101
106
  schemaVersion: string;
102
107
  status: string;
@@ -105,17 +110,17 @@ export declare function createPost(db: DatabaseClient, data: typeof posts.$infer
105
110
  deletedAt: Date | null;
106
111
  slug: string;
107
112
  version: number;
108
- publishedAt: Date | null;
109
- content: unknown;
110
113
  title: string;
111
114
  excerpt: string | null;
115
+ content: unknown;
112
116
  featuredImageId: string | null;
113
117
  authorId: string | null;
114
118
  published: boolean | null;
115
119
  meta: unknown;
116
120
  categories: string[] | null;
121
+ publishedAt: Date | null;
117
122
  } | null>;
118
- export declare function updatePost(db: DatabaseClient, id: string, data: Partial<typeof posts.$inferInsert>): Promise<{
123
+ export declare function updatePost(db: Database, id: string, data: Partial<typeof posts.$inferInsert>): Promise<{
119
124
  id: string;
120
125
  schemaVersion: string;
121
126
  version: number;
@@ -134,5 +139,5 @@ export declare function updatePost(db: DatabaseClient, id: string, data: Partial
134
139
  publishedAt: Date | null;
135
140
  deletedAt: Date | null;
136
141
  } | null>;
137
- export declare function deletePost(db: DatabaseClient, id: string): Promise<void>;
142
+ export declare function deletePost(db: Database, id: string): Promise<void>;
138
143
  //# sourceMappingURL=posts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"posts.d.ts","sourceRoot":"","sources":["../../src/queries/posts.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAGzC,wBAAsB,WAAW,CAC/B,EAAE,EAAE,cAAc,EAClB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO;;;;;;;;;;;;;;;;;;KAetF;AAED,2EAA2E;AAC3E,wBAAsB,kBAAkB,CACtC,EAAE,EAAE,cAAc,EAClB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO;;;;;;;;;;;;;;;;;;;;;;;;;KAmBnE;AAED,wBAAsB,WAAW,CAAC,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM;;;;;;;;;;;;;;;;;;UAO/D;AAED,wBAAsB,aAAa,CAAC,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM;;;;;;;;;;;;;;;;;;UAOnE;AAED,wBAAsB,UAAU,CAAC,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,KAAK,CAAC,YAAY;;;;;;;;;;;;;;;;;;UAGnF;AAED,wBAAsB,UAAU,CAC9B,EAAE,EAAE,cAAc,EAClB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,OAAO,CAAC,OAAO,KAAK,CAAC,YAAY,CAAC;;;;;;;;;;;;;;;;;;UAQzC;AAED,wBAAsB,UAAU,CAAC,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,iBAK9D"}
1
+ {"version":3,"file":"posts.d.ts","sourceRoot":"","sources":["../../src/queries/posts.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAG3C,oDAAoD;AACpD,wBAAsB,UAAU,CAC9B,EAAE,EAAE,QAAQ,EACZ,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,mBAarD;AAED,wBAAsB,WAAW,CAC/B,EAAE,EAAE,QAAQ,EACZ,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO;;;;;;;;;;;;;;;;;;KAetF;AAED,2EAA2E;AAC3E,wBAAsB,kBAAkB,CACtC,EAAE,EAAE,QAAQ,EACZ,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO;;;;;;;;;;;;;;;;;;;;;;;;;KAmBnE;AAED,wBAAsB,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM;;;;;;;;;;;;;;;;;;UAOzD;AAED,wBAAsB,aAAa,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM;;;;;;;;;;;;;;;;;;UAO7D;AAED,wBAAsB,UAAU,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,KAAK,CAAC,YAAY;;;;;;;;;;;;;;;;;;UAG7E;AAED,wBAAsB,UAAU,CAC9B,EAAE,EAAE,QAAQ,EACZ,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,OAAO,CAAC,OAAO,KAAK,CAAC,YAAY,CAAC;;;;;;;;;;;;;;;;;;UAQzC;AAED,wBAAsB,UAAU,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,iBAKxD"}
@@ -1,9 +1,23 @@
1
1
  /**
2
2
  * Post database queries
3
3
  */
4
- import { and, desc, eq, isNull } from 'drizzle-orm';
5
- import { posts } from '../schema/cms.js';
4
+ import { and, count, desc, eq, isNull } from 'drizzle-orm';
5
+ import { posts } from '../schema/admin.js';
6
6
  import { users } from '../schema/users.js';
7
+ /** Count posts matching filters (for pagination) */
8
+ export async function countPosts(db, options = {}) {
9
+ const { status, authorId } = options;
10
+ const conditions = [
11
+ isNull(posts.deletedAt),
12
+ ...(status ? [eq(posts.status, status)] : []),
13
+ ...(authorId ? [eq(posts.authorId, authorId)] : []),
14
+ ];
15
+ const result = await db
16
+ .select({ total: count() })
17
+ .from(posts)
18
+ .where(and(...conditions));
19
+ return result[0]?.total ?? 0;
20
+ }
7
21
  export async function getAllPosts(db, options = {}) {
8
22
  const { status, authorId, limit = 20, offset = 0 } = options;
9
23
  const conditions = [
@@ -1 +1 @@
1
- {"version":3,"file":"posts.js","sourceRoot":"","sources":["../../src/queries/posts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"posts.js","sourceRoot":"","sources":["../../src/queries/posts.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,14 @@
1
1
  /**
2
2
  * Product database queries
3
3
  */
4
- import type { DatabaseClient } from '../client/types.js';
4
+ import type { Database } from '../client/index.js';
5
5
  import { products } from '../schema/products.js';
6
- export declare function getAllProducts(db: DatabaseClient, options?: {
6
+ /** Count products matching filters (for pagination) */
7
+ export declare function countProducts(db: Database, options?: {
8
+ status?: string;
9
+ ownerId?: string;
10
+ }): Promise<number>;
11
+ export declare function getAllProducts(db: Database, options?: {
7
12
  status?: string;
8
13
  ownerId?: string;
9
14
  limit?: number;
@@ -26,7 +31,7 @@ export declare function getAllProducts(db: DatabaseClient, options?: {
26
31
  updatedAt: Date;
27
32
  deletedAt: Date | null;
28
33
  }[]>;
29
- export declare function getProductById(db: DatabaseClient, id: string): Promise<{
34
+ export declare function getProductById(db: Database, id: string): Promise<{
30
35
  id: string;
31
36
  title: string;
32
37
  slug: string;
@@ -44,7 +49,7 @@ export declare function getProductById(db: DatabaseClient, id: string): Promise<
44
49
  updatedAt: Date;
45
50
  deletedAt: Date | null;
46
51
  } | null>;
47
- export declare function getProductBySlug(db: DatabaseClient, slug: string): Promise<{
52
+ export declare function getProductBySlug(db: Database, slug: string): Promise<{
48
53
  id: string;
49
54
  title: string;
50
55
  slug: string;
@@ -62,7 +67,7 @@ export declare function getProductBySlug(db: DatabaseClient, slug: string): Prom
62
67
  updatedAt: Date;
63
68
  deletedAt: Date | null;
64
69
  } | null>;
65
- export declare function createProduct(db: DatabaseClient, data: typeof products.$inferInsert): Promise<{
70
+ export declare function createProduct(db: Database, data: typeof products.$inferInsert): Promise<{
66
71
  id: string;
67
72
  status: string;
68
73
  active: boolean;
@@ -73,14 +78,14 @@ export declare function createProduct(db: DatabaseClient, data: typeof products.
73
78
  slug: string;
74
79
  stripeProductId: string | null;
75
80
  stripePriceId: string | null;
81
+ title: string;
76
82
  ownerId: string | null;
77
83
  description: string | null;
78
- title: string;
79
84
  priceInCents: number | null;
80
85
  currency: string;
81
86
  images: string[] | null;
82
87
  } | null>;
83
- export declare function updateProduct(db: DatabaseClient, id: string, data: Partial<typeof products.$inferInsert>): Promise<{
88
+ export declare function updateProduct(db: Database, id: string, data: Partial<typeof products.$inferInsert>): Promise<{
84
89
  id: string;
85
90
  title: string;
86
91
  slug: string;
@@ -98,5 +103,5 @@ export declare function updateProduct(db: DatabaseClient, id: string, data: Part
98
103
  updatedAt: Date;
99
104
  deletedAt: Date | null;
100
105
  } | null>;
101
- export declare function deleteProduct(db: DatabaseClient, id: string): Promise<void>;
106
+ export declare function deleteProduct(db: Database, id: string): Promise<void>;
102
107
  //# sourceMappingURL=products.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"products.d.ts","sourceRoot":"","sources":["../../src/queries/products.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,wBAAsB,cAAc,CAClC,EAAE,EAAE,cAAc,EAClB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO;;;;;;;;;;;;;;;;;KAerF;AAED,wBAAsB,cAAc,CAAC,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM;;;;;;;;;;;;;;;;;UAOlE;AAED,wBAAsB,gBAAgB,CAAC,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM;;;;;;;;;;;;;;;;;UAOtE;AAED,wBAAsB,aAAa,CAAC,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,QAAQ,CAAC,YAAY;;;;;;;;;;;;;;;;;UAGzF;AAED,wBAAsB,aAAa,CACjC,EAAE,EAAE,cAAc,EAClB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,OAAO,CAAC,OAAO,QAAQ,CAAC,YAAY,CAAC;;;;;;;;;;;;;;;;;UAQ5C;AAED,wBAAsB,aAAa,CAAC,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,iBAKjE"}
1
+ {"version":3,"file":"products.d.ts","sourceRoot":"","sources":["../../src/queries/products.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,uDAAuD;AACvD,wBAAsB,aAAa,CACjC,EAAE,EAAE,QAAQ,EACZ,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAO,mBAapD;AAED,wBAAsB,cAAc,CAClC,EAAE,EAAE,QAAQ,EACZ,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO;;;;;;;;;;;;;;;;;KAerF;AAED,wBAAsB,cAAc,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM;;;;;;;;;;;;;;;;;UAO5D;AAED,wBAAsB,gBAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM;;;;;;;;;;;;;;;;;UAOhE;AAED,wBAAsB,aAAa,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,QAAQ,CAAC,YAAY;;;;;;;;;;;;;;;;;UAGnF;AAED,wBAAsB,aAAa,CACjC,EAAE,EAAE,QAAQ,EACZ,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,OAAO,CAAC,OAAO,QAAQ,CAAC,YAAY,CAAC;;;;;;;;;;;;;;;;;UAQ5C;AAED,wBAAsB,aAAa,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,iBAK3D"}
@@ -1,8 +1,22 @@
1
1
  /**
2
2
  * Product database queries
3
3
  */
4
- import { and, desc, eq, isNull } from 'drizzle-orm';
4
+ import { and, count, desc, eq, isNull } from 'drizzle-orm';
5
5
  import { products } from '../schema/products.js';
6
+ /** Count products matching filters (for pagination) */
7
+ export async function countProducts(db, options = {}) {
8
+ const { status, ownerId } = options;
9
+ const conditions = [
10
+ isNull(products.deletedAt),
11
+ ...(status ? [eq(products.status, status)] : []),
12
+ ...(ownerId ? [eq(products.ownerId, ownerId)] : []),
13
+ ];
14
+ const result = await db
15
+ .select({ total: count() })
16
+ .from(products)
17
+ .where(and(...conditions));
18
+ return result[0]?.total ?? 0;
19
+ }
6
20
  export async function getAllProducts(db, options = {}) {
7
21
  const { status, ownerId, limit = 20, offset = 0 } = options;
8
22
  const conditions = [