@storyshelf/db-postgres 0.0.0-stage → 0.5.3

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 (81) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +18 -2
  3. package/dist/ddl.d.mts +8 -0
  4. package/dist/ddl.mjs +321 -0
  5. package/dist/ddl.mjs.map +1 -0
  6. package/dist/drizzle-factory-pg.mjs +77 -0
  7. package/dist/drizzle-factory-pg.mjs.map +1 -0
  8. package/dist/drizzle-factory.mjs +42 -0
  9. package/dist/drizzle-factory.mjs.map +1 -0
  10. package/dist/index.d.mts +50 -0
  11. package/dist/index.mjs +51 -0
  12. package/dist/index.mjs.map +1 -0
  13. package/dist/migrate.mjs +91 -0
  14. package/dist/migrate.mjs.map +1 -0
  15. package/dist/neon-http.d.mts +27 -0
  16. package/dist/neon-http.mjs +66 -0
  17. package/dist/neon-http.mjs.map +1 -0
  18. package/dist/neon.d.mts +29 -0
  19. package/dist/neon.mjs +59 -0
  20. package/dist/neon.mjs.map +1 -0
  21. package/dist/pg.d.mts +33 -0
  22. package/dist/pg.mjs +56 -0
  23. package/dist/pg.mjs.map +1 -0
  24. package/dist/pglite.d.mts +28 -0
  25. package/dist/pglite.mjs +54 -0
  26. package/dist/pglite.mjs.map +1 -0
  27. package/dist/schema/baseline.d.mts +197 -0
  28. package/dist/schema/baseline.mjs +29 -0
  29. package/dist/schema/baseline.mjs.map +1 -0
  30. package/dist/schema/build.d.mts +380 -0
  31. package/dist/schema/build.mjs +39 -0
  32. package/dist/schema/build.mjs.map +1 -0
  33. package/dist/schema/capture-attempt.d.mts +445 -0
  34. package/dist/schema/capture-attempt.mjs +58 -0
  35. package/dist/schema/capture-attempt.mjs.map +1 -0
  36. package/dist/schema/comment.d.mts +197 -0
  37. package/dist/schema/comment.mjs +32 -0
  38. package/dist/schema/comment.mjs.map +1 -0
  39. package/dist/schema/content-refs.d.mts +89 -0
  40. package/dist/schema/content-refs.mjs +22 -0
  41. package/dist/schema/content-refs.mjs.map +1 -0
  42. package/dist/schema/label.d.mts +262 -0
  43. package/dist/schema/label.mjs +36 -0
  44. package/dist/schema/label.mjs.map +1 -0
  45. package/dist/schema/member.d.mts +129 -0
  46. package/dist/schema/member.mjs +23 -0
  47. package/dist/schema/member.mjs.map +1 -0
  48. package/dist/schema/notification.d.mts +316 -0
  49. package/dist/schema/notification.mjs +42 -0
  50. package/dist/schema/notification.mjs.map +1 -0
  51. package/dist/schema/project-group-mapping.d.mts +110 -0
  52. package/dist/schema/project-group-mapping.mjs +21 -0
  53. package/dist/schema/project-group-mapping.mjs.map +1 -0
  54. package/dist/schema/project.d.mts +337 -0
  55. package/dist/schema/project.mjs +35 -0
  56. package/dist/schema/project.mjs.map +1 -0
  57. package/dist/schema/snapshot.d.mts +452 -0
  58. package/dist/schema/snapshot.mjs +47 -0
  59. package/dist/schema/snapshot.mjs.map +1 -0
  60. package/dist/schema/status-config.d.mts +143 -0
  61. package/dist/schema/status-config.mjs +26 -0
  62. package/dist/schema/status-config.mjs.map +1 -0
  63. package/dist/schema/token.d.mts +143 -0
  64. package/dist/schema/token.mjs +27 -0
  65. package/dist/schema/token.mjs.map +1 -0
  66. package/dist/schema/user-invite.d.mts +125 -0
  67. package/dist/schema/user-invite.mjs +28 -0
  68. package/dist/schema/user-invite.mjs.map +1 -0
  69. package/dist/schema/user.d.mts +146 -0
  70. package/dist/schema/user.mjs +25 -0
  71. package/dist/schema/user.mjs.map +1 -0
  72. package/dist/schema/webhook.d.mts +143 -0
  73. package/dist/schema/webhook.mjs +26 -0
  74. package/dist/schema/webhook.mjs.map +1 -0
  75. package/dist/schema.d.mts +47 -0
  76. package/dist/schema.mjs +46 -0
  77. package/dist/schema.mjs.map +1 -0
  78. package/dist/vercel.d.mts +26 -0
  79. package/dist/vercel.mjs +48 -0
  80. package/dist/vercel.mjs.map +1 -0
  81. package/package.json +134 -4
@@ -0,0 +1,143 @@
1
+ import __tsdown_shims_path from 'node:path';
2
+ import __tsdown_shims_url from 'node:url';
3
+ //#region src/schema/token.d.ts
4
+ /** Narrow `tokens` table definition. */
5
+ declare const tokens: import("drizzle-orm/pg-core").PgTableWithColumns<{
6
+ name: "tokens";
7
+ schema: undefined;
8
+ columns: {
9
+ id: import("drizzle-orm/pg-core").PgColumn<{
10
+ name: "id";
11
+ tableName: "tokens";
12
+ dataType: "string";
13
+ columnType: "PgText";
14
+ data: string;
15
+ driverParam: string;
16
+ notNull: true;
17
+ hasDefault: false;
18
+ isPrimaryKey: true;
19
+ isAutoincrement: false;
20
+ hasRuntimeDefault: false;
21
+ enumValues: [string, ...string[]];
22
+ baseColumn: never;
23
+ identity: undefined;
24
+ generated: undefined;
25
+ }, {}, {}>;
26
+ projectId: import("drizzle-orm/pg-core").PgColumn<{
27
+ name: "project_id";
28
+ tableName: "tokens";
29
+ dataType: "string";
30
+ columnType: "PgText";
31
+ data: string;
32
+ driverParam: string;
33
+ notNull: true;
34
+ hasDefault: false;
35
+ isPrimaryKey: false;
36
+ isAutoincrement: false;
37
+ hasRuntimeDefault: false;
38
+ enumValues: [string, ...string[]];
39
+ baseColumn: never;
40
+ identity: undefined;
41
+ generated: undefined;
42
+ }, {}, {}>;
43
+ name: import("drizzle-orm/pg-core").PgColumn<{
44
+ name: "name";
45
+ tableName: "tokens";
46
+ dataType: "string";
47
+ columnType: "PgText";
48
+ data: string;
49
+ driverParam: string;
50
+ notNull: true;
51
+ hasDefault: false;
52
+ isPrimaryKey: false;
53
+ isAutoincrement: false;
54
+ hasRuntimeDefault: false;
55
+ enumValues: [string, ...string[]];
56
+ baseColumn: never;
57
+ identity: undefined;
58
+ generated: undefined;
59
+ }, {}, {}>;
60
+ hash: import("drizzle-orm/pg-core").PgColumn<{
61
+ name: "hash";
62
+ tableName: "tokens";
63
+ dataType: "string";
64
+ columnType: "PgText";
65
+ data: string;
66
+ driverParam: string;
67
+ notNull: true;
68
+ hasDefault: false;
69
+ isPrimaryKey: false;
70
+ isAutoincrement: false;
71
+ hasRuntimeDefault: false;
72
+ enumValues: [string, ...string[]];
73
+ baseColumn: never;
74
+ identity: undefined;
75
+ generated: undefined;
76
+ }, {}, {}>;
77
+ userId: import("drizzle-orm/pg-core").PgColumn<{
78
+ name: "user_id";
79
+ tableName: "tokens";
80
+ dataType: "string";
81
+ columnType: "PgText";
82
+ data: string;
83
+ driverParam: string;
84
+ notNull: false;
85
+ hasDefault: false;
86
+ isPrimaryKey: false;
87
+ isAutoincrement: false;
88
+ hasRuntimeDefault: false;
89
+ enumValues: [string, ...string[]];
90
+ baseColumn: never;
91
+ identity: undefined;
92
+ generated: undefined;
93
+ }, {}, {}>;
94
+ lastUsedAt: import("drizzle-orm/pg-core").PgColumn<{
95
+ name: "last_used_at";
96
+ tableName: "tokens";
97
+ dataType: "string";
98
+ columnType: "PgTimestampString";
99
+ data: string;
100
+ driverParam: string;
101
+ notNull: false;
102
+ hasDefault: false;
103
+ isPrimaryKey: false;
104
+ isAutoincrement: false;
105
+ hasRuntimeDefault: false;
106
+ enumValues: undefined;
107
+ baseColumn: never;
108
+ identity: undefined;
109
+ generated: undefined;
110
+ }, {}, {}>;
111
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
112
+ name: "created_at";
113
+ tableName: "tokens";
114
+ dataType: "string";
115
+ columnType: "PgTimestampString";
116
+ data: string;
117
+ driverParam: string;
118
+ notNull: true;
119
+ hasDefault: false;
120
+ isPrimaryKey: false;
121
+ isAutoincrement: false;
122
+ hasRuntimeDefault: false;
123
+ enumValues: undefined;
124
+ baseColumn: never;
125
+ identity: undefined;
126
+ generated: undefined;
127
+ }, {}, {}>;
128
+ };
129
+ dialect: 'pg';
130
+ }>;
131
+ /** A CI token row (hash only; the secret itself is never stored). */
132
+ interface Token {
133
+ id: string;
134
+ projectId: string;
135
+ name: string;
136
+ hash: string;
137
+ userId: string | null;
138
+ lastUsedAt: string | null;
139
+ createdAt: string;
140
+ }
141
+ //#endregion
142
+ export { Token, tokens };
143
+ //# sourceMappingURL=token.d.mts.map
@@ -0,0 +1,27 @@
1
+ import "node:path";
2
+ import "node:url";
3
+ import.meta.url;
4
+ import { projects } from "./project.mjs";
5
+ import { users } from "./user.mjs";
6
+ import { pgTable, text, timestamp } from "drizzle-orm/pg-core";
7
+ //#region src/schema/token.ts
8
+ /** Narrow `tokens` table definition. */
9
+ const tokens = pgTable("tokens", {
10
+ id: text("id").primaryKey(),
11
+ projectId: text("project_id").notNull().references(() => projects.id, { onDelete: "cascade" }),
12
+ name: text("name").notNull(),
13
+ hash: text("hash").notNull(),
14
+ userId: text("user_id").references(() => users.id, { onDelete: "cascade" }),
15
+ lastUsedAt: timestamp("last_used_at", {
16
+ withTimezone: true,
17
+ mode: "string"
18
+ }),
19
+ createdAt: timestamp("created_at", {
20
+ withTimezone: true,
21
+ mode: "string"
22
+ }).notNull()
23
+ });
24
+ //#endregion
25
+ export { tokens };
26
+
27
+ //# sourceMappingURL=token.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token.mjs","names":[],"sources":["../../src/schema/token.ts"],"sourcesContent":["import { pgTable, text, timestamp } from \"drizzle-orm/pg-core\";\nimport { projects } from \"./project.ts\";\nimport { users } from \"./user.ts\";\n\n/** Narrow `tokens` table definition. */\nexport const tokens = pgTable(\"tokens\", {\n id: text(\"id\").primaryKey(),\n projectId: text(\"project_id\")\n .notNull()\n .references(() => projects.id, { onDelete: \"cascade\" }),\n name: text(\"name\").notNull(),\n hash: text(\"hash\").notNull(),\n userId: text(\"user_id\").references(() => users.id, { onDelete: \"cascade\" }),\n lastUsedAt: timestamp(\"last_used_at\", { withTimezone: true, mode: \"string\" }),\n createdAt: timestamp(\"created_at\", { withTimezone: true, mode: \"string\" }).notNull(),\n});\n\n/** A CI token row (hash only; the secret itself is never stored). */\nexport interface Token {\n id: string;\n projectId: string;\n name: string;\n hash: string;\n userId: string | null;\n lastUsedAt: string | null;\n createdAt: string;\n}\n"],"mappings":";;;;;;;;AAKA,MAAa,SAAS,QAAQ,UAAU;CACtC,IAAI,KAAK,IAAI,CAAC,CAAC,WAAW;CAC1B,WAAW,KAAK,YAAY,CAAC,CAC1B,QAAQ,CAAC,CACT,iBAAiB,SAAS,IAAI,EAAE,UAAU,UAAU,CAAC;CACxD,MAAM,KAAK,MAAM,CAAC,CAAC,QAAQ;CAC3B,MAAM,KAAK,MAAM,CAAC,CAAC,QAAQ;CAC3B,QAAQ,KAAK,SAAS,CAAC,CAAC,iBAAiB,MAAM,IAAI,EAAE,UAAU,UAAU,CAAC;CAC1E,YAAY,UAAU,gBAAgB;EAAE,cAAc;EAAM,MAAM;CAAS,CAAC;CAC5E,WAAW,UAAU,cAAc;EAAE,cAAc;EAAM,MAAM;CAAS,CAAC,CAAC,CAAC,QAAQ;AACrF,CAAC"}
@@ -0,0 +1,125 @@
1
+ import __tsdown_shims_path from 'node:path';
2
+ import __tsdown_shims_url from 'node:url';
3
+ //#region src/schema/user-invite.d.ts
4
+ /** Invite token for local accounts (one-time, hashed at rest). */
5
+ declare const userInviteTokens: import("drizzle-orm/pg-core").PgTableWithColumns<{
6
+ name: "user_invite_tokens";
7
+ schema: undefined;
8
+ columns: {
9
+ id: import("drizzle-orm/pg-core").PgColumn<{
10
+ name: "id";
11
+ tableName: "user_invite_tokens";
12
+ dataType: "string";
13
+ columnType: "PgText";
14
+ data: string;
15
+ driverParam: string;
16
+ notNull: true;
17
+ hasDefault: false;
18
+ isPrimaryKey: true;
19
+ isAutoincrement: false;
20
+ hasRuntimeDefault: false;
21
+ enumValues: [string, ...string[]];
22
+ baseColumn: never;
23
+ identity: undefined;
24
+ generated: undefined;
25
+ }, {}, {}>;
26
+ userId: import("drizzle-orm/pg-core").PgColumn<{
27
+ name: "user_id";
28
+ tableName: "user_invite_tokens";
29
+ dataType: "string";
30
+ columnType: "PgText";
31
+ data: string;
32
+ driverParam: string;
33
+ notNull: true;
34
+ hasDefault: false;
35
+ isPrimaryKey: false;
36
+ isAutoincrement: false;
37
+ hasRuntimeDefault: false;
38
+ enumValues: [string, ...string[]];
39
+ baseColumn: never;
40
+ identity: undefined;
41
+ generated: undefined;
42
+ }, {}, {}>;
43
+ tokenHash: import("drizzle-orm/pg-core").PgColumn<{
44
+ name: "token_hash";
45
+ tableName: "user_invite_tokens";
46
+ dataType: "string";
47
+ columnType: "PgText";
48
+ data: string;
49
+ driverParam: string;
50
+ notNull: true;
51
+ hasDefault: false;
52
+ isPrimaryKey: false;
53
+ isAutoincrement: false;
54
+ hasRuntimeDefault: false;
55
+ enumValues: [string, ...string[]];
56
+ baseColumn: never;
57
+ identity: undefined;
58
+ generated: undefined;
59
+ }, {}, {}>;
60
+ expiresAt: import("drizzle-orm/pg-core").PgColumn<{
61
+ name: "expires_at";
62
+ tableName: "user_invite_tokens";
63
+ dataType: "string";
64
+ columnType: "PgTimestampString";
65
+ data: string;
66
+ driverParam: string;
67
+ notNull: true;
68
+ hasDefault: false;
69
+ isPrimaryKey: false;
70
+ isAutoincrement: false;
71
+ hasRuntimeDefault: false;
72
+ enumValues: undefined;
73
+ baseColumn: never;
74
+ identity: undefined;
75
+ generated: undefined;
76
+ }, {}, {}>;
77
+ usedAt: import("drizzle-orm/pg-core").PgColumn<{
78
+ name: "used_at";
79
+ tableName: "user_invite_tokens";
80
+ dataType: "string";
81
+ columnType: "PgTimestampString";
82
+ data: string;
83
+ driverParam: string;
84
+ notNull: false;
85
+ hasDefault: false;
86
+ isPrimaryKey: false;
87
+ isAutoincrement: false;
88
+ hasRuntimeDefault: false;
89
+ enumValues: undefined;
90
+ baseColumn: never;
91
+ identity: undefined;
92
+ generated: undefined;
93
+ }, {}, {}>;
94
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
95
+ name: "created_at";
96
+ tableName: "user_invite_tokens";
97
+ dataType: "string";
98
+ columnType: "PgTimestampString";
99
+ data: string;
100
+ driverParam: string;
101
+ notNull: true;
102
+ hasDefault: false;
103
+ isPrimaryKey: false;
104
+ isAutoincrement: false;
105
+ hasRuntimeDefault: false;
106
+ enumValues: undefined;
107
+ baseColumn: never;
108
+ identity: undefined;
109
+ generated: undefined;
110
+ }, {}, {}>;
111
+ };
112
+ dialect: 'pg';
113
+ }>;
114
+ /** A user invite token row. */
115
+ interface UserInviteToken {
116
+ id: string;
117
+ userId: string;
118
+ tokenHash: string;
119
+ expiresAt: string;
120
+ usedAt: string | null;
121
+ createdAt: string;
122
+ }
123
+ //#endregion
124
+ export { UserInviteToken, userInviteTokens };
125
+ //# sourceMappingURL=user-invite.d.mts.map
@@ -0,0 +1,28 @@
1
+ import "node:path";
2
+ import "node:url";
3
+ import.meta.url;
4
+ import { users } from "./user.mjs";
5
+ import { pgTable, text, timestamp } from "drizzle-orm/pg-core";
6
+ //#region src/schema/user-invite.ts
7
+ /** Invite token for local accounts (one-time, hashed at rest). */
8
+ const userInviteTokens = pgTable("user_invite_tokens", {
9
+ id: text("id").primaryKey(),
10
+ userId: text("user_id").notNull().references(() => users.id, { onDelete: "cascade" }),
11
+ tokenHash: text("token_hash").notNull().unique(),
12
+ expiresAt: timestamp("expires_at", {
13
+ withTimezone: true,
14
+ mode: "string"
15
+ }).notNull(),
16
+ usedAt: timestamp("used_at", {
17
+ withTimezone: true,
18
+ mode: "string"
19
+ }),
20
+ createdAt: timestamp("created_at", {
21
+ withTimezone: true,
22
+ mode: "string"
23
+ }).notNull()
24
+ });
25
+ //#endregion
26
+ export { userInviteTokens };
27
+
28
+ //# sourceMappingURL=user-invite.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-invite.mjs","names":[],"sources":["../../src/schema/user-invite.ts"],"sourcesContent":["import { pgTable, text, timestamp } from \"drizzle-orm/pg-core\";\nimport { users } from \"./user.ts\";\n\n/** Invite token for local accounts (one-time, hashed at rest). */\nexport const userInviteTokens = pgTable(\"user_invite_tokens\", {\n id: text(\"id\").primaryKey(),\n userId: text(\"user_id\")\n .notNull()\n .references(() => users.id, { onDelete: \"cascade\" }),\n tokenHash: text(\"token_hash\").notNull().unique(),\n expiresAt: timestamp(\"expires_at\", { withTimezone: true, mode: \"string\" }).notNull(),\n usedAt: timestamp(\"used_at\", { withTimezone: true, mode: \"string\" }),\n createdAt: timestamp(\"created_at\", { withTimezone: true, mode: \"string\" }).notNull(),\n});\n\n/** A user invite token row. */\nexport interface UserInviteToken {\n id: string;\n userId: string;\n tokenHash: string;\n expiresAt: string;\n usedAt: string | null;\n createdAt: string;\n}\n"],"mappings":";;;;;;;AAIA,MAAa,mBAAmB,QAAQ,sBAAsB;CAC5D,IAAI,KAAK,IAAI,CAAC,CAAC,WAAW;CAC1B,QAAQ,KAAK,SAAS,CAAC,CACpB,QAAQ,CAAC,CACT,iBAAiB,MAAM,IAAI,EAAE,UAAU,UAAU,CAAC;CACrD,WAAW,KAAK,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC,OAAO;CAC/C,WAAW,UAAU,cAAc;EAAE,cAAc;EAAM,MAAM;CAAS,CAAC,CAAC,CAAC,QAAQ;CACnF,QAAQ,UAAU,WAAW;EAAE,cAAc;EAAM,MAAM;CAAS,CAAC;CACnE,WAAW,UAAU,cAAc;EAAE,cAAc;EAAM,MAAM;CAAS,CAAC,CAAC,CAAC,QAAQ;AACrF,CAAC"}
@@ -0,0 +1,146 @@
1
+ import __tsdown_shims_path from 'node:path';
2
+ import __tsdown_shims_url from 'node:url';
3
+ import { SiteRole } from "@storyshelf/core/types";
4
+ //#region src/schema/user.d.ts
5
+ /** Narrow `users` table definition. */
6
+ declare const users: import("drizzle-orm/pg-core").PgTableWithColumns<{
7
+ name: "users";
8
+ schema: undefined;
9
+ columns: {
10
+ id: import("drizzle-orm/pg-core").PgColumn<{
11
+ name: "id";
12
+ tableName: "users";
13
+ dataType: "string";
14
+ columnType: "PgText";
15
+ data: string;
16
+ driverParam: string;
17
+ notNull: true;
18
+ hasDefault: false;
19
+ isPrimaryKey: true;
20
+ isAutoincrement: false;
21
+ hasRuntimeDefault: false;
22
+ enumValues: [string, ...string[]];
23
+ baseColumn: never;
24
+ identity: undefined;
25
+ generated: undefined;
26
+ }, {}, {}>;
27
+ email: import("drizzle-orm/pg-core").PgColumn<{
28
+ name: "email";
29
+ tableName: "users";
30
+ dataType: "string";
31
+ columnType: "PgText";
32
+ data: string;
33
+ driverParam: string;
34
+ notNull: true;
35
+ hasDefault: false;
36
+ isPrimaryKey: false;
37
+ isAutoincrement: false;
38
+ hasRuntimeDefault: false;
39
+ enumValues: [string, ...string[]];
40
+ baseColumn: never;
41
+ identity: undefined;
42
+ generated: undefined;
43
+ }, {}, {}>;
44
+ name: import("drizzle-orm/pg-core").PgColumn<{
45
+ name: "name";
46
+ tableName: "users";
47
+ dataType: "string";
48
+ columnType: "PgText";
49
+ data: string;
50
+ driverParam: string;
51
+ notNull: true;
52
+ hasDefault: false;
53
+ isPrimaryKey: false;
54
+ isAutoincrement: false;
55
+ hasRuntimeDefault: false;
56
+ enumValues: [string, ...string[]];
57
+ baseColumn: never;
58
+ identity: undefined;
59
+ generated: undefined;
60
+ }, {}, {}>;
61
+ avatarUrl: import("drizzle-orm/pg-core").PgColumn<{
62
+ name: "avatar_url";
63
+ tableName: "users";
64
+ dataType: "string";
65
+ columnType: "PgText";
66
+ data: string;
67
+ driverParam: string;
68
+ notNull: false;
69
+ hasDefault: false;
70
+ isPrimaryKey: false;
71
+ isAutoincrement: false;
72
+ hasRuntimeDefault: false;
73
+ enumValues: [string, ...string[]];
74
+ baseColumn: never;
75
+ identity: undefined;
76
+ generated: undefined;
77
+ }, {}, {}>;
78
+ role: import("drizzle-orm/pg-core").PgColumn<{
79
+ name: "role";
80
+ tableName: "users";
81
+ dataType: "string";
82
+ columnType: "PgText";
83
+ data: "admin" | "member" | "viewer";
84
+ driverParam: string;
85
+ notNull: true;
86
+ hasDefault: true;
87
+ isPrimaryKey: false;
88
+ isAutoincrement: false;
89
+ hasRuntimeDefault: false;
90
+ enumValues: [string, ...string[]];
91
+ baseColumn: never;
92
+ identity: undefined;
93
+ generated: undefined;
94
+ }, {}, {
95
+ $type: "admin" | "member" | "viewer";
96
+ }>;
97
+ lastLoginAt: import("drizzle-orm/pg-core").PgColumn<{
98
+ name: "last_login_at";
99
+ tableName: "users";
100
+ dataType: "string";
101
+ columnType: "PgTimestampString";
102
+ data: string;
103
+ driverParam: string;
104
+ notNull: false;
105
+ hasDefault: false;
106
+ isPrimaryKey: false;
107
+ isAutoincrement: false;
108
+ hasRuntimeDefault: false;
109
+ enumValues: undefined;
110
+ baseColumn: never;
111
+ identity: undefined;
112
+ generated: undefined;
113
+ }, {}, {}>;
114
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
115
+ name: "created_at";
116
+ tableName: "users";
117
+ dataType: "string";
118
+ columnType: "PgTimestampString";
119
+ data: string;
120
+ driverParam: string;
121
+ notNull: true;
122
+ hasDefault: false;
123
+ isPrimaryKey: false;
124
+ isAutoincrement: false;
125
+ hasRuntimeDefault: false;
126
+ enumValues: undefined;
127
+ baseColumn: never;
128
+ identity: undefined;
129
+ generated: undefined;
130
+ }, {}, {}>;
131
+ };
132
+ dialect: 'pg';
133
+ }>;
134
+ /** A user row. */
135
+ interface User {
136
+ id: string;
137
+ email: string;
138
+ name: string;
139
+ avatarUrl: string | null;
140
+ role: SiteRole;
141
+ lastLoginAt: string | null;
142
+ createdAt: string;
143
+ }
144
+ //#endregion
145
+ export { User, users };
146
+ //# sourceMappingURL=user.d.mts.map
@@ -0,0 +1,25 @@
1
+ import "node:path";
2
+ import "node:url";
3
+ import.meta.url;
4
+ import { pgTable, text, timestamp } from "drizzle-orm/pg-core";
5
+ //#region src/schema/user.ts
6
+ /** Narrow `users` table definition. */
7
+ const users = pgTable("users", {
8
+ id: text("id").primaryKey(),
9
+ email: text("email").notNull(),
10
+ name: text("name").notNull(),
11
+ avatarUrl: text("avatar_url"),
12
+ role: text("role").$type().notNull().default("member"),
13
+ lastLoginAt: timestamp("last_login_at", {
14
+ withTimezone: true,
15
+ mode: "string"
16
+ }),
17
+ createdAt: timestamp("created_at", {
18
+ withTimezone: true,
19
+ mode: "string"
20
+ }).notNull()
21
+ });
22
+ //#endregion
23
+ export { users };
24
+
25
+ //# sourceMappingURL=user.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.mjs","names":[],"sources":["../../src/schema/user.ts"],"sourcesContent":["import type { SiteRole } from \"@storyshelf/core/types\";\nimport { pgTable, text, timestamp } from \"drizzle-orm/pg-core\";\n\n/** Narrow `users` table definition. */\nexport const users = pgTable(\"users\", {\n id: text(\"id\").primaryKey(),\n email: text(\"email\").notNull(),\n name: text(\"name\").notNull(),\n avatarUrl: text(\"avatar_url\"),\n role: text(\"role\").$type<SiteRole>().notNull().default(\"member\"),\n lastLoginAt: timestamp(\"last_login_at\", { withTimezone: true, mode: \"string\" }),\n createdAt: timestamp(\"created_at\", { withTimezone: true, mode: \"string\" }).notNull(),\n});\n\n/** A user row. */\nexport interface User {\n id: string;\n email: string;\n name: string;\n avatarUrl: string | null;\n role: SiteRole;\n lastLoginAt: string | null;\n createdAt: string;\n}\n"],"mappings":";;;;;;AAIA,MAAa,QAAQ,QAAQ,SAAS;CACpC,IAAI,KAAK,IAAI,CAAC,CAAC,WAAW;CAC1B,OAAO,KAAK,OAAO,CAAC,CAAC,QAAQ;CAC7B,MAAM,KAAK,MAAM,CAAC,CAAC,QAAQ;CAC3B,WAAW,KAAK,YAAY;CAC5B,MAAM,KAAK,MAAM,CAAC,CAAC,MAAgB,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,QAAQ;CAC/D,aAAa,UAAU,iBAAiB;EAAE,cAAc;EAAM,MAAM;CAAS,CAAC;CAC9E,WAAW,UAAU,cAAc;EAAE,cAAc;EAAM,MAAM;CAAS,CAAC,CAAC,CAAC,QAAQ;AACrF,CAAC"}
@@ -0,0 +1,143 @@
1
+ import __tsdown_shims_path from 'node:path';
2
+ import __tsdown_shims_url from 'node:url';
3
+ //#region src/schema/webhook.d.ts
4
+ /** Narrow `webhooks` table definition. */
5
+ declare const webhooks: import("drizzle-orm/pg-core").PgTableWithColumns<{
6
+ name: "webhooks";
7
+ schema: undefined;
8
+ columns: {
9
+ id: import("drizzle-orm/pg-core").PgColumn<{
10
+ name: "id";
11
+ tableName: "webhooks";
12
+ dataType: "string";
13
+ columnType: "PgText";
14
+ data: string;
15
+ driverParam: string;
16
+ notNull: true;
17
+ hasDefault: false;
18
+ isPrimaryKey: true;
19
+ isAutoincrement: false;
20
+ hasRuntimeDefault: false;
21
+ enumValues: [string, ...string[]];
22
+ baseColumn: never;
23
+ identity: undefined;
24
+ generated: undefined;
25
+ }, {}, {}>;
26
+ projectId: import("drizzle-orm/pg-core").PgColumn<{
27
+ name: "project_id";
28
+ tableName: "webhooks";
29
+ dataType: "string";
30
+ columnType: "PgText";
31
+ data: string;
32
+ driverParam: string;
33
+ notNull: true;
34
+ hasDefault: false;
35
+ isPrimaryKey: false;
36
+ isAutoincrement: false;
37
+ hasRuntimeDefault: false;
38
+ enumValues: [string, ...string[]];
39
+ baseColumn: never;
40
+ identity: undefined;
41
+ generated: undefined;
42
+ }, {}, {}>;
43
+ url: import("drizzle-orm/pg-core").PgColumn<{
44
+ name: "url";
45
+ tableName: "webhooks";
46
+ dataType: "string";
47
+ columnType: "PgText";
48
+ data: string;
49
+ driverParam: string;
50
+ notNull: true;
51
+ hasDefault: false;
52
+ isPrimaryKey: false;
53
+ isAutoincrement: false;
54
+ hasRuntimeDefault: false;
55
+ enumValues: [string, ...string[]];
56
+ baseColumn: never;
57
+ identity: undefined;
58
+ generated: undefined;
59
+ }, {}, {}>;
60
+ secretEncrypted: import("drizzle-orm/pg-core").PgColumn<{
61
+ name: "secret_encrypted";
62
+ tableName: "webhooks";
63
+ dataType: "string";
64
+ columnType: "PgText";
65
+ data: string;
66
+ driverParam: string;
67
+ notNull: true;
68
+ hasDefault: false;
69
+ isPrimaryKey: false;
70
+ isAutoincrement: false;
71
+ hasRuntimeDefault: false;
72
+ enumValues: [string, ...string[]];
73
+ baseColumn: never;
74
+ identity: undefined;
75
+ generated: undefined;
76
+ }, {}, {}>;
77
+ events: import("drizzle-orm/pg-core").PgColumn<{
78
+ name: "events";
79
+ tableName: "webhooks";
80
+ dataType: "string";
81
+ columnType: "PgText";
82
+ data: string;
83
+ driverParam: string;
84
+ notNull: false;
85
+ hasDefault: false;
86
+ isPrimaryKey: false;
87
+ isAutoincrement: false;
88
+ hasRuntimeDefault: false;
89
+ enumValues: [string, ...string[]];
90
+ baseColumn: never;
91
+ identity: undefined;
92
+ generated: undefined;
93
+ }, {}, {}>;
94
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
95
+ name: "created_at";
96
+ tableName: "webhooks";
97
+ dataType: "string";
98
+ columnType: "PgTimestampString";
99
+ data: string;
100
+ driverParam: string;
101
+ notNull: true;
102
+ hasDefault: false;
103
+ isPrimaryKey: false;
104
+ isAutoincrement: false;
105
+ hasRuntimeDefault: false;
106
+ enumValues: undefined;
107
+ baseColumn: never;
108
+ identity: undefined;
109
+ generated: undefined;
110
+ }, {}, {}>;
111
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
112
+ name: "updated_at";
113
+ tableName: "webhooks";
114
+ dataType: "string";
115
+ columnType: "PgTimestampString";
116
+ data: string;
117
+ driverParam: string;
118
+ notNull: true;
119
+ hasDefault: false;
120
+ isPrimaryKey: false;
121
+ isAutoincrement: false;
122
+ hasRuntimeDefault: false;
123
+ enumValues: undefined;
124
+ baseColumn: never;
125
+ identity: undefined;
126
+ generated: undefined;
127
+ }, {}, {}>;
128
+ };
129
+ dialect: 'pg';
130
+ }>;
131
+ /** A webhook subscription row. */
132
+ interface Webhook {
133
+ id: string;
134
+ projectId: string;
135
+ url: string;
136
+ secretEncrypted: string;
137
+ events: string | null;
138
+ createdAt: string;
139
+ updatedAt: string;
140
+ }
141
+ //#endregion
142
+ export { Webhook, webhooks };
143
+ //# sourceMappingURL=webhook.d.mts.map
@@ -0,0 +1,26 @@
1
+ import "node:path";
2
+ import "node:url";
3
+ import.meta.url;
4
+ import { projects } from "./project.mjs";
5
+ import { pgTable, text, timestamp } from "drizzle-orm/pg-core";
6
+ //#region src/schema/webhook.ts
7
+ /** Narrow `webhooks` table definition. */
8
+ const webhooks = pgTable("webhooks", {
9
+ id: text("id").primaryKey(),
10
+ projectId: text("project_id").notNull().references(() => projects.id, { onDelete: "cascade" }),
11
+ url: text("url").notNull(),
12
+ secretEncrypted: text("secret_encrypted").notNull(),
13
+ events: text("events"),
14
+ createdAt: timestamp("created_at", {
15
+ withTimezone: true,
16
+ mode: "string"
17
+ }).notNull(),
18
+ updatedAt: timestamp("updated_at", {
19
+ withTimezone: true,
20
+ mode: "string"
21
+ }).notNull()
22
+ });
23
+ //#endregion
24
+ export { webhooks };
25
+
26
+ //# sourceMappingURL=webhook.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhook.mjs","names":[],"sources":["../../src/schema/webhook.ts"],"sourcesContent":["import { pgTable, text, timestamp } from \"drizzle-orm/pg-core\";\nimport { projects } from \"./project.ts\";\n\n/** Narrow `webhooks` table definition. */\nexport const webhooks = pgTable(\"webhooks\", {\n id: text(\"id\").primaryKey(),\n projectId: text(\"project_id\")\n .notNull()\n .references(() => projects.id, { onDelete: \"cascade\" }),\n url: text(\"url\").notNull(),\n secretEncrypted: text(\"secret_encrypted\").notNull(),\n events: text(\"events\"),\n createdAt: timestamp(\"created_at\", { withTimezone: true, mode: \"string\" }).notNull(),\n updatedAt: timestamp(\"updated_at\", { withTimezone: true, mode: \"string\" }).notNull(),\n});\n\n/** A webhook subscription row. */\nexport interface Webhook {\n id: string;\n projectId: string;\n url: string;\n secretEncrypted: string;\n events: string | null;\n createdAt: string;\n updatedAt: string;\n}\n"],"mappings":";;;;;;;AAIA,MAAa,WAAW,QAAQ,YAAY;CAC1C,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,iBAAiB,KAAK,kBAAkB,CAAC,CAAC,QAAQ;CAClD,QAAQ,KAAK,QAAQ;CACrB,WAAW,UAAU,cAAc;EAAE,cAAc;EAAM,MAAM;CAAS,CAAC,CAAC,CAAC,QAAQ;CACnF,WAAW,UAAU,cAAc;EAAE,cAAc;EAAM,MAAM;CAAS,CAAC,CAAC,CAAC,QAAQ;AACrF,CAAC"}