@revealui/db 0.3.4 → 0.3.6
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.
- package/dist/client/index.d.ts +10 -0
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +13 -0
- package/dist/client/index.js.map +1 -1
- package/dist/crypto.d.ts +1 -1
- package/dist/crypto.js +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/queries/boards.d.ts +16 -12
- package/dist/queries/boards.d.ts.map +1 -1
- package/dist/queries/boards.js +4 -0
- package/dist/queries/boards.js.map +1 -1
- package/dist/queries/code-provenance.d.ts +13 -13
- package/dist/queries/code-provenance.d.ts.map +1 -1
- package/dist/queries/code-provenance.js.map +1 -1
- package/dist/queries/conversations.d.ts.map +1 -1
- package/dist/queries/conversations.js +3 -0
- package/dist/queries/conversations.js.map +1 -1
- package/dist/queries/media.d.ts +6 -6
- package/dist/queries/media.d.ts.map +1 -1
- package/dist/queries/media.js.map +1 -1
- package/dist/queries/oauth-accounts.d.ts +9 -0
- package/dist/queries/oauth-accounts.d.ts.map +1 -0
- package/dist/queries/oauth-accounts.js +15 -0
- package/dist/queries/oauth-accounts.js.map +1 -0
- package/dist/queries/orders.d.ts +5 -5
- package/dist/queries/orders.d.ts.map +1 -1
- package/dist/queries/orders.js.map +1 -1
- package/dist/queries/pages.d.ts +7 -7
- package/dist/queries/pages.d.ts.map +1 -1
- package/dist/queries/pages.js.map +1 -1
- package/dist/queries/passkeys.d.ts +21 -0
- package/dist/queries/passkeys.d.ts.map +1 -0
- package/dist/queries/passkeys.js +19 -0
- package/dist/queries/passkeys.js.map +1 -0
- package/dist/queries/posts.d.ts +8 -8
- package/dist/queries/posts.d.ts.map +1 -1
- package/dist/queries/posts.js.map +1 -1
- package/dist/queries/products.d.ts +7 -7
- package/dist/queries/products.d.ts.map +1 -1
- package/dist/queries/products.js.map +1 -1
- package/dist/queries/sessions.d.ts +30 -0
- package/dist/queries/sessions.d.ts.map +1 -0
- package/dist/queries/sessions.js +37 -0
- package/dist/queries/sessions.js.map +1 -0
- package/dist/queries/sites.d.ts +11 -11
- package/dist/queries/sites.d.ts.map +1 -1
- package/dist/queries/sites.js.map +1 -1
- package/dist/queries/ticket-comments.d.ts +8 -8
- package/dist/queries/ticket-comments.d.ts.map +1 -1
- package/dist/queries/ticket-comments.js +7 -0
- package/dist/queries/ticket-comments.js.map +1 -1
- package/dist/queries/ticket-labels.d.ts +9 -9
- package/dist/queries/ticket-labels.d.ts.map +1 -1
- package/dist/queries/ticket-labels.js.map +1 -1
- package/dist/queries/tickets.d.ts +12 -12
- package/dist/queries/tickets.d.ts.map +1 -1
- package/dist/queries/tickets.js.map +1 -1
- package/dist/queries/user-api-keys.d.ts +28 -0
- package/dist/queries/user-api-keys.d.ts.map +1 -0
- package/dist/queries/user-api-keys.js +49 -0
- package/dist/queries/user-api-keys.js.map +1 -0
- package/dist/queries/users.d.ts +52 -10
- package/dist/queries/users.d.ts.map +1 -1
- package/dist/queries/users.js +20 -1
- package/dist/queries/users.js.map +1 -1
- package/dist/saga/crdt-resolver.d.ts +75 -0
- package/dist/saga/crdt-resolver.d.ts.map +1 -0
- package/dist/saga/crdt-resolver.js +168 -0
- package/dist/saga/crdt-resolver.js.map +1 -0
- package/dist/saga/idempotent-operation.d.ts +52 -0
- package/dist/saga/idempotent-operation.d.ts.map +1 -0
- package/dist/saga/idempotent-operation.js +78 -0
- package/dist/saga/idempotent-operation.js.map +1 -0
- package/dist/saga/index.d.ts +29 -0
- package/dist/saga/index.d.ts.map +1 -0
- package/dist/saga/index.js +30 -0
- package/dist/saga/index.js.map +1 -0
- package/dist/saga/neon-saga.d.ts +50 -0
- package/dist/saga/neon-saga.d.ts.map +1 -0
- package/dist/saga/neon-saga.js +234 -0
- package/dist/saga/neon-saga.js.map +1 -0
- package/dist/saga/recovery.d.ts +50 -0
- package/dist/saga/recovery.d.ts.map +1 -0
- package/dist/saga/recovery.js +92 -0
- package/dist/saga/recovery.js.map +1 -0
- package/dist/saga/resilient-step.d.ts +38 -0
- package/dist/saga/resilient-step.d.ts.map +1 -0
- package/dist/saga/resilient-step.js +75 -0
- package/dist/saga/resilient-step.js.map +1 -0
- package/dist/saga/types.d.ts +94 -0
- package/dist/saga/types.d.ts.map +1 -0
- package/dist/saga/types.js +9 -0
- package/dist/saga/types.js.map +1 -0
- package/dist/schema/accounts.d.ts.map +1 -1
- package/dist/schema/accounts.js +9 -1
- package/dist/schema/accounts.js.map +1 -1
- package/dist/schema/agents.d.ts.map +1 -1
- package/dist/schema/agents.js +22 -8
- package/dist/schema/agents.js.map +1 -1
- package/dist/schema/api-keys.d.ts +1 -1
- package/dist/schema/api-keys.js +2 -2
- package/dist/schema/api-keys.js.map +1 -1
- package/dist/schema/audit-log.d.ts +17 -0
- package/dist/schema/audit-log.d.ts.map +1 -1
- package/dist/schema/audit-log.js +2 -0
- package/dist/schema/audit-log.js.map +1 -1
- package/dist/schema/coordination.d.ts.map +1 -1
- package/dist/schema/coordination.js +5 -2
- package/dist/schema/coordination.js.map +1 -1
- package/dist/schema/idempotency.d.ts +104 -0
- package/dist/schema/idempotency.d.ts.map +1 -0
- package/dist/schema/idempotency.js +24 -0
- package/dist/schema/idempotency.js.map +1 -0
- package/dist/schema/index.d.ts +17 -0
- package/dist/schema/index.d.ts.map +1 -1
- package/dist/schema/index.js +40 -1
- package/dist/schema/index.js.map +1 -1
- package/dist/schema/licenses.d.ts.map +1 -1
- package/dist/schema/licenses.js +13 -1
- package/dist/schema/licenses.js.map +1 -1
- package/dist/schema/rest.d.ts +2 -0
- package/dist/schema/rest.d.ts.map +1 -1
- package/dist/schema/rest.js +2 -0
- package/dist/schema/rest.js.map +1 -1
- package/dist/schema/revmarket.d.ts +971 -0
- package/dist/schema/revmarket.d.ts.map +1 -0
- package/dist/schema/revmarket.js +160 -0
- package/dist/schema/revmarket.js.map +1 -0
- package/dist/types/database.d.ts +92 -1
- package/dist/types/database.d.ts.map +1 -1
- package/dist/types/database.js +20 -0
- package/dist/types/database.js.map +1 -1
- package/package.json +29 -4
|
@@ -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,
|
|
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,EAAY,EACZ,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,EAAY,EAAE,EAAU;IACzD,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,EAAY,EAAE,IAAgC;IAC9E,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,EAAY,EACZ,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"}
|
package/dist/queries/pages.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Page database queries
|
|
3
3
|
*/
|
|
4
|
-
import type {
|
|
4
|
+
import type { Database } from '../client/index.js';
|
|
5
5
|
import { pages } from '../schema/pages.js';
|
|
6
|
-
export declare function getPagesBySite(db:
|
|
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:
|
|
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:
|
|
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:
|
|
74
|
+
export declare function createPage(db: Database, data: typeof pages.$inferInsert): Promise<{
|
|
75
75
|
id: string;
|
|
76
76
|
schemaVersion: string;
|
|
77
77
|
status: 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:
|
|
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:
|
|
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,
|
|
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":"AAAA;;GAEG;AAEH,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,
|
|
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"}
|
package/dist/queries/posts.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Post database queries
|
|
3
3
|
*/
|
|
4
|
-
import type {
|
|
4
|
+
import type { Database } from '../client/index.js';
|
|
5
5
|
import { posts } from '../schema/cms.js';
|
|
6
|
-
export declare function getAllPosts(db:
|
|
6
|
+
export declare function getAllPosts(db: Database, options?: {
|
|
7
7
|
status?: string;
|
|
8
8
|
authorId?: string;
|
|
9
9
|
limit?: number;
|
|
@@ -28,7 +28,7 @@ export declare function getAllPosts(db: DatabaseClient, options?: {
|
|
|
28
28
|
deletedAt: Date | null;
|
|
29
29
|
}[]>;
|
|
30
30
|
/** List posts with author data joined (prevents N+1 when listing posts) */
|
|
31
|
-
export declare function getPostsWithAuthor(db:
|
|
31
|
+
export declare function getPostsWithAuthor(db: Database, options?: {
|
|
32
32
|
status?: string;
|
|
33
33
|
limit?: number;
|
|
34
34
|
offset?: number;
|
|
@@ -58,7 +58,7 @@ export declare function getPostsWithAuthor(db: DatabaseClient, options?: {
|
|
|
58
58
|
email: string | null;
|
|
59
59
|
} | null;
|
|
60
60
|
}[]>;
|
|
61
|
-
export declare function getPostById(db:
|
|
61
|
+
export declare function getPostById(db: Database, id: string): Promise<{
|
|
62
62
|
id: string;
|
|
63
63
|
schemaVersion: string;
|
|
64
64
|
version: number;
|
|
@@ -77,7 +77,7 @@ export declare function getPostById(db: DatabaseClient, id: string): Promise<{
|
|
|
77
77
|
publishedAt: Date | null;
|
|
78
78
|
deletedAt: Date | null;
|
|
79
79
|
} | null>;
|
|
80
|
-
export declare function getPostBySlug(db:
|
|
80
|
+
export declare function getPostBySlug(db: Database, slug: string): Promise<{
|
|
81
81
|
id: string;
|
|
82
82
|
schemaVersion: string;
|
|
83
83
|
version: number;
|
|
@@ -96,7 +96,7 @@ export declare function getPostBySlug(db: DatabaseClient, slug: string): Promise
|
|
|
96
96
|
publishedAt: Date | null;
|
|
97
97
|
deletedAt: Date | null;
|
|
98
98
|
} | null>;
|
|
99
|
-
export declare function createPost(db:
|
|
99
|
+
export declare function createPost(db: Database, data: typeof posts.$inferInsert): Promise<{
|
|
100
100
|
id: string;
|
|
101
101
|
schemaVersion: string;
|
|
102
102
|
status: string;
|
|
@@ -115,7 +115,7 @@ export declare function createPost(db: DatabaseClient, data: typeof posts.$infer
|
|
|
115
115
|
meta: unknown;
|
|
116
116
|
categories: string[] | null;
|
|
117
117
|
} | null>;
|
|
118
|
-
export declare function updatePost(db:
|
|
118
|
+
export declare function updatePost(db: Database, id: string, data: Partial<typeof posts.$inferInsert>): Promise<{
|
|
119
119
|
id: string;
|
|
120
120
|
schemaVersion: string;
|
|
121
121
|
version: number;
|
|
@@ -134,5 +134,5 @@ export declare function updatePost(db: DatabaseClient, id: string, data: Partial
|
|
|
134
134
|
publishedAt: Date | null;
|
|
135
135
|
deletedAt: Date | null;
|
|
136
136
|
} | null>;
|
|
137
|
-
export declare function deletePost(db:
|
|
137
|
+
export declare function deletePost(db: Database, id: string): Promise<void>;
|
|
138
138
|
//# 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,
|
|
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,kBAAkB,CAAC;AAGzC,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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"posts.js","sourceRoot":"","sources":["../../src/queries/posts.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAEpD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,
|
|
1
|
+
{"version":3,"file":"posts.js","sourceRoot":"","sources":["../../src/queries/posts.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Product database queries
|
|
3
3
|
*/
|
|
4
|
-
import type {
|
|
4
|
+
import type { Database } from '../client/index.js';
|
|
5
5
|
import { products } from '../schema/products.js';
|
|
6
|
-
export declare function getAllProducts(db:
|
|
6
|
+
export declare function getAllProducts(db: Database, options?: {
|
|
7
7
|
status?: string;
|
|
8
8
|
ownerId?: string;
|
|
9
9
|
limit?: number;
|
|
@@ -26,7 +26,7 @@ export declare function getAllProducts(db: DatabaseClient, options?: {
|
|
|
26
26
|
updatedAt: Date;
|
|
27
27
|
deletedAt: Date | null;
|
|
28
28
|
}[]>;
|
|
29
|
-
export declare function getProductById(db:
|
|
29
|
+
export declare function getProductById(db: Database, id: string): Promise<{
|
|
30
30
|
id: string;
|
|
31
31
|
title: string;
|
|
32
32
|
slug: string;
|
|
@@ -44,7 +44,7 @@ export declare function getProductById(db: DatabaseClient, id: string): Promise<
|
|
|
44
44
|
updatedAt: Date;
|
|
45
45
|
deletedAt: Date | null;
|
|
46
46
|
} | null>;
|
|
47
|
-
export declare function getProductBySlug(db:
|
|
47
|
+
export declare function getProductBySlug(db: Database, slug: string): Promise<{
|
|
48
48
|
id: string;
|
|
49
49
|
title: string;
|
|
50
50
|
slug: string;
|
|
@@ -62,7 +62,7 @@ export declare function getProductBySlug(db: DatabaseClient, slug: string): Prom
|
|
|
62
62
|
updatedAt: Date;
|
|
63
63
|
deletedAt: Date | null;
|
|
64
64
|
} | null>;
|
|
65
|
-
export declare function createProduct(db:
|
|
65
|
+
export declare function createProduct(db: Database, data: typeof products.$inferInsert): Promise<{
|
|
66
66
|
id: string;
|
|
67
67
|
status: string;
|
|
68
68
|
active: boolean;
|
|
@@ -80,7 +80,7 @@ export declare function createProduct(db: DatabaseClient, data: typeof products.
|
|
|
80
80
|
currency: string;
|
|
81
81
|
images: string[] | null;
|
|
82
82
|
} | null>;
|
|
83
|
-
export declare function updateProduct(db:
|
|
83
|
+
export declare function updateProduct(db: Database, id: string, data: Partial<typeof products.$inferInsert>): Promise<{
|
|
84
84
|
id: string;
|
|
85
85
|
title: string;
|
|
86
86
|
slug: string;
|
|
@@ -98,5 +98,5 @@ export declare function updateProduct(db: DatabaseClient, id: string, data: Part
|
|
|
98
98
|
updatedAt: Date;
|
|
99
99
|
deletedAt: Date | null;
|
|
100
100
|
} | null>;
|
|
101
|
-
export declare function deleteProduct(db:
|
|
101
|
+
export declare function deleteProduct(db: Database, id: string): Promise<void>;
|
|
102
102
|
//# 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,
|
|
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,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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"products.js","sourceRoot":"","sources":["../../src/queries/products.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAEpD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,
|
|
1
|
+
{"version":3,"file":"products.js","sourceRoot":"","sources":["../../src/queries/products.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAEpD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,EAAY,EACZ,UAAkF,EAAE;IAEpF,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,GAAG,EAAE,EAAE,MAAM,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC;IAC5D,MAAM,UAAU,GAAG;QACjB,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC1B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KACpD,CAAC;IACF,OAAO,EAAE;SACN,MAAM,EAAE;SACR,IAAI,CAAC,QAAQ,CAAC;SACd,KAAK,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;SACzB,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;SACjC,KAAK,CAAC,KAAK,CAAC;SACZ,MAAM,CAAC,MAAM,CAAC,CAAC;AACpB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,EAAY,EAAE,EAAU;IAC3D,MAAM,MAAM,GAAG,MAAM,EAAE;SACpB,MAAM,EAAE;SACR,IAAI,CAAC,QAAQ,CAAC;SACd,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;SAC3D,KAAK,CAAC,CAAC,CAAC,CAAC;IACZ,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AAC3B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,EAAY,EAAE,IAAY;IAC/D,MAAM,MAAM,GAAG,MAAM,EAAE;SACpB,MAAM,EAAE;SACR,IAAI,CAAC,QAAQ,CAAC;SACd,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;SAC/D,KAAK,CAAC,CAAC,CAAC,CAAC;IACZ,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AAC3B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,EAAY,EAAE,IAAkC;IAClF,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;IAClE,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AAC3B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,EAAY,EACZ,EAAU,EACV,IAA2C;IAE3C,MAAM,MAAM,GAAG,MAAM,EAAE;SACpB,MAAM,CAAC,QAAQ,CAAC;SAChB,GAAG,CAAC,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC;SACvC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;SAC3D,SAAS,EAAE,CAAC;IACf,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AAC3B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,EAAY,EAAE,EAAU;IAC1D,MAAM,EAAE;SACL,MAAM,CAAC,QAAQ,CAAC;SAChB,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC;SACrD,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AACjE,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Session database queries with soft-delete support
|
|
3
|
+
*/
|
|
4
|
+
import type { Database } from '../client/index.js';
|
|
5
|
+
/** List active (non-expired, non-revoked) sessions for a user */
|
|
6
|
+
export declare function getActiveSessions(db: Database, userId: string): Promise<{
|
|
7
|
+
id: string;
|
|
8
|
+
userAgent: string | null;
|
|
9
|
+
ipAddress: string | null;
|
|
10
|
+
persistent: boolean | null;
|
|
11
|
+
lastActivityAt: Date;
|
|
12
|
+
createdAt: Date;
|
|
13
|
+
expiresAt: Date;
|
|
14
|
+
}[]>;
|
|
15
|
+
/** Soft-delete (revoke) a session owned by a specific user */
|
|
16
|
+
export declare function revokeSession(db: Database, sessionId: string, userId: string): Promise<{
|
|
17
|
+
id: string;
|
|
18
|
+
schemaVersion: string;
|
|
19
|
+
userId: string;
|
|
20
|
+
tokenHash: string;
|
|
21
|
+
userAgent: string | null;
|
|
22
|
+
ipAddress: string | null;
|
|
23
|
+
persistent: boolean | null;
|
|
24
|
+
metadata: Record<string, unknown> | null;
|
|
25
|
+
lastActivityAt: Date;
|
|
26
|
+
createdAt: Date;
|
|
27
|
+
expiresAt: Date;
|
|
28
|
+
deletedAt: Date | null;
|
|
29
|
+
} | null>;
|
|
30
|
+
//# sourceMappingURL=sessions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../src/queries/sessions.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAUnD,iEAAiE;AACjE,wBAAsB,iBAAiB,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM;;;;;;;;KAcnE;AAED,8DAA8D;AAC9D,wBAAsB,aAAa,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;;;;;;;;;;;UAOlF"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Session database queries with soft-delete support
|
|
3
|
+
*/
|
|
4
|
+
import { and, eq, gt, isNull } from 'drizzle-orm';
|
|
5
|
+
import { sessions } from '../schema/users.js';
|
|
6
|
+
/** Active session condition: not expired and not soft-deleted */
|
|
7
|
+
const activeSession = (userId) => [
|
|
8
|
+
eq(sessions.userId, userId),
|
|
9
|
+
gt(sessions.expiresAt, new Date()),
|
|
10
|
+
isNull(sessions.deletedAt),
|
|
11
|
+
];
|
|
12
|
+
/** List active (non-expired, non-revoked) sessions for a user */
|
|
13
|
+
export async function getActiveSessions(db, userId) {
|
|
14
|
+
return db
|
|
15
|
+
.select({
|
|
16
|
+
id: sessions.id,
|
|
17
|
+
userAgent: sessions.userAgent,
|
|
18
|
+
ipAddress: sessions.ipAddress,
|
|
19
|
+
persistent: sessions.persistent,
|
|
20
|
+
lastActivityAt: sessions.lastActivityAt,
|
|
21
|
+
createdAt: sessions.createdAt,
|
|
22
|
+
expiresAt: sessions.expiresAt,
|
|
23
|
+
})
|
|
24
|
+
.from(sessions)
|
|
25
|
+
.where(and(...activeSession(userId)))
|
|
26
|
+
.orderBy(sessions.lastActivityAt);
|
|
27
|
+
}
|
|
28
|
+
/** Soft-delete (revoke) a session owned by a specific user */
|
|
29
|
+
export async function revokeSession(db, sessionId, userId) {
|
|
30
|
+
const result = await db
|
|
31
|
+
.update(sessions)
|
|
32
|
+
.set({ deletedAt: new Date() })
|
|
33
|
+
.where(and(eq(sessions.id, sessionId), eq(sessions.userId, userId), isNull(sessions.deletedAt)))
|
|
34
|
+
.returning();
|
|
35
|
+
return result[0] ?? null;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=sessions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../src/queries/sessions.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,iEAAiE;AACjE,MAAM,aAAa,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC;IACxC,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAC3B,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC;IAClC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;CAC3B,CAAC;AAEF,iEAAiE;AACjE,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,EAAY,EAAE,MAAc;IAClE,OAAO,EAAE;SACN,MAAM,CAAC;QACN,EAAE,EAAE,QAAQ,CAAC,EAAE;QACf,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,cAAc,EAAE,QAAQ,CAAC,cAAc;QACvC,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,SAAS,EAAE,QAAQ,CAAC,SAAS;KAC9B,CAAC;SACD,IAAI,CAAC,QAAQ,CAAC;SACd,KAAK,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;SACpC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;AACtC,CAAC;AAED,8DAA8D;AAC9D,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,EAAY,EAAE,SAAiB,EAAE,MAAc;IACjF,MAAM,MAAM,GAAG,MAAM,EAAE;SACpB,MAAM,CAAC,QAAQ,CAAC;SAChB,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC;SAC9B,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;SAC/F,SAAS,EAAE,CAAC;IACf,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AAC3B,CAAC"}
|
package/dist/queries/sites.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Site database queries
|
|
3
3
|
*/
|
|
4
|
-
import type {
|
|
4
|
+
import type { Database } from '../client/index.js';
|
|
5
5
|
import { sites } from '../schema/sites.js';
|
|
6
|
-
export declare function getAllSites(db:
|
|
6
|
+
export declare function getAllSites(db: Database, options?: {
|
|
7
7
|
ownerId?: string;
|
|
8
8
|
status?: string;
|
|
9
9
|
limit?: number;
|
|
@@ -27,7 +27,7 @@ export declare function getAllSites(db: DatabaseClient, options?: {
|
|
|
27
27
|
publishedAt: Date | null;
|
|
28
28
|
deletedAt: Date | null;
|
|
29
29
|
}[]>;
|
|
30
|
-
export declare function getSiteById(db:
|
|
30
|
+
export declare function getSiteById(db: Database, id: string): Promise<{
|
|
31
31
|
id: string;
|
|
32
32
|
schemaVersion: string;
|
|
33
33
|
version: number;
|
|
@@ -45,7 +45,7 @@ export declare function getSiteById(db: DatabaseClient, id: string): Promise<{
|
|
|
45
45
|
publishedAt: Date | null;
|
|
46
46
|
deletedAt: Date | null;
|
|
47
47
|
} | null>;
|
|
48
|
-
export declare function getSiteBySlug(db:
|
|
48
|
+
export declare function getSiteBySlug(db: Database, slug: string): Promise<{
|
|
49
49
|
id: string;
|
|
50
50
|
schemaVersion: string;
|
|
51
51
|
version: number;
|
|
@@ -63,7 +63,7 @@ export declare function getSiteBySlug(db: DatabaseClient, slug: string): Promise
|
|
|
63
63
|
publishedAt: Date | null;
|
|
64
64
|
deletedAt: Date | null;
|
|
65
65
|
} | null>;
|
|
66
|
-
export declare function createSite(db:
|
|
66
|
+
export declare function createSite(db: Database, data: typeof sites.$inferInsert): Promise<{
|
|
67
67
|
id: string;
|
|
68
68
|
name: string;
|
|
69
69
|
schemaVersion: string;
|
|
@@ -81,7 +81,7 @@ export declare function createSite(db: DatabaseClient, data: typeof sites.$infer
|
|
|
81
81
|
favicon: string | null;
|
|
82
82
|
publishedAt: Date | null;
|
|
83
83
|
} | null>;
|
|
84
|
-
export declare function updateSite(db:
|
|
84
|
+
export declare function updateSite(db: Database, id: string, data: Partial<typeof sites.$inferInsert>): Promise<{
|
|
85
85
|
id: string;
|
|
86
86
|
schemaVersion: string;
|
|
87
87
|
version: number;
|
|
@@ -100,9 +100,9 @@ export declare function updateSite(db: DatabaseClient, id: string, data: Partial
|
|
|
100
100
|
deletedAt: Date | null;
|
|
101
101
|
} | null>;
|
|
102
102
|
/** Soft-delete: sets deletedAt timestamp instead of removing the row */
|
|
103
|
-
export declare function deleteSite(db:
|
|
103
|
+
export declare function deleteSite(db: Database, id: string): Promise<void>;
|
|
104
104
|
/** Restore a soft-deleted site */
|
|
105
|
-
export declare function restoreSite(db:
|
|
105
|
+
export declare function restoreSite(db: Database, id: string): Promise<{
|
|
106
106
|
id: string;
|
|
107
107
|
schemaVersion: string;
|
|
108
108
|
version: number;
|
|
@@ -121,7 +121,7 @@ export declare function restoreSite(db: DatabaseClient, id: string): Promise<{
|
|
|
121
121
|
deletedAt: Date | null;
|
|
122
122
|
} | null>;
|
|
123
123
|
/** Permanently remove a soft-deleted site (admin cleanup) */
|
|
124
|
-
export declare function purgeSite(db:
|
|
125
|
-
export declare function incrementPageCount(db:
|
|
126
|
-
export declare function decrementPageCount(db:
|
|
124
|
+
export declare function purgeSite(db: Database, id: string): Promise<void>;
|
|
125
|
+
export declare function incrementPageCount(db: Database, siteId: string): Promise<void>;
|
|
126
|
+
export declare function decrementPageCount(db: Database, siteId: string): Promise<void>;
|
|
127
127
|
//# sourceMappingURL=sites.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sites.d.ts","sourceRoot":"","sources":["../../src/queries/sites.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"sites.d.ts","sourceRoot":"","sources":["../../src/queries/sites.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAK3C,wBAAsB,WAAW,CAC/B,EAAE,EAAE,QAAQ,EACZ,OAAO,GAAE;IACP,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,OAAO,CAAC;CACrB;;;;;;;;;;;;;;;;;KAeP;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,wEAAwE;AACxE,wBAAsB,UAAU,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,iBAKxD;AAED,kCAAkC;AAClC,wBAAsB,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM;;;;;;;;;;;;;;;;;UAOzD;AAED,6DAA6D;AAC7D,wBAAsB,SAAS,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,iBAEvD;AAED,wBAAsB,kBAAkB,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAKpF;AAED,wBAAsB,kBAAkB,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAKpF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sites.js","sourceRoot":"","sources":["../../src/queries/sites.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAEzD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,iDAAiD;AACjD,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AAE3C,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,
|
|
1
|
+
{"version":3,"file":"sites.js","sourceRoot":"","sources":["../../src/queries/sites.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAEzD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,iDAAiD;AACjD,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AAE3C,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,EAAY,EACZ,UAMI,EAAE;IAEN,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,GAAG,EAAE,EAAE,MAAM,GAAG,CAAC,EAAE,cAAc,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;IACpF,MAAM,UAAU,GAAG;QACjB,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QACvC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9C,CAAC;IACF,OAAO,EAAE;SACN,MAAM,EAAE;SACR,IAAI,CAAC,KAAK,CAAC;SACX,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,KAAK,CAAC,SAAS,CAAC,CAAC;SAC9B,KAAK,CAAC,KAAK,CAAC;SACZ,MAAM,CAAC,MAAM,CAAC,CAAC;AACpB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,EAAY,EAAE,EAAU;IACxD,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,UAAU,CAAC,CAAC;SACxC,KAAK,CAAC,CAAC,CAAC,CAAC;IACZ,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AAC3B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,EAAY,EAAE,IAAY;IAC5D,MAAM,MAAM,GAAG,MAAM,EAAE;SACpB,MAAM,EAAE;SACR,IAAI,CAAC,KAAK,CAAC;SACX,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC;SAC5C,KAAK,CAAC,CAAC,CAAC,CAAC;IACZ,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AAC3B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,EAAY,EAAE,IAA+B;IAC5E,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,UAAU,CAC9B,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,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;SACxC,SAAS,EAAE,CAAC;IACf,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AAC3B,CAAC;AAED,wEAAwE;AACxE,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,EAAY,EAAE,EAAU;IACvD,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,UAAU,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED,kCAAkC;AAClC,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,EAAY,EAAE,EAAU;IACxD,MAAM,MAAM,GAAG,MAAM,EAAE;SACpB,MAAM,CAAC,KAAK,CAAC;SACb,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC;SAC/C,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,6DAA6D;AAC7D,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,EAAY,EAAE,EAAU;IACtD,MAAM,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,EAAY,EAAE,MAAc;IACnE,MAAM,EAAE;SACL,MAAM,CAAC,KAAK,CAAC;SACb,GAAG,CAAC,EAAE,SAAS,EAAE,GAAG,CAAA,YAAY,KAAK,CAAC,SAAS,UAAU,EAAE,CAAC;SAC5D,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,EAAY,EAAE,MAAc;IACnE,MAAM,EAAE;SACL,MAAM,CAAC,KAAK,CAAC;SACb,GAAG,CAAC,EAAE,SAAS,EAAE,GAAG,CAAA,qBAAqB,KAAK,CAAC,SAAS,cAAc,EAAE,CAAC;SACzE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;AACjC,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Ticket comment database queries
|
|
3
3
|
*/
|
|
4
|
-
import type {
|
|
5
|
-
export declare function getCommentById(db:
|
|
4
|
+
import type { Database } from '../client/index.js';
|
|
5
|
+
export declare function getCommentById(db: Database, id: string): Promise<{
|
|
6
6
|
id: string;
|
|
7
7
|
ticketId: string;
|
|
8
8
|
authorId: string | null;
|
|
@@ -10,7 +10,7 @@ export declare function getCommentById(db: DatabaseClient, id: string): Promise<
|
|
|
10
10
|
createdAt: Date;
|
|
11
11
|
updatedAt: Date;
|
|
12
12
|
} | null>;
|
|
13
|
-
export declare function getCommentsByTicket(db:
|
|
13
|
+
export declare function getCommentsByTicket(db: Database, ticketId: string): Promise<{
|
|
14
14
|
id: string;
|
|
15
15
|
ticketId: string;
|
|
16
16
|
authorId: string | null;
|
|
@@ -19,7 +19,7 @@ export declare function getCommentsByTicket(db: DatabaseClient, ticketId: string
|
|
|
19
19
|
updatedAt: Date;
|
|
20
20
|
}[]>;
|
|
21
21
|
/** Get comments with author data joined (prevents N+1 when displaying threads) */
|
|
22
|
-
export declare function getCommentsWithAuthors(db:
|
|
22
|
+
export declare function getCommentsWithAuthors(db: Database, ticketId: string): Promise<{
|
|
23
23
|
comment: {
|
|
24
24
|
id: string;
|
|
25
25
|
ticketId: string;
|
|
@@ -35,7 +35,7 @@ export declare function getCommentsWithAuthors(db: DatabaseClient, ticketId: str
|
|
|
35
35
|
} | null;
|
|
36
36
|
}[]>;
|
|
37
37
|
/** Batch-load comments for multiple tickets (prevents N+1 on board views) */
|
|
38
|
-
export declare function getCommentsByTicketIds(db:
|
|
38
|
+
export declare function getCommentsByTicketIds(db: Database, ticketIds: string[]): Promise<{
|
|
39
39
|
id: string;
|
|
40
40
|
ticketId: string;
|
|
41
41
|
authorId: string | null;
|
|
@@ -43,7 +43,7 @@ export declare function getCommentsByTicketIds(db: DatabaseClient, ticketIds: st
|
|
|
43
43
|
createdAt: Date;
|
|
44
44
|
updatedAt: Date;
|
|
45
45
|
}[]>;
|
|
46
|
-
export declare function createComment(db:
|
|
46
|
+
export declare function createComment(db: Database, data: {
|
|
47
47
|
id: string;
|
|
48
48
|
ticketId: string;
|
|
49
49
|
authorId?: string;
|
|
@@ -56,7 +56,7 @@ export declare function createComment(db: DatabaseClient, data: {
|
|
|
56
56
|
body: unknown;
|
|
57
57
|
ticketId: string;
|
|
58
58
|
} | undefined>;
|
|
59
|
-
export declare function updateComment(db:
|
|
59
|
+
export declare function updateComment(db: Database, id: string, data: {
|
|
60
60
|
body: unknown;
|
|
61
61
|
}): Promise<{
|
|
62
62
|
id: string;
|
|
@@ -66,5 +66,5 @@ export declare function updateComment(db: DatabaseClient, id: string, data: {
|
|
|
66
66
|
createdAt: Date;
|
|
67
67
|
updatedAt: Date;
|
|
68
68
|
} | null>;
|
|
69
|
-
export declare function deleteComment(db:
|
|
69
|
+
export declare function deleteComment(db: Database, id: string): Promise<void>;
|
|
70
70
|
//# sourceMappingURL=ticket-comments.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ticket-comments.d.ts","sourceRoot":"","sources":["../../src/queries/ticket-comments.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"ticket-comments.d.ts","sourceRoot":"","sources":["../../src/queries/ticket-comments.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAInD,wBAAsB,cAAc,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM;;;;;;;UAG5D;AAED,wBAAsB,mBAAmB,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM;;;;;;;KAMvE;AAED,kFAAkF;AAClF,wBAAsB,sBAAsB,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM;;;;;;;;;;;;;;KAc1E;AAED,6EAA6E;AAC7E,wBAAsB,sBAAsB,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE;;;;;;;KAO7E;AAMD,wBAAsB,aAAa,CACjC,EAAE,EAAE,QAAQ,EACZ,IAAI,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE;;;;;;;eAczE;AAED,wBAAsB,aAAa,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE;;;;;;;UAQpF;AAKD,wBAAsB,aAAa,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,iBAoB3D"}
|
|
@@ -41,6 +41,10 @@ export async function getCommentsByTicketIds(db, ticketIds) {
|
|
|
41
41
|
.where(inArray(ticketComments.ticketId, ticketIds))
|
|
42
42
|
.orderBy(ticketComments.createdAt);
|
|
43
43
|
}
|
|
44
|
+
// NOTE: NeonDB HTTP driver does not support transactions. The insert and count
|
|
45
|
+
// update below are not atomic — a failure between them can leave the comment
|
|
46
|
+
// count out of sync. A periodic reconciliation job or manual correction may be
|
|
47
|
+
// needed if this becomes a problem in practice.
|
|
44
48
|
export async function createComment(db, data) {
|
|
45
49
|
const result = await db.insert(ticketComments).values(data).returning();
|
|
46
50
|
// Increment comment count on the ticket
|
|
@@ -61,6 +65,9 @@ export async function updateComment(db, id, data) {
|
|
|
61
65
|
.returning();
|
|
62
66
|
return result[0] ?? null;
|
|
63
67
|
}
|
|
68
|
+
// NOTE: NeonDB HTTP driver does not support transactions. The select, delete,
|
|
69
|
+
// and count update below are not atomic — a failure between them can leave the
|
|
70
|
+
// comment count out of sync or orphan a decrement without a deletion.
|
|
64
71
|
export async function deleteComment(db, id) {
|
|
65
72
|
// Get the ticket ID before deleting
|
|
66
73
|
const comment = await db
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ticket-comments.js","sourceRoot":"","sources":["../../src/queries/ticket-comments.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"ticket-comments.js","sourceRoot":"","sources":["../../src/queries/ticket-comments.ts"],"names":[],"mappings":"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"}
|