@storyshelf/db-mysql 0.6.2 → 0.8.0

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 (98) hide show
  1. package/README.md +36 -0
  2. package/dist/ddl.d.mts +1 -3
  3. package/dist/ddl.mjs +391 -141
  4. package/dist/ddl.mjs.map +1 -1
  5. package/dist/drizzle-factory-mysql.mjs +15 -8
  6. package/dist/drizzle-factory-mysql.mjs.map +1 -1
  7. package/dist/drizzle-factory.mjs +1 -2
  8. package/dist/foreign-keys.mjs +338 -0
  9. package/dist/foreign-keys.mjs.map +1 -0
  10. package/dist/index.d.mts +0 -2
  11. package/dist/index.mjs +11 -7
  12. package/dist/index.mjs.map +1 -1
  13. package/dist/migrate.mjs +349 -73
  14. package/dist/migrate.mjs.map +1 -1
  15. package/dist/planetscale.d.mts +0 -2
  16. package/dist/planetscale.mjs +1 -2
  17. package/dist/schema/baseline.d.mts +89 -19
  18. package/dist/schema/baseline.mjs +8 -4
  19. package/dist/schema/baseline.mjs.map +1 -1
  20. package/dist/schema/{status-config.d.mts → build-component.d.mts} +47 -42
  21. package/dist/schema/build-component.mjs +25 -0
  22. package/dist/schema/build-component.mjs.map +1 -0
  23. package/dist/schema/build-review.d.mts +116 -0
  24. package/dist/schema/build-review.mjs +23 -0
  25. package/dist/schema/build-review.mjs.map +1 -0
  26. package/dist/schema/build.d.mts +65 -31
  27. package/dist/schema/build.mjs +6 -3
  28. package/dist/schema/build.mjs.map +1 -1
  29. package/dist/schema/capture-attempt.d.mts +43 -45
  30. package/dist/schema/capture-attempt.mjs +3 -3
  31. package/dist/schema/capture-attempt.mjs.map +1 -1
  32. package/dist/schema/capture-job.d.mts +328 -0
  33. package/dist/schema/capture-job.mjs +56 -0
  34. package/dist/schema/capture-job.mjs.map +1 -0
  35. package/dist/schema/capture-shard.d.mts +255 -0
  36. package/dist/schema/capture-shard.mjs +40 -0
  37. package/dist/schema/capture-shard.mjs.map +1 -0
  38. package/dist/schema/comment.d.mts +35 -19
  39. package/dist/schema/comment.mjs +6 -5
  40. package/dist/schema/comment.mjs.map +1 -1
  41. package/dist/schema/connection.d.mts +171 -0
  42. package/dist/schema/connection.mjs +35 -0
  43. package/dist/schema/connection.mjs.map +1 -0
  44. package/dist/schema/content-refs.d.mts +11 -13
  45. package/dist/schema/content-refs.mjs +3 -3
  46. package/dist/schema/content-refs.mjs.map +1 -1
  47. package/dist/schema/datetime.mjs +46 -0
  48. package/dist/schema/datetime.mjs.map +1 -0
  49. package/dist/schema/design.d.mts +587 -0
  50. package/dist/schema/design.mjs +73 -0
  51. package/dist/schema/design.mjs.map +1 -0
  52. package/dist/schema/insight.d.mts +631 -0
  53. package/dist/schema/insight.mjs +68 -0
  54. package/dist/schema/insight.mjs.map +1 -0
  55. package/dist/schema/label.d.mts +21 -23
  56. package/dist/schema/label.mjs +3 -3
  57. package/dist/schema/label.mjs.map +1 -1
  58. package/dist/schema/member.d.mts +10 -12
  59. package/dist/schema/member.mjs +3 -3
  60. package/dist/schema/member.mjs.map +1 -1
  61. package/dist/schema/notification.d.mts +63 -29
  62. package/dist/schema/notification.mjs +8 -3
  63. package/dist/schema/notification.mjs.map +1 -1
  64. package/dist/schema/project-group-mapping.d.mts +9 -11
  65. package/dist/schema/project-group-mapping.mjs +3 -3
  66. package/dist/schema/project-group-mapping.mjs.map +1 -1
  67. package/dist/schema/project.d.mts +149 -25
  68. package/dist/schema/project.mjs +11 -4
  69. package/dist/schema/project.mjs.map +1 -1
  70. package/dist/schema/site-setting.d.mts +97 -0
  71. package/dist/schema/site-setting.mjs +23 -0
  72. package/dist/schema/site-setting.mjs.map +1 -0
  73. package/dist/schema/snapshot.d.mts +195 -35
  74. package/dist/schema/snapshot.mjs +17 -4
  75. package/dist/schema/snapshot.mjs.map +1 -1
  76. package/dist/schema/token.d.mts +14 -16
  77. package/dist/schema/token.mjs +3 -3
  78. package/dist/schema/token.mjs.map +1 -1
  79. package/dist/schema/usage.d.mts +265 -0
  80. package/dist/schema/usage.mjs +36 -0
  81. package/dist/schema/usage.mjs.map +1 -0
  82. package/dist/schema/user-invite.d.mts +16 -18
  83. package/dist/schema/user-invite.mjs +3 -3
  84. package/dist/schema/user-invite.mjs.map +1 -1
  85. package/dist/schema/user.d.mts +88 -16
  86. package/dist/schema/user.mjs +8 -4
  87. package/dist/schema/user.mjs.map +1 -1
  88. package/dist/schema/webhook.d.mts +14 -16
  89. package/dist/schema/webhook.mjs +3 -3
  90. package/dist/schema/webhook.mjs.map +1 -1
  91. package/dist/schema.d.mts +24 -5
  92. package/dist/schema.mjs +26 -6
  93. package/dist/schema.mjs.map +1 -1
  94. package/dist/tidb.d.mts +0 -2
  95. package/dist/tidb.mjs +1 -2
  96. package/package.json +7 -7
  97. package/dist/schema/status-config.mjs +0 -26
  98. package/dist/schema/status-config.mjs.map +0 -1
@@ -1,12 +1,11 @@
1
1
  import __tsdown_shims_path from 'node:path';
2
2
  import __tsdown_shims_url from 'node:url';
3
- //#region src/schema/label.d.ts
4
3
  /** Narrow `label_types` table definition. */
5
- declare const labelTypes: import("drizzle-orm/mysql-core").MySqlTableWithColumns<{
4
+ declare const labelTypes: import("drizzle-orm/mysql-core/table.js").MySqlTableWithColumns<{
6
5
  name: "label_types";
7
6
  schema: undefined;
8
7
  columns: {
9
- id: import("drizzle-orm/mysql-core").MySqlColumn<{
8
+ id: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
10
9
  name: "id";
11
10
  tableName: "label_types";
12
11
  dataType: "string";
@@ -23,7 +22,7 @@ declare const labelTypes: import("drizzle-orm/mysql-core").MySqlTableWithColumns
23
22
  identity: undefined;
24
23
  generated: undefined;
25
24
  }, {}, {}>;
26
- projectId: import("drizzle-orm/mysql-core").MySqlColumn<{
25
+ projectId: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
27
26
  name: "project_id";
28
27
  tableName: "label_types";
29
28
  dataType: "string";
@@ -40,7 +39,7 @@ declare const labelTypes: import("drizzle-orm/mysql-core").MySqlTableWithColumns
40
39
  identity: undefined;
41
40
  generated: undefined;
42
41
  }, {}, {}>;
43
- key: import("drizzle-orm/mysql-core").MySqlColumn<{
42
+ key: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
44
43
  name: "key";
45
44
  tableName: "label_types";
46
45
  dataType: "string";
@@ -57,7 +56,7 @@ declare const labelTypes: import("drizzle-orm/mysql-core").MySqlTableWithColumns
57
56
  identity: undefined;
58
57
  generated: undefined;
59
58
  }, {}, {}>;
60
- name: import("drizzle-orm/mysql-core").MySqlColumn<{
59
+ name: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
61
60
  name: "name";
62
61
  tableName: "label_types";
63
62
  dataType: "string";
@@ -74,7 +73,7 @@ declare const labelTypes: import("drizzle-orm/mysql-core").MySqlTableWithColumns
74
73
  identity: undefined;
75
74
  generated: undefined;
76
75
  }, {}, {}>;
77
- linkTemplate: import("drizzle-orm/mysql-core").MySqlColumn<{
76
+ linkTemplate: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
78
77
  name: "link_template";
79
78
  tableName: "label_types";
80
79
  dataType: "string";
@@ -91,7 +90,7 @@ declare const labelTypes: import("drizzle-orm/mysql-core").MySqlTableWithColumns
91
90
  identity: undefined;
92
91
  generated: undefined;
93
92
  }, {}, {}>;
94
- color: import("drizzle-orm/mysql-core").MySqlColumn<{
93
+ color: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
95
94
  name: "color";
96
95
  tableName: "label_types";
97
96
  dataType: "string";
@@ -108,13 +107,13 @@ declare const labelTypes: import("drizzle-orm/mysql-core").MySqlTableWithColumns
108
107
  identity: undefined;
109
108
  generated: undefined;
110
109
  }, {}, {}>;
111
- createdAt: import("drizzle-orm/mysql-core").MySqlColumn<{
110
+ createdAt: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
112
111
  name: "created_at";
113
112
  tableName: "label_types";
114
- dataType: "string";
115
- columnType: "MySqlDateTimeString";
113
+ dataType: "custom";
114
+ columnType: "MySqlCustomColumn";
116
115
  data: string;
117
- driverParam: string | number;
116
+ driverParam: string;
118
117
  notNull: true;
119
118
  hasDefault: false;
120
119
  isPrimaryKey: false;
@@ -129,11 +128,11 @@ declare const labelTypes: import("drizzle-orm/mysql-core").MySqlTableWithColumns
129
128
  dialect: 'mysql';
130
129
  }>;
131
130
  /** Narrow `build_labels` table definition. */
132
- declare const buildLabels: import("drizzle-orm/mysql-core").MySqlTableWithColumns<{
131
+ declare const buildLabels: import("drizzle-orm/mysql-core/table.js").MySqlTableWithColumns<{
133
132
  name: "build_labels";
134
133
  schema: undefined;
135
134
  columns: {
136
- id: import("drizzle-orm/mysql-core").MySqlColumn<{
135
+ id: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
137
136
  name: "id";
138
137
  tableName: "build_labels";
139
138
  dataType: "string";
@@ -150,7 +149,7 @@ declare const buildLabels: import("drizzle-orm/mysql-core").MySqlTableWithColumn
150
149
  identity: undefined;
151
150
  generated: undefined;
152
151
  }, {}, {}>;
153
- projectId: import("drizzle-orm/mysql-core").MySqlColumn<{
152
+ projectId: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
154
153
  name: "project_id";
155
154
  tableName: "build_labels";
156
155
  dataType: "string";
@@ -167,7 +166,7 @@ declare const buildLabels: import("drizzle-orm/mysql-core").MySqlTableWithColumn
167
166
  identity: undefined;
168
167
  generated: undefined;
169
168
  }, {}, {}>;
170
- buildId: import("drizzle-orm/mysql-core").MySqlColumn<{
169
+ buildId: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
171
170
  name: "build_id";
172
171
  tableName: "build_labels";
173
172
  dataType: "string";
@@ -184,7 +183,7 @@ declare const buildLabels: import("drizzle-orm/mysql-core").MySqlTableWithColumn
184
183
  identity: undefined;
185
184
  generated: undefined;
186
185
  }, {}, {}>;
187
- typeKey: import("drizzle-orm/mysql-core").MySqlColumn<{
186
+ typeKey: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
188
187
  name: "type_key";
189
188
  tableName: "build_labels";
190
189
  dataType: "string";
@@ -201,7 +200,7 @@ declare const buildLabels: import("drizzle-orm/mysql-core").MySqlTableWithColumn
201
200
  identity: undefined;
202
201
  generated: undefined;
203
202
  }, {}, {}>;
204
- value: import("drizzle-orm/mysql-core").MySqlColumn<{
203
+ value: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
205
204
  name: "value";
206
205
  tableName: "build_labels";
207
206
  dataType: "string";
@@ -218,13 +217,13 @@ declare const buildLabels: import("drizzle-orm/mysql-core").MySqlTableWithColumn
218
217
  identity: undefined;
219
218
  generated: undefined;
220
219
  }, {}, {}>;
221
- createdAt: import("drizzle-orm/mysql-core").MySqlColumn<{
220
+ createdAt: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
222
221
  name: "created_at";
223
222
  tableName: "build_labels";
224
- dataType: "string";
225
- columnType: "MySqlDateTimeString";
223
+ dataType: "custom";
224
+ columnType: "MySqlCustomColumn";
226
225
  data: string;
227
- driverParam: string | number;
226
+ driverParam: string;
228
227
  notNull: true;
229
228
  hasDefault: false;
230
229
  isPrimaryKey: false;
@@ -257,6 +256,5 @@ interface BuildLabel {
257
256
  value: string;
258
257
  createdAt: string;
259
258
  }
260
- //#endregion
261
259
  export { BuildLabel, LabelType, buildLabels, labelTypes };
262
260
  //# sourceMappingURL=label.d.mts.map
@@ -1,10 +1,11 @@
1
1
  import "node:path";
2
2
  import "node:url";
3
3
  import.meta.url;
4
+ import { datetime } from "./datetime.mjs";
4
5
  import { projects } from "./project.mjs";
5
6
  import { builds } from "./build.mjs";
6
- import { datetime, mysqlTable, text, uniqueIndex } from "drizzle-orm/mysql-core";
7
- //#region src/schema/label.ts
7
+ import { mysqlTable, text, uniqueIndex } from "drizzle-orm/mysql-core";
8
+ // src/schema/label.ts
8
9
  /** Narrow `label_types` table definition. */
9
10
  const labelTypes = mysqlTable("label_types", {
10
11
  id: text("id").primaryKey(),
@@ -30,7 +31,6 @@ const buildLabels = mysqlTable("build_labels", {
30
31
  fsp: 3
31
32
  }).notNull()
32
33
  }, (t) => [uniqueIndex("build_labels_build_type_value_idx").on(t.buildId, t.typeKey, t.value)]);
33
- //#endregion
34
34
  export { buildLabels, labelTypes };
35
35
 
36
36
  //# sourceMappingURL=label.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"label.mjs","names":[],"sources":["../../src/schema/label.ts"],"sourcesContent":["import { mysqlTable, text, datetime, uniqueIndex } from \"drizzle-orm/mysql-core\";\nimport { builds } from \"./build.ts\";\nimport { projects } from \"./project.ts\";\n\n/** Narrow `label_types` table definition. */\nexport const labelTypes = mysqlTable(\n \"label_types\",\n {\n id: text(\"id\").primaryKey(),\n projectId: text(\"project_id\")\n .notNull()\n .references(() => projects.id, { onDelete: \"cascade\" }),\n key: text(\"key\").notNull(),\n name: text(\"name\").notNull(),\n linkTemplate: text(\"link_template\"),\n color: text(\"color\"),\n createdAt: datetime(\"created_at\", { mode: \"string\", fsp: 3 }).notNull(),\n },\n (t) => [uniqueIndex(\"label_types_project_key_idx\").on(t.projectId, t.key)],\n);\n\n/** Narrow `build_labels` table definition. */\nexport const buildLabels = mysqlTable(\n \"build_labels\",\n {\n id: text(\"id\").primaryKey(),\n projectId: text(\"project_id\")\n .notNull()\n .references(() => projects.id, { onDelete: \"cascade\" }),\n buildId: text(\"build_id\")\n .notNull()\n .references(() => builds.id, { onDelete: \"cascade\" }),\n typeKey: text(\"type_key\").notNull(),\n value: text(\"value\").notNull(),\n createdAt: datetime(\"created_at\", { mode: \"string\", fsp: 3 }).notNull(),\n },\n (t) => [uniqueIndex(\"build_labels_build_type_value_idx\").on(t.buildId, t.typeKey, t.value)],\n);\n\n/** A label-type row. */\nexport interface LabelType {\n id: string;\n projectId: string;\n key: string;\n name: string;\n linkTemplate: string | null;\n color: string | null;\n createdAt: string;\n}\n\n/** A build-label row. */\nexport interface BuildLabel {\n id: string;\n projectId: string;\n buildId: string;\n typeKey: string;\n value: string;\n createdAt: string;\n}\n"],"mappings":";;;;;;;;AAKA,MAAa,aAAa,WACxB,eACA;CACE,IAAI,KAAK,IAAI,CAAC,CAAC,WAAW;CAC1B,WAAW,KAAK,YAAY,CAAC,CAC1B,QAAQ,CAAC,CACT,iBAAiB,SAAS,IAAI,EAAE,UAAU,UAAU,CAAC;CACxD,KAAK,KAAK,KAAK,CAAC,CAAC,QAAQ;CACzB,MAAM,KAAK,MAAM,CAAC,CAAC,QAAQ;CAC3B,cAAc,KAAK,eAAe;CAClC,OAAO,KAAK,OAAO;CACnB,WAAW,SAAS,cAAc;EAAE,MAAM;EAAU,KAAK;CAAE,CAAC,CAAC,CAAC,QAAQ;AACxE,IACC,MAAM,CAAC,YAAY,6BAA6B,CAAC,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,CAAC,CAC3E;;AAGA,MAAa,cAAc,WACzB,gBACA;CACE,IAAI,KAAK,IAAI,CAAC,CAAC,WAAW;CAC1B,WAAW,KAAK,YAAY,CAAC,CAC1B,QAAQ,CAAC,CACT,iBAAiB,SAAS,IAAI,EAAE,UAAU,UAAU,CAAC;CACxD,SAAS,KAAK,UAAU,CAAC,CACtB,QAAQ,CAAC,CACT,iBAAiB,OAAO,IAAI,EAAE,UAAU,UAAU,CAAC;CACtD,SAAS,KAAK,UAAU,CAAC,CAAC,QAAQ;CAClC,OAAO,KAAK,OAAO,CAAC,CAAC,QAAQ;CAC7B,WAAW,SAAS,cAAc;EAAE,MAAM;EAAU,KAAK;CAAE,CAAC,CAAC,CAAC,QAAQ;AACxE,IACC,MAAM,CAAC,YAAY,mCAAmC,CAAC,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAC5F"}
1
+ {"version":3,"file":"label.mjs","names":[],"sources":["../../src/schema/label.ts"],"sourcesContent":["import { mysqlTable, text, uniqueIndex } from \"drizzle-orm/mysql-core\";\nimport { builds } from \"./build.ts\";\nimport { datetime } from \"./datetime.ts\";\nimport { projects } from \"./project.ts\";\n\n/** Narrow `label_types` table definition. */\nexport const labelTypes = mysqlTable(\n \"label_types\",\n {\n id: text(\"id\").primaryKey(),\n projectId: text(\"project_id\")\n .notNull()\n .references(() => projects.id, { onDelete: \"cascade\" }),\n key: text(\"key\").notNull(),\n name: text(\"name\").notNull(),\n linkTemplate: text(\"link_template\"),\n color: text(\"color\"),\n createdAt: datetime(\"created_at\", { mode: \"string\", fsp: 3 }).notNull(),\n },\n (t) => [uniqueIndex(\"label_types_project_key_idx\").on(t.projectId, t.key)],\n);\n\n/** Narrow `build_labels` table definition. */\nexport const buildLabels = mysqlTable(\n \"build_labels\",\n {\n id: text(\"id\").primaryKey(),\n projectId: text(\"project_id\")\n .notNull()\n .references(() => projects.id, { onDelete: \"cascade\" }),\n buildId: text(\"build_id\")\n .notNull()\n .references(() => builds.id, { onDelete: \"cascade\" }),\n typeKey: text(\"type_key\").notNull(),\n value: text(\"value\").notNull(),\n createdAt: datetime(\"created_at\", { mode: \"string\", fsp: 3 }).notNull(),\n },\n (t) => [uniqueIndex(\"build_labels_build_type_value_idx\").on(t.buildId, t.typeKey, t.value)],\n);\n\n/** A label-type row. */\nexport interface LabelType {\n id: string;\n projectId: string;\n key: string;\n name: string;\n linkTemplate: string | null;\n color: string | null;\n createdAt: string;\n}\n\n/** A build-label row. */\nexport interface BuildLabel {\n id: string;\n projectId: string;\n buildId: string;\n typeKey: string;\n value: string;\n createdAt: string;\n}\n"],"mappings":";;;;;;;;;AAMA,MAAa,aAAa,WACxB,eACA;CACE,IAAI,KAAK,IAAI,CAAC,CAAC,WAAW;CAC1B,WAAW,KAAK,YAAY,CAAC,CAC1B,QAAQ,CAAC,CACT,iBAAiB,SAAS,IAAI,EAAE,UAAU,UAAU,CAAC;CACxD,KAAK,KAAK,KAAK,CAAC,CAAC,QAAQ;CACzB,MAAM,KAAK,MAAM,CAAC,CAAC,QAAQ;CAC3B,cAAc,KAAK,eAAe;CAClC,OAAO,KAAK,OAAO;CACnB,WAAW,SAAS,cAAc;EAAE,MAAM;EAAU,KAAK;CAAE,CAAC,CAAC,CAAC,QAAQ;AACxE,IACC,MAAM,CAAC,YAAY,6BAA6B,CAAC,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,CAAC,CAC3E;;AAGA,MAAa,cAAc,WACzB,gBACA;CACE,IAAI,KAAK,IAAI,CAAC,CAAC,WAAW;CAC1B,WAAW,KAAK,YAAY,CAAC,CAC1B,QAAQ,CAAC,CACT,iBAAiB,SAAS,IAAI,EAAE,UAAU,UAAU,CAAC;CACxD,SAAS,KAAK,UAAU,CAAC,CACtB,QAAQ,CAAC,CACT,iBAAiB,OAAO,IAAI,EAAE,UAAU,UAAU,CAAC;CACtD,SAAS,KAAK,UAAU,CAAC,CAAC,QAAQ;CAClC,OAAO,KAAK,OAAO,CAAC,CAAC,QAAQ;CAC7B,WAAW,SAAS,cAAc;EAAE,MAAM;EAAU,KAAK;CAAE,CAAC,CAAC,CAAC,QAAQ;AACxE,IACC,MAAM,CAAC,YAAY,mCAAmC,CAAC,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAC5F"}
@@ -1,13 +1,12 @@
1
1
  import __tsdown_shims_path from 'node:path';
2
2
  import __tsdown_shims_url from 'node:url';
3
3
  import { ProjectRole } from "@storyshelf/core/types";
4
- //#region src/schema/member.d.ts
5
4
  /** Narrow `project_members` table definition. */
6
- declare const projectMembers: import("drizzle-orm/mysql-core").MySqlTableWithColumns<{
5
+ declare const projectMembers: import("drizzle-orm/mysql-core/table.js").MySqlTableWithColumns<{
7
6
  name: "project_members";
8
7
  schema: undefined;
9
8
  columns: {
10
- id: import("drizzle-orm/mysql-core").MySqlColumn<{
9
+ id: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
11
10
  name: "id";
12
11
  tableName: "project_members";
13
12
  dataType: "string";
@@ -24,7 +23,7 @@ declare const projectMembers: import("drizzle-orm/mysql-core").MySqlTableWithCol
24
23
  identity: undefined;
25
24
  generated: undefined;
26
25
  }, {}, {}>;
27
- projectId: import("drizzle-orm/mysql-core").MySqlColumn<{
26
+ projectId: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
28
27
  name: "project_id";
29
28
  tableName: "project_members";
30
29
  dataType: "string";
@@ -41,7 +40,7 @@ declare const projectMembers: import("drizzle-orm/mysql-core").MySqlTableWithCol
41
40
  identity: undefined;
42
41
  generated: undefined;
43
42
  }, {}, {}>;
44
- userId: import("drizzle-orm/mysql-core").MySqlColumn<{
43
+ userId: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
45
44
  name: "user_id";
46
45
  tableName: "project_members";
47
46
  dataType: "string";
@@ -58,7 +57,7 @@ declare const projectMembers: import("drizzle-orm/mysql-core").MySqlTableWithCol
58
57
  identity: undefined;
59
58
  generated: undefined;
60
59
  }, {}, {}>;
61
- role: import("drizzle-orm/mysql-core").MySqlColumn<{
60
+ role: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
62
61
  name: "role";
63
62
  tableName: "project_members";
64
63
  dataType: "string";
@@ -77,7 +76,7 @@ declare const projectMembers: import("drizzle-orm/mysql-core").MySqlTableWithCol
77
76
  }, {}, {
78
77
  $type: "admin" | "approver" | "developer" | "viewer";
79
78
  }>;
80
- source: import("drizzle-orm/mysql-core").MySqlColumn<{
79
+ source: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
81
80
  name: "source";
82
81
  tableName: "project_members";
83
82
  dataType: "string";
@@ -94,13 +93,13 @@ declare const projectMembers: import("drizzle-orm/mysql-core").MySqlTableWithCol
94
93
  identity: undefined;
95
94
  generated: undefined;
96
95
  }, {}, {}>;
97
- createdAt: import("drizzle-orm/mysql-core").MySqlColumn<{
96
+ createdAt: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
98
97
  name: "created_at";
99
98
  tableName: "project_members";
100
- dataType: "string";
101
- columnType: "MySqlDateTimeString";
99
+ dataType: "custom";
100
+ columnType: "MySqlCustomColumn";
102
101
  data: string;
103
- driverParam: string | number;
102
+ driverParam: string;
104
103
  notNull: true;
105
104
  hasDefault: false;
106
105
  isPrimaryKey: false;
@@ -124,6 +123,5 @@ interface ProjectMember {
124
123
  source: string;
125
124
  createdAt: string;
126
125
  }
127
- //#endregion
128
126
  export { ProjectMember, projectMembers };
129
127
  //# sourceMappingURL=member.d.mts.map
@@ -1,10 +1,11 @@
1
1
  import "node:path";
2
2
  import "node:url";
3
3
  import.meta.url;
4
+ import { datetime } from "./datetime.mjs";
4
5
  import { projects } from "./project.mjs";
5
6
  import { users } from "./user.mjs";
6
- import { datetime, mysqlTable, text, uniqueIndex } from "drizzle-orm/mysql-core";
7
- //#region src/schema/member.ts
7
+ import { mysqlTable, text, uniqueIndex } from "drizzle-orm/mysql-core";
8
+ // src/schema/member.ts
8
9
  /** Narrow `project_members` table definition. */
9
10
  const projectMembers = mysqlTable("project_members", {
10
11
  id: text("id").primaryKey(),
@@ -17,7 +18,6 @@ const projectMembers = mysqlTable("project_members", {
17
18
  fsp: 3
18
19
  }).notNull()
19
20
  }, (t) => [uniqueIndex("project_members_project_user_idx").on(t.projectId, t.userId)]);
20
- //#endregion
21
21
  export { projectMembers };
22
22
 
23
23
  //# sourceMappingURL=member.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"member.mjs","names":[],"sources":["../../src/schema/member.ts"],"sourcesContent":["import type { ProjectRole } from \"@storyshelf/core/types\";\nimport { mysqlTable, text, datetime, uniqueIndex } from \"drizzle-orm/mysql-core\";\nimport { projects } from \"./project.ts\";\nimport { users } from \"./user.ts\";\n\n/** Narrow `project_members` table definition. */\nexport const projectMembers = mysqlTable(\n \"project_members\",\n {\n id: text(\"id\").primaryKey(),\n projectId: text(\"project_id\")\n .notNull()\n .references(() => projects.id, { onDelete: \"cascade\" }),\n userId: text(\"user_id\")\n .notNull()\n .references(() => users.id, { onDelete: \"cascade\" }),\n role: text(\"role\").$type<ProjectRole>().notNull().default(\"viewer\"),\n source: text(\"source\").notNull().default(\"manual\"),\n createdAt: datetime(\"created_at\", { mode: \"string\", fsp: 3 }).notNull(),\n },\n (t) => [uniqueIndex(\"project_members_project_user_idx\").on(t.projectId, t.userId)],\n);\n\n/** A project-membership row. */\nexport interface ProjectMember {\n id: string;\n projectId: string;\n userId: string;\n role: ProjectRole;\n /** Provenance: `manual` grants vs `oidc:<group>` synced grants. */\n source: string;\n createdAt: string;\n}\n"],"mappings":";;;;;;;;AAMA,MAAa,iBAAiB,WAC5B,mBACA;CACE,IAAI,KAAK,IAAI,CAAC,CAAC,WAAW;CAC1B,WAAW,KAAK,YAAY,CAAC,CAC1B,QAAQ,CAAC,CACT,iBAAiB,SAAS,IAAI,EAAE,UAAU,UAAU,CAAC;CACxD,QAAQ,KAAK,SAAS,CAAC,CACpB,QAAQ,CAAC,CACT,iBAAiB,MAAM,IAAI,EAAE,UAAU,UAAU,CAAC;CACrD,MAAM,KAAK,MAAM,CAAC,CAAC,MAAmB,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,QAAQ;CAClE,QAAQ,KAAK,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,QAAQ;CACjD,WAAW,SAAS,cAAc;EAAE,MAAM;EAAU,KAAK;CAAE,CAAC,CAAC,CAAC,QAAQ;AACxE,IACC,MAAM,CAAC,YAAY,kCAAkC,CAAC,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,CAAC,CACnF"}
1
+ {"version":3,"file":"member.mjs","names":[],"sources":["../../src/schema/member.ts"],"sourcesContent":["import type { ProjectRole } from \"@storyshelf/core/types\";\nimport { mysqlTable, text, uniqueIndex } from \"drizzle-orm/mysql-core\";\nimport { datetime } from \"./datetime.ts\";\nimport { projects } from \"./project.ts\";\nimport { users } from \"./user.ts\";\n\n/** Narrow `project_members` table definition. */\nexport const projectMembers = mysqlTable(\n \"project_members\",\n {\n id: text(\"id\").primaryKey(),\n projectId: text(\"project_id\")\n .notNull()\n .references(() => projects.id, { onDelete: \"cascade\" }),\n userId: text(\"user_id\")\n .notNull()\n .references(() => users.id, { onDelete: \"cascade\" }),\n role: text(\"role\").$type<ProjectRole>().notNull().default(\"viewer\"),\n source: text(\"source\").notNull().default(\"manual\"),\n createdAt: datetime(\"created_at\", { mode: \"string\", fsp: 3 }).notNull(),\n },\n (t) => [uniqueIndex(\"project_members_project_user_idx\").on(t.projectId, t.userId)],\n);\n\n/** A project-membership row. */\nexport interface ProjectMember {\n id: string;\n projectId: string;\n userId: string;\n role: ProjectRole;\n /** Provenance: `manual` grants vs `oidc:<group>` synced grants. */\n source: string;\n createdAt: string;\n}\n"],"mappings":";;;;;;;;;AAOA,MAAa,iBAAiB,WAC5B,mBACA;CACE,IAAI,KAAK,IAAI,CAAC,CAAC,WAAW;CAC1B,WAAW,KAAK,YAAY,CAAC,CAC1B,QAAQ,CAAC,CACT,iBAAiB,SAAS,IAAI,EAAE,UAAU,UAAU,CAAC;CACxD,QAAQ,KAAK,SAAS,CAAC,CACpB,QAAQ,CAAC,CACT,iBAAiB,MAAM,IAAI,EAAE,UAAU,UAAU,CAAC;CACrD,MAAM,KAAK,MAAM,CAAC,CAAC,MAAmB,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,QAAQ;CAClE,QAAQ,KAAK,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,QAAQ;CACjD,WAAW,SAAS,cAAc;EAAE,MAAM;EAAU,KAAK;CAAE,CAAC,CAAC,CAAC,QAAQ;AACxE,IACC,MAAM,CAAC,YAAY,kCAAkC,CAAC,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,CAAC,CACnF"}
@@ -1,12 +1,11 @@
1
1
  import __tsdown_shims_path from 'node:path';
2
2
  import __tsdown_shims_url from 'node:url';
3
- //#region src/schema/notification.d.ts
4
3
  /** Narrow `notification_channels` table definition. */
5
- declare const notificationChannels: import("drizzle-orm/mysql-core").MySqlTableWithColumns<{
4
+ declare const notificationChannels: import("drizzle-orm/mysql-core/table.js").MySqlTableWithColumns<{
6
5
  name: "notification_channels";
7
6
  schema: undefined;
8
7
  columns: {
9
- id: import("drizzle-orm/mysql-core").MySqlColumn<{
8
+ id: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
10
9
  name: "id";
11
10
  tableName: "notification_channels";
12
11
  dataType: "string";
@@ -23,7 +22,7 @@ declare const notificationChannels: import("drizzle-orm/mysql-core").MySqlTableW
23
22
  identity: undefined;
24
23
  generated: undefined;
25
24
  }, {}, {}>;
26
- projectId: import("drizzle-orm/mysql-core").MySqlColumn<{
25
+ projectId: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
27
26
  name: "project_id";
28
27
  tableName: "notification_channels";
29
28
  dataType: "string";
@@ -40,7 +39,7 @@ declare const notificationChannels: import("drizzle-orm/mysql-core").MySqlTableW
40
39
  identity: undefined;
41
40
  generated: undefined;
42
41
  }, {}, {}>;
43
- provider: import("drizzle-orm/mysql-core").MySqlColumn<{
42
+ provider: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
44
43
  name: "provider";
45
44
  tableName: "notification_channels";
46
45
  dataType: "string";
@@ -57,7 +56,7 @@ declare const notificationChannels: import("drizzle-orm/mysql-core").MySqlTableW
57
56
  identity: undefined;
58
57
  generated: undefined;
59
58
  }, {}, {}>;
60
- config: import("drizzle-orm/mysql-core").MySqlColumn<{
59
+ config: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
61
60
  name: "config";
62
61
  tableName: "notification_channels";
63
62
  dataType: "string";
@@ -74,7 +73,7 @@ declare const notificationChannels: import("drizzle-orm/mysql-core").MySqlTableW
74
73
  identity: undefined;
75
74
  generated: undefined;
76
75
  }, {}, {}>;
77
- secretEncrypted: import("drizzle-orm/mysql-core").MySqlColumn<{
76
+ secretEncrypted: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
78
77
  name: "secret_encrypted";
79
78
  tableName: "notification_channels";
80
79
  dataType: "string";
@@ -91,7 +90,7 @@ declare const notificationChannels: import("drizzle-orm/mysql-core").MySqlTableW
91
90
  identity: undefined;
92
91
  generated: undefined;
93
92
  }, {}, {}>;
94
- events: import("drizzle-orm/mysql-core").MySqlColumn<{
93
+ events: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
95
94
  name: "events";
96
95
  tableName: "notification_channels";
97
96
  dataType: "string";
@@ -108,7 +107,7 @@ declare const notificationChannels: import("drizzle-orm/mysql-core").MySqlTableW
108
107
  identity: undefined;
109
108
  generated: undefined;
110
109
  }, {}, {}>;
111
- enabled: import("drizzle-orm/mysql-core").MySqlColumn<{
110
+ enabled: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
112
111
  name: "enabled";
113
112
  tableName: "notification_channels";
114
113
  dataType: "boolean";
@@ -125,13 +124,47 @@ declare const notificationChannels: import("drizzle-orm/mysql-core").MySqlTableW
125
124
  identity: undefined;
126
125
  generated: undefined;
127
126
  }, {}, {}>;
128
- createdAt: import("drizzle-orm/mysql-core").MySqlColumn<{
129
- name: "created_at";
127
+ lastError: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
128
+ name: "last_error";
130
129
  tableName: "notification_channels";
131
130
  dataType: "string";
132
- columnType: "MySqlDateTimeString";
131
+ columnType: "MySqlText";
132
+ data: string;
133
+ driverParam: string;
134
+ notNull: false;
135
+ hasDefault: false;
136
+ isPrimaryKey: false;
137
+ isAutoincrement: false;
138
+ hasRuntimeDefault: false;
139
+ enumValues: [string, ...string[]];
140
+ baseColumn: never;
141
+ identity: undefined;
142
+ generated: undefined;
143
+ }, {}, {}>;
144
+ lastErrorAt: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
145
+ name: "last_error_at";
146
+ tableName: "notification_channels";
147
+ dataType: "custom";
148
+ columnType: "MySqlCustomColumn";
149
+ data: string;
150
+ driverParam: string;
151
+ notNull: false;
152
+ hasDefault: false;
153
+ isPrimaryKey: false;
154
+ isAutoincrement: false;
155
+ hasRuntimeDefault: false;
156
+ enumValues: undefined;
157
+ baseColumn: never;
158
+ identity: undefined;
159
+ generated: undefined;
160
+ }, {}, {}>;
161
+ createdAt: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
162
+ name: "created_at";
163
+ tableName: "notification_channels";
164
+ dataType: "custom";
165
+ columnType: "MySqlCustomColumn";
133
166
  data: string;
134
- driverParam: string | number;
167
+ driverParam: string;
135
168
  notNull: true;
136
169
  hasDefault: false;
137
170
  isPrimaryKey: false;
@@ -142,13 +175,13 @@ declare const notificationChannels: import("drizzle-orm/mysql-core").MySqlTableW
142
175
  identity: undefined;
143
176
  generated: undefined;
144
177
  }, {}, {}>;
145
- updatedAt: import("drizzle-orm/mysql-core").MySqlColumn<{
178
+ updatedAt: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
146
179
  name: "updated_at";
147
180
  tableName: "notification_channels";
148
- dataType: "string";
149
- columnType: "MySqlDateTimeString";
181
+ dataType: "custom";
182
+ columnType: "MySqlCustomColumn";
150
183
  data: string;
151
- driverParam: string | number;
184
+ driverParam: string;
152
185
  notNull: true;
153
186
  hasDefault: false;
154
187
  isPrimaryKey: false;
@@ -163,11 +196,11 @@ declare const notificationChannels: import("drizzle-orm/mysql-core").MySqlTableW
163
196
  dialect: 'mysql';
164
197
  }>;
165
198
  /** Narrow `notification_subscriptions` table definition. */
166
- declare const notificationSubscriptions: import("drizzle-orm/mysql-core").MySqlTableWithColumns<{
199
+ declare const notificationSubscriptions: import("drizzle-orm/mysql-core/table.js").MySqlTableWithColumns<{
167
200
  name: "notification_subscriptions";
168
201
  schema: undefined;
169
202
  columns: {
170
- id: import("drizzle-orm/mysql-core").MySqlColumn<{
203
+ id: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
171
204
  name: "id";
172
205
  tableName: "notification_subscriptions";
173
206
  dataType: "string";
@@ -184,7 +217,7 @@ declare const notificationSubscriptions: import("drizzle-orm/mysql-core").MySqlT
184
217
  identity: undefined;
185
218
  generated: undefined;
186
219
  }, {}, {}>;
187
- projectId: import("drizzle-orm/mysql-core").MySqlColumn<{
220
+ projectId: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
188
221
  name: "project_id";
189
222
  tableName: "notification_subscriptions";
190
223
  dataType: "string";
@@ -201,7 +234,7 @@ declare const notificationSubscriptions: import("drizzle-orm/mysql-core").MySqlT
201
234
  identity: undefined;
202
235
  generated: undefined;
203
236
  }, {}, {}>;
204
- userId: import("drizzle-orm/mysql-core").MySqlColumn<{
237
+ userId: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
205
238
  name: "user_id";
206
239
  tableName: "notification_subscriptions";
207
240
  dataType: "string";
@@ -218,7 +251,7 @@ declare const notificationSubscriptions: import("drizzle-orm/mysql-core").MySqlT
218
251
  identity: undefined;
219
252
  generated: undefined;
220
253
  }, {}, {}>;
221
- events: import("drizzle-orm/mysql-core").MySqlColumn<{
254
+ events: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
222
255
  name: "events";
223
256
  tableName: "notification_subscriptions";
224
257
  dataType: "string";
@@ -235,7 +268,7 @@ declare const notificationSubscriptions: import("drizzle-orm/mysql-core").MySqlT
235
268
  identity: undefined;
236
269
  generated: undefined;
237
270
  }, {}, {}>;
238
- via: import("drizzle-orm/mysql-core").MySqlColumn<{
271
+ via: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
239
272
  name: "via";
240
273
  tableName: "notification_subscriptions";
241
274
  dataType: "string";
@@ -252,7 +285,7 @@ declare const notificationSubscriptions: import("drizzle-orm/mysql-core").MySqlT
252
285
  identity: undefined;
253
286
  generated: undefined;
254
287
  }, {}, {}>;
255
- enabled: import("drizzle-orm/mysql-core").MySqlColumn<{
288
+ enabled: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
256
289
  name: "enabled";
257
290
  tableName: "notification_subscriptions";
258
291
  dataType: "boolean";
@@ -269,13 +302,13 @@ declare const notificationSubscriptions: import("drizzle-orm/mysql-core").MySqlT
269
302
  identity: undefined;
270
303
  generated: undefined;
271
304
  }, {}, {}>;
272
- createdAt: import("drizzle-orm/mysql-core").MySqlColumn<{
305
+ createdAt: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
273
306
  name: "created_at";
274
307
  tableName: "notification_subscriptions";
275
- dataType: "string";
276
- columnType: "MySqlDateTimeString";
308
+ dataType: "custom";
309
+ columnType: "MySqlCustomColumn";
277
310
  data: string;
278
- driverParam: string | number;
311
+ driverParam: string;
279
312
  notNull: true;
280
313
  hasDefault: false;
281
314
  isPrimaryKey: false;
@@ -298,6 +331,8 @@ interface NotificationChannel {
298
331
  secretEncrypted: string | null;
299
332
  events: string | null;
300
333
  enabled: boolean;
334
+ lastError: string | null;
335
+ lastErrorAt: string | null;
301
336
  createdAt: string;
302
337
  updatedAt: string;
303
338
  }
@@ -311,6 +346,5 @@ interface NotificationSubscription {
311
346
  enabled: boolean;
312
347
  createdAt: string;
313
348
  }
314
- //#endregion
315
349
  export { NotificationChannel, NotificationSubscription, notificationChannels, notificationSubscriptions };
316
350
  //# sourceMappingURL=notification.d.mts.map
@@ -1,10 +1,11 @@
1
1
  import "node:path";
2
2
  import "node:url";
3
3
  import.meta.url;
4
+ import { datetime } from "./datetime.mjs";
4
5
  import { projects } from "./project.mjs";
5
6
  import { users } from "./user.mjs";
6
- import { boolean, datetime, mysqlTable, text } from "drizzle-orm/mysql-core";
7
- //#region src/schema/notification.ts
7
+ import { boolean, mysqlTable, text } from "drizzle-orm/mysql-core";
8
+ // src/schema/notification.ts
8
9
  /** Narrow `notification_channels` table definition. */
9
10
  const notificationChannels = mysqlTable("notification_channels", {
10
11
  id: text("id").primaryKey(),
@@ -14,6 +15,11 @@ const notificationChannels = mysqlTable("notification_channels", {
14
15
  secretEncrypted: text("secret_encrypted"),
15
16
  events: text("events"),
16
17
  enabled: boolean("enabled").notNull().default(true),
18
+ lastError: text("last_error"),
19
+ lastErrorAt: datetime("last_error_at", {
20
+ mode: "string",
21
+ fsp: 3
22
+ }),
17
23
  createdAt: datetime("created_at", {
18
24
  mode: "string",
19
25
  fsp: 3
@@ -36,7 +42,6 @@ const notificationSubscriptions = mysqlTable("notification_subscriptions", {
36
42
  fsp: 3
37
43
  }).notNull()
38
44
  });
39
- //#endregion
40
45
  export { notificationChannels, notificationSubscriptions };
41
46
 
42
47
  //# sourceMappingURL=notification.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"notification.mjs","names":[],"sources":["../../src/schema/notification.ts"],"sourcesContent":["import { boolean, datetime, mysqlTable, text } from \"drizzle-orm/mysql-core\";\nimport { projects } from \"./project.ts\";\nimport { users } from \"./user.ts\";\n\n/** Narrow `notification_channels` table definition. */\nexport const notificationChannels = mysqlTable(\"notification_channels\", {\n id: text(\"id\").primaryKey(),\n projectId: text(\"project_id\").references(() => projects.id, { onDelete: \"cascade\" }),\n provider: text(\"provider\").notNull(),\n config: text(\"config\").notNull(),\n secretEncrypted: text(\"secret_encrypted\"),\n events: text(\"events\"),\n enabled: boolean(\"enabled\").notNull().default(true),\n createdAt: datetime(\"created_at\", { mode: \"string\", fsp: 3 }).notNull(),\n updatedAt: datetime(\"updated_at\", { mode: \"string\", fsp: 3 }).notNull(),\n});\n\n/** Narrow `notification_subscriptions` table definition. */\nexport const notificationSubscriptions = mysqlTable(\"notification_subscriptions\", {\n id: text(\"id\").primaryKey(),\n projectId: text(\"project_id\")\n .notNull()\n .references(() => projects.id, { onDelete: \"cascade\" }),\n userId: text(\"user_id\")\n .notNull()\n .references(() => users.id, { onDelete: \"cascade\" }),\n events: text(\"events\"),\n via: text(\"via\"),\n enabled: boolean(\"enabled\").notNull().default(true),\n createdAt: datetime(\"created_at\", { mode: \"string\", fsp: 3 }).notNull(),\n});\n\n/** A notification channel row. */\nexport interface NotificationChannel {\n id: string;\n projectId: string | null;\n provider: string;\n config: string;\n secretEncrypted: string | null;\n events: string | null;\n enabled: boolean;\n createdAt: string;\n updatedAt: string;\n}\n\n/** A per-user notification subscription row. */\nexport interface NotificationSubscription {\n id: string;\n projectId: string;\n userId: string;\n events: string | null;\n via: string | null;\n enabled: boolean;\n createdAt: string;\n}\n"],"mappings":";;;;;;;;AAKA,MAAa,uBAAuB,WAAW,yBAAyB;CACtE,IAAI,KAAK,IAAI,CAAC,CAAC,WAAW;CAC1B,WAAW,KAAK,YAAY,CAAC,CAAC,iBAAiB,SAAS,IAAI,EAAE,UAAU,UAAU,CAAC;CACnF,UAAU,KAAK,UAAU,CAAC,CAAC,QAAQ;CACnC,QAAQ,KAAK,QAAQ,CAAC,CAAC,QAAQ;CAC/B,iBAAiB,KAAK,kBAAkB;CACxC,QAAQ,KAAK,QAAQ;CACrB,SAAS,QAAQ,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,IAAI;CAClD,WAAW,SAAS,cAAc;EAAE,MAAM;EAAU,KAAK;CAAE,CAAC,CAAC,CAAC,QAAQ;CACtE,WAAW,SAAS,cAAc;EAAE,MAAM;EAAU,KAAK;CAAE,CAAC,CAAC,CAAC,QAAQ;AACxE,CAAC;;AAGD,MAAa,4BAA4B,WAAW,8BAA8B;CAChF,IAAI,KAAK,IAAI,CAAC,CAAC,WAAW;CAC1B,WAAW,KAAK,YAAY,CAAC,CAC1B,QAAQ,CAAC,CACT,iBAAiB,SAAS,IAAI,EAAE,UAAU,UAAU,CAAC;CACxD,QAAQ,KAAK,SAAS,CAAC,CACpB,QAAQ,CAAC,CACT,iBAAiB,MAAM,IAAI,EAAE,UAAU,UAAU,CAAC;CACrD,QAAQ,KAAK,QAAQ;CACrB,KAAK,KAAK,KAAK;CACf,SAAS,QAAQ,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,IAAI;CAClD,WAAW,SAAS,cAAc;EAAE,MAAM;EAAU,KAAK;CAAE,CAAC,CAAC,CAAC,QAAQ;AACxE,CAAC"}
1
+ {"version":3,"file":"notification.mjs","names":[],"sources":["../../src/schema/notification.ts"],"sourcesContent":["import { boolean, mysqlTable, text } from \"drizzle-orm/mysql-core\";\nimport { datetime } from \"./datetime.ts\";\nimport { projects } from \"./project.ts\";\nimport { users } from \"./user.ts\";\n\n/** Narrow `notification_channels` table definition. */\nexport const notificationChannels = mysqlTable(\"notification_channels\", {\n id: text(\"id\").primaryKey(),\n projectId: text(\"project_id\").references(() => projects.id, { onDelete: \"cascade\" }),\n provider: text(\"provider\").notNull(),\n config: text(\"config\").notNull(),\n secretEncrypted: text(\"secret_encrypted\"),\n events: text(\"events\"),\n enabled: boolean(\"enabled\").notNull().default(true),\n lastError: text(\"last_error\"),\n lastErrorAt: datetime(\"last_error_at\", { mode: \"string\", fsp: 3 }),\n createdAt: datetime(\"created_at\", { mode: \"string\", fsp: 3 }).notNull(),\n updatedAt: datetime(\"updated_at\", { mode: \"string\", fsp: 3 }).notNull(),\n});\n\n/** Narrow `notification_subscriptions` table definition. */\nexport const notificationSubscriptions = mysqlTable(\"notification_subscriptions\", {\n id: text(\"id\").primaryKey(),\n projectId: text(\"project_id\")\n .notNull()\n .references(() => projects.id, { onDelete: \"cascade\" }),\n userId: text(\"user_id\")\n .notNull()\n .references(() => users.id, { onDelete: \"cascade\" }),\n events: text(\"events\"),\n via: text(\"via\"),\n enabled: boolean(\"enabled\").notNull().default(true),\n createdAt: datetime(\"created_at\", { mode: \"string\", fsp: 3 }).notNull(),\n});\n\n/** A notification channel row. */\nexport interface NotificationChannel {\n id: string;\n projectId: string | null;\n provider: string;\n config: string;\n secretEncrypted: string | null;\n events: string | null;\n enabled: boolean;\n lastError: string | null;\n lastErrorAt: string | null;\n createdAt: string;\n updatedAt: string;\n}\n\n/** A per-user notification subscription row. */\nexport interface NotificationSubscription {\n id: string;\n projectId: string;\n userId: string;\n events: string | null;\n via: string | null;\n enabled: boolean;\n createdAt: string;\n}\n"],"mappings":";;;;;;;;;AAMA,MAAa,uBAAuB,WAAW,yBAAyB;CACtE,IAAI,KAAK,IAAI,CAAC,CAAC,WAAW;CAC1B,WAAW,KAAK,YAAY,CAAC,CAAC,iBAAiB,SAAS,IAAI,EAAE,UAAU,UAAU,CAAC;CACnF,UAAU,KAAK,UAAU,CAAC,CAAC,QAAQ;CACnC,QAAQ,KAAK,QAAQ,CAAC,CAAC,QAAQ;CAC/B,iBAAiB,KAAK,kBAAkB;CACxC,QAAQ,KAAK,QAAQ;CACrB,SAAS,QAAQ,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,IAAI;CAClD,WAAW,KAAK,YAAY;CAC5B,aAAa,SAAS,iBAAiB;EAAE,MAAM;EAAU,KAAK;CAAE,CAAC;CACjE,WAAW,SAAS,cAAc;EAAE,MAAM;EAAU,KAAK;CAAE,CAAC,CAAC,CAAC,QAAQ;CACtE,WAAW,SAAS,cAAc;EAAE,MAAM;EAAU,KAAK;CAAE,CAAC,CAAC,CAAC,QAAQ;AACxE,CAAC;;AAGD,MAAa,4BAA4B,WAAW,8BAA8B;CAChF,IAAI,KAAK,IAAI,CAAC,CAAC,WAAW;CAC1B,WAAW,KAAK,YAAY,CAAC,CAC1B,QAAQ,CAAC,CACT,iBAAiB,SAAS,IAAI,EAAE,UAAU,UAAU,CAAC;CACxD,QAAQ,KAAK,SAAS,CAAC,CACpB,QAAQ,CAAC,CACT,iBAAiB,MAAM,IAAI,EAAE,UAAU,UAAU,CAAC;CACrD,QAAQ,KAAK,QAAQ;CACrB,KAAK,KAAK,KAAK;CACf,SAAS,QAAQ,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,IAAI;CAClD,WAAW,SAAS,cAAc;EAAE,MAAM;EAAU,KAAK;CAAE,CAAC,CAAC,CAAC,QAAQ;AACxE,CAAC"}
@@ -1,13 +1,12 @@
1
1
  import __tsdown_shims_path from 'node:path';
2
2
  import __tsdown_shims_url from 'node:url';
3
3
  import { ProjectRole } from "@storyshelf/core/types";
4
- //#region src/schema/project-group-mapping.d.ts
5
4
  /** Narrow `project_group_mappings` table definition. */
6
- declare const projectGroupMappings: import("drizzle-orm/mysql-core").MySqlTableWithColumns<{
5
+ declare const projectGroupMappings: import("drizzle-orm/mysql-core/table.js").MySqlTableWithColumns<{
7
6
  name: "project_group_mappings";
8
7
  schema: undefined;
9
8
  columns: {
10
- id: import("drizzle-orm/mysql-core").MySqlColumn<{
9
+ id: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
11
10
  name: "id";
12
11
  tableName: "project_group_mappings";
13
12
  dataType: "string";
@@ -24,7 +23,7 @@ declare const projectGroupMappings: import("drizzle-orm/mysql-core").MySqlTableW
24
23
  identity: undefined;
25
24
  generated: undefined;
26
25
  }, {}, {}>;
27
- projectId: import("drizzle-orm/mysql-core").MySqlColumn<{
26
+ projectId: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
28
27
  name: "project_id";
29
28
  tableName: "project_group_mappings";
30
29
  dataType: "string";
@@ -41,7 +40,7 @@ declare const projectGroupMappings: import("drizzle-orm/mysql-core").MySqlTableW
41
40
  identity: undefined;
42
41
  generated: undefined;
43
42
  }, {}, {}>;
44
- groupName: import("drizzle-orm/mysql-core").MySqlColumn<{
43
+ groupName: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
45
44
  name: "group_name";
46
45
  tableName: "project_group_mappings";
47
46
  dataType: "string";
@@ -58,7 +57,7 @@ declare const projectGroupMappings: import("drizzle-orm/mysql-core").MySqlTableW
58
57
  identity: undefined;
59
58
  generated: undefined;
60
59
  }, {}, {}>;
61
- role: import("drizzle-orm/mysql-core").MySqlColumn<{
60
+ role: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
62
61
  name: "role";
63
62
  tableName: "project_group_mappings";
64
63
  dataType: "string";
@@ -77,13 +76,13 @@ declare const projectGroupMappings: import("drizzle-orm/mysql-core").MySqlTableW
77
76
  }, {}, {
78
77
  $type: "admin" | "approver" | "developer" | "viewer";
79
78
  }>;
80
- createdAt: import("drizzle-orm/mysql-core").MySqlColumn<{
79
+ createdAt: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
81
80
  name: "created_at";
82
81
  tableName: "project_group_mappings";
83
- dataType: "string";
84
- columnType: "MySqlDateTimeString";
82
+ dataType: "custom";
83
+ columnType: "MySqlCustomColumn";
85
84
  data: string;
86
- driverParam: string | number;
85
+ driverParam: string;
87
86
  notNull: true;
88
87
  hasDefault: false;
89
88
  isPrimaryKey: false;
@@ -105,6 +104,5 @@ interface ProjectGroupMapping {
105
104
  role: ProjectRole;
106
105
  createdAt: string;
107
106
  }
108
- //#endregion
109
107
  export { ProjectGroupMapping, projectGroupMappings };
110
108
  //# sourceMappingURL=project-group-mapping.d.mts.map