@rudderhq/db 0.7.23-canary.8 → 0.7.23

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"organization_mutations.d.ts","sourceRoot":"","sources":["../../src/schema/organization_mutations.ts"],"names":[],"mappings":"AAiBA,0FAA0F;AAC1F,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+BrC,CAAC;AAEF,iFAAiF;AACjF,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+DxC,CAAC"}
@@ -0,0 +1,66 @@
1
+ import { sql } from "drizzle-orm";
2
+ import { bigint, check, foreignKey, integer, jsonb, pgTable, primaryKey, text, timestamp, unique, uuid, } from "drizzle-orm/pg-core";
3
+ import { activityLog } from "./activity_log.js";
4
+ import { organizations } from "./organizations.js";
5
+ /** Private D1 state. Missing state and the default owner both keep Node authoritative. */
6
+ export const organizationMutationState = pgTable("organization_mutation_state", {
7
+ orgId: uuid("org_id")
8
+ .primaryKey()
9
+ .references(() => organizations.id, { onDelete: "cascade" }),
10
+ mutationVersion: bigint("mutation_version", { mode: "bigint" })
11
+ .notNull()
12
+ .default(sql `0`),
13
+ fenceEpoch: bigint("fence_epoch", { mode: "bigint" })
14
+ .notNull()
15
+ .default(sql `0`),
16
+ owner: text("owner").$type().notNull().default("node"),
17
+ updatedAt: timestamp("updated_at", { withTimezone: true })
18
+ .notNull()
19
+ .defaultNow(),
20
+ }, (table) => ({
21
+ versionCheck: check("organization_mutation_state_version_ck", sql `${table.mutationVersion} >= 0`),
22
+ fenceCheck: check("organization_mutation_state_fence_ck", sql `${table.fenceEpoch} >= 0`),
23
+ ownerCheck: check("organization_mutation_state_owner_ck", sql `${table.owner} in ('node', 'rust') and (${table.owner} = 'node' or ${table.fenceEpoch} > 0)`),
24
+ }));
25
+ /** Original committed outcomes, never a current-state cache or second writer. */
26
+ export const organizationMutationReceipts = pgTable("organization_mutation_receipts", {
27
+ orgId: uuid("org_id")
28
+ .notNull()
29
+ .references(() => organizationMutationState.orgId, {
30
+ onDelete: "cascade",
31
+ }),
32
+ idempotencyKey: text("idempotency_key").notNull(),
33
+ commandKind: text("command_kind")
34
+ .$type()
35
+ .notNull(),
36
+ commandFingerprint: text("command_fingerprint").notNull(),
37
+ receiptFormat: integer("receipt_format").notNull().default(1),
38
+ outcome: text("outcome").$type().notNull(),
39
+ resultingVersion: bigint("resulting_version", { mode: "bigint" }).notNull(),
40
+ fenceEpoch: bigint("fence_epoch", { mode: "bigint" }).notNull(),
41
+ activityId: uuid("activity_id").notNull(),
42
+ result: jsonb("result").$type().notNull(),
43
+ createdAt: timestamp("created_at", { withTimezone: true })
44
+ .notNull()
45
+ .defaultNow(),
46
+ }, (table) => ({
47
+ pk: primaryKey({ columns: [table.orgId, table.idempotencyKey] }),
48
+ activityUnique: unique("organization_mutation_receipts_activity_uq").on(table.activityId),
49
+ // The existing Node delete path removes activity before the organization.
50
+ activityFk: foreignKey({
51
+ name: "organization_mutation_receipts_activity_fk",
52
+ columns: [table.orgId, table.activityId],
53
+ foreignColumns: [activityLog.orgId, activityLog.id],
54
+ }).onDelete("no action"),
55
+ keyCheck: check("organization_mutation_receipts_key_ck", sql `octet_length(${table.idempotencyKey}) between 1 and 256`),
56
+ fingerprintCheck: check("organization_mutation_receipts_fingerprint_ck", sql `${table.commandFingerprint} ~ '^[0-9a-f]{64}$'`),
57
+ kindCheck: check("organization_mutation_receipts_kind_ck", sql `${table.commandKind} in ('organization_branding', 'project_goal_link')`),
58
+ outcomeCheck: check("organization_mutation_receipts_outcome_ck", sql `${table.outcome} in ('applied', 'noop')`),
59
+ versionCheck: check("organization_mutation_receipts_version_ck", sql `${table.resultingVersion} >= 0 and ${table.fenceEpoch} >= 0 and ${table.receiptFormat} > 0`),
60
+ resultCheck: check("organization_mutation_receipts_result_ck", sql `coalesce(
61
+ jsonb_typeof(${table.result}) = 'object'
62
+ and ${table.result}->>'organization_id' = ${table.orgId}::text
63
+ and ${table.result}->>'version' = ${table.resultingVersion}::text
64
+ and ${table.result}->>'fence_epoch' = ${table.fenceEpoch}::text, false)`),
65
+ }));
66
+ //# sourceMappingURL=organization_mutations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"organization_mutations.js","sourceRoot":"","sources":["../../src/schema/organization_mutations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EACL,MAAM,EACN,KAAK,EACL,UAAU,EACV,OAAO,EACP,KAAK,EACL,OAAO,EACP,UAAU,EACV,IAAI,EACJ,SAAS,EACT,MAAM,EACN,IAAI,GACL,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,0FAA0F;AAC1F,MAAM,CAAC,MAAM,yBAAyB,GAAG,OAAO,CAC9C,6BAA6B,EAC7B;IACE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC;SAClB,UAAU,EAAE;SACZ,UAAU,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IAC9D,eAAe,EAAE,MAAM,CAAC,kBAAkB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;SAC5D,OAAO,EAAE;SACT,OAAO,CAAC,GAAG,CAAA,GAAG,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;SAClD,OAAO,EAAE;SACT,OAAO,CAAC,GAAG,CAAA,GAAG,CAAC;IAClB,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAmB,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;IACvE,SAAS,EAAE,SAAS,CAAC,YAAY,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;SACvD,OAAO,EAAE;SACT,UAAU,EAAE;CAChB,EACD,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACV,YAAY,EAAE,KAAK,CACjB,wCAAwC,EACxC,GAAG,CAAA,GAAG,KAAK,CAAC,eAAe,OAAO,CACnC;IACD,UAAU,EAAE,KAAK,CACf,sCAAsC,EACtC,GAAG,CAAA,GAAG,KAAK,CAAC,UAAU,OAAO,CAC9B;IACD,UAAU,EAAE,KAAK,CACf,sCAAsC,EACtC,GAAG,CAAA,GAAG,KAAK,CAAC,KAAK,6BAA6B,KAAK,CAAC,KAAK,gBAAgB,KAAK,CAAC,UAAU,OAAO,CACjG;CACF,CAAC,CACH,CAAC;AAEF,iFAAiF;AACjF,MAAM,CAAC,MAAM,4BAA4B,GAAG,OAAO,CACjD,gCAAgC,EAChC;IACE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC;SAClB,OAAO,EAAE;SACT,UAAU,CAAC,GAAG,EAAE,CAAC,yBAAyB,CAAC,KAAK,EAAE;QACjD,QAAQ,EAAE,SAAS;KACpB,CAAC;IACJ,cAAc,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,OAAO,EAAE;IACjD,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC;SAC9B,KAAK,EAAiD;SACtD,OAAO,EAAE;IACZ,kBAAkB,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC,OAAO,EAAE;IACzD,aAAa,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7D,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,EAAsB,CAAC,OAAO,EAAE;IAC9D,gBAAgB,EAAE,MAAM,CAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE;IAC3E,UAAU,EAAE,MAAM,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE;IAC/D,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE;IACzC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,EAA2B,CAAC,OAAO,EAAE;IAClE,SAAS,EAAE,SAAS,CAAC,YAAY,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;SACvD,OAAO,EAAE;SACT,UAAU,EAAE;CAChB,EACD,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACV,EAAE,EAAE,UAAU,CAAC,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;IAChE,cAAc,EAAE,MAAM,CAAC,4CAA4C,CAAC,CAAC,EAAE,CACrE,KAAK,CAAC,UAAU,CACjB;IACD,0EAA0E;IAC1E,UAAU,EAAE,UAAU,CAAC;QACrB,IAAI,EAAE,4CAA4C;QAClD,OAAO,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC;QACxC,cAAc,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,CAAC;KACpD,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;IACxB,QAAQ,EAAE,KAAK,CACb,uCAAuC,EACvC,GAAG,CAAA,gBAAgB,KAAK,CAAC,cAAc,qBAAqB,CAC7D;IACD,gBAAgB,EAAE,KAAK,CACrB,+CAA+C,EAC/C,GAAG,CAAA,GAAG,KAAK,CAAC,kBAAkB,qBAAqB,CACpD;IACD,SAAS,EAAE,KAAK,CACd,wCAAwC,EACxC,GAAG,CAAA,GAAG,KAAK,CAAC,WAAW,oDAAoD,CAC5E;IACD,YAAY,EAAE,KAAK,CACjB,2CAA2C,EAC3C,GAAG,CAAA,GAAG,KAAK,CAAC,OAAO,yBAAyB,CAC7C;IACD,YAAY,EAAE,KAAK,CACjB,2CAA2C,EAC3C,GAAG,CAAA,GAAG,KAAK,CAAC,gBAAgB,aAAa,KAAK,CAAC,UAAU,aAAa,KAAK,CAAC,aAAa,MAAM,CAChG;IACD,WAAW,EAAE,KAAK,CAChB,0CAA0C,EAC1C,GAAG,CAAA;uBACc,KAAK,CAAC,MAAM;cACrB,KAAK,CAAC,MAAM,0BAA0B,KAAK,CAAC,KAAK;cACjD,KAAK,CAAC,MAAM,kBAAkB,KAAK,CAAC,gBAAgB;cACpD,KAAK,CAAC,MAAM,sBAAsB,KAAK,CAAC,UAAU,gBAAgB,CAC3E;CACF,CAAC,CACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rudderhq/db",
3
- "version": "0.7.23-canary.8",
3
+ "version": "0.7.23",
4
4
  "license": "SEE LICENSE IN LICENSE",
5
5
  "homepage": "https://github.com/Undertone0809/rudder",
6
6
  "bugs": {
@@ -51,7 +51,7 @@
51
51
  "seed": "tsx src/seed.ts"
52
52
  },
53
53
  "dependencies": {
54
- "@rudderhq/shared": "0.7.23-canary.8",
54
+ "@rudderhq/shared": "0.7.23",
55
55
  "drizzle-orm": "^0.45.2",
56
56
  "embedded-postgres": "18.1.0-beta.16",
57
57
  "postgres": "^3.4.8"