@meshscale/db 0.1.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/schema/auth.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWf,CAAC;AAEH,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkBnB,CAAC;AAEF,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsBnB,CAAC;AAEF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAcxB,CAAC;AAEF,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQf,CAAC;AAEH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAOvB,CAAC;AAEH,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiBlB,CAAC;AAEF,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoBtB,CAAC;AAEF,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+BlB,CAAC;AAEF,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiBlB,CAAC"}
@@ -0,0 +1,420 @@
1
+ import { relations } from "drizzle-orm";
2
+ import { pgTable, text, timestamp, boolean, integer, jsonb, index, uniqueIndex, } from "drizzle-orm/pg-core";
3
+ export const user = pgTable("user", {
4
+ id: text("id").primaryKey(),
5
+ name: text("name").notNull(),
6
+ email: text("email").notNull().unique(),
7
+ emailVerified: boolean("email_verified").default(false).notNull(),
8
+ image: text("image"),
9
+ createdAt: timestamp("created_at").defaultNow().notNull(),
10
+ updatedAt: timestamp("updated_at")
11
+ .defaultNow()
12
+ .$onUpdate(() => /* @__PURE__ */ new Date())
13
+ .notNull(),
14
+ });
15
+ export const session = pgTable("session", {
16
+ id: text("id").primaryKey(),
17
+ expiresAt: timestamp("expires_at").notNull(),
18
+ token: text("token").notNull().unique(),
19
+ createdAt: timestamp("created_at").defaultNow().notNull(),
20
+ updatedAt: timestamp("updated_at")
21
+ .$onUpdate(() => /* @__PURE__ */ new Date())
22
+ .notNull(),
23
+ ipAddress: text("ip_address"),
24
+ userAgent: text("user_agent"),
25
+ userId: text("user_id")
26
+ .notNull()
27
+ .references(() => user.id, { onDelete: "cascade" }),
28
+ activeOrganizationId: text("active_organization_id"),
29
+ }, (table) => [index("session_userId_idx").on(table.userId)]);
30
+ export const account = pgTable("account", {
31
+ id: text("id").primaryKey(),
32
+ accountId: text("account_id").notNull(),
33
+ providerId: text("provider_id").notNull(),
34
+ userId: text("user_id")
35
+ .notNull()
36
+ .references(() => user.id, { onDelete: "cascade" }),
37
+ accessToken: text("access_token"),
38
+ refreshToken: text("refresh_token"),
39
+ idToken: text("id_token"),
40
+ accessTokenExpiresAt: timestamp("access_token_expires_at"),
41
+ refreshTokenExpiresAt: timestamp("refresh_token_expires_at"),
42
+ scope: text("scope"),
43
+ password: text("password"),
44
+ createdAt: timestamp("created_at").defaultNow().notNull(),
45
+ updatedAt: timestamp("updated_at")
46
+ .$onUpdate(() => /* @__PURE__ */ new Date())
47
+ .notNull(),
48
+ }, (table) => [index("account_userId_idx").on(table.userId)]);
49
+ export const verification = pgTable("verification", {
50
+ id: text("id").primaryKey(),
51
+ identifier: text("identifier").notNull(),
52
+ value: text("value").notNull(),
53
+ expiresAt: timestamp("expires_at").notNull(),
54
+ createdAt: timestamp("created_at").defaultNow().notNull(),
55
+ updatedAt: timestamp("updated_at")
56
+ .defaultNow()
57
+ .$onUpdate(() => /* @__PURE__ */ new Date())
58
+ .notNull(),
59
+ }, (table) => [index("verification_identifier_idx").on(table.identifier)]);
60
+ export const jwks = pgTable("jwks", {
61
+ id: text("id").primaryKey(),
62
+ publicKey: text("public_key").notNull(),
63
+ privateKey: text("private_key").notNull(),
64
+ createdAt: timestamp("created_at").notNull(),
65
+ expiresAt: timestamp("expires_at"),
66
+ alg: text("alg"),
67
+ crv: text("crv"),
68
+ });
69
+ export const organization = pgTable("organization", {
70
+ id: text("id").primaryKey(),
71
+ name: text("name").notNull(),
72
+ slug: text("slug").notNull().unique(),
73
+ logo: text("logo"),
74
+ createdAt: timestamp("created_at").notNull(),
75
+ metadata: text("metadata"),
76
+ });
77
+ export const member = pgTable("member", {
78
+ id: text("id").primaryKey(),
79
+ organizationId: text("organization_id")
80
+ .notNull()
81
+ .references(() => organization.id, { onDelete: "cascade" }),
82
+ userId: text("user_id")
83
+ .notNull()
84
+ .references(() => user.id, { onDelete: "cascade" }),
85
+ role: text("role").default("member").notNull(),
86
+ createdAt: timestamp("created_at").notNull(),
87
+ }, (table) => [
88
+ index("member_organizationId_idx").on(table.organizationId),
89
+ index("member_userId_idx").on(table.userId),
90
+ ]);
91
+ export const invitation = pgTable("invitation", {
92
+ id: text("id").primaryKey(),
93
+ organizationId: text("organization_id")
94
+ .notNull()
95
+ .references(() => organization.id, { onDelete: "cascade" }),
96
+ email: text("email").notNull(),
97
+ role: text("role"),
98
+ status: text("status").default("pending").notNull(),
99
+ expiresAt: timestamp("expires_at").notNull(),
100
+ createdAt: timestamp("created_at").defaultNow().notNull(),
101
+ inviterId: text("inviter_id")
102
+ .notNull()
103
+ .references(() => user.id, { onDelete: "cascade" }),
104
+ }, (table) => [
105
+ index("invitation_organizationId_idx").on(table.organizationId),
106
+ index("invitation_email_idx").on(table.email),
107
+ ]);
108
+ export const apikey = pgTable("apikey", {
109
+ id: text("id").primaryKey(),
110
+ configId: text("config_id").default("default").notNull(),
111
+ name: text("name"),
112
+ start: text("start"),
113
+ referenceId: text("reference_id").notNull(),
114
+ prefix: text("prefix"),
115
+ key: text("key").notNull(),
116
+ refillInterval: integer("refill_interval"),
117
+ refillAmount: integer("refill_amount"),
118
+ lastRefillAt: timestamp("last_refill_at"),
119
+ enabled: boolean("enabled").default(true),
120
+ rateLimitEnabled: boolean("rate_limit_enabled").default(true),
121
+ rateLimitTimeWindow: integer("rate_limit_time_window").default(86400000),
122
+ rateLimitMax: integer("rate_limit_max").default(10),
123
+ requestCount: integer("request_count").default(0),
124
+ remaining: integer("remaining"),
125
+ lastRequest: timestamp("last_request"),
126
+ expiresAt: timestamp("expires_at"),
127
+ createdAt: timestamp("created_at").notNull(),
128
+ updatedAt: timestamp("updated_at").notNull(),
129
+ permissions: text("permissions"),
130
+ metadata: text("metadata"),
131
+ }, (table) => [
132
+ index("apikey_configId_idx").on(table.configId),
133
+ index("apikey_referenceId_idx").on(table.referenceId),
134
+ index("apikey_key_idx").on(table.key),
135
+ ]);
136
+ export const oauthClient = pgTable("oauth_client", {
137
+ id: text("id").primaryKey(),
138
+ clientId: text("client_id").notNull().unique(),
139
+ clientSecret: text("client_secret"),
140
+ clientDiscoveryId: text("client_discovery_id"),
141
+ disabled: boolean("disabled").default(false),
142
+ skipConsent: boolean("skip_consent"),
143
+ enableEndSession: boolean("enable_end_session"),
144
+ subjectType: text("subject_type"),
145
+ scopes: text("scopes").array(),
146
+ clientCredentialsScopes: text("client_credentials_scopes")
147
+ .array()
148
+ .default([]),
149
+ userId: text("user_id").references(() => user.id, { onDelete: "cascade" }),
150
+ createdAt: timestamp("created_at"),
151
+ updatedAt: timestamp("updated_at"),
152
+ name: text("name"),
153
+ uri: text("uri"),
154
+ icon: text("icon"),
155
+ contacts: text("contacts").array(),
156
+ tos: text("tos"),
157
+ policy: text("policy"),
158
+ softwareId: text("software_id"),
159
+ softwareVersion: text("software_version"),
160
+ softwareStatement: text("software_statement"),
161
+ redirectUris: text("redirect_uris").array().notNull(),
162
+ postLogoutRedirectUris: text("post_logout_redirect_uris").array(),
163
+ backchannelLogoutUri: text("backchannel_logout_uri"),
164
+ backchannelLogoutSessionRequired: boolean("backchannel_logout_session_required"),
165
+ tokenEndpointAuthMethod: text("token_endpoint_auth_method"),
166
+ applicationType: text("application_type"),
167
+ jwks: text("jwks"),
168
+ jwksUri: text("jwks_uri"),
169
+ grantTypes: text("grant_types").array(),
170
+ responseTypes: text("response_types").array(),
171
+ requirePKCE: boolean("require_pkce"),
172
+ dpopBoundAccessTokens: boolean("dpop_bound_access_tokens").default(false),
173
+ referenceId: text("reference_id"),
174
+ metadata: jsonb("metadata"),
175
+ }, (table) => [index("oauthClient_userId_idx").on(table.userId)]);
176
+ export const oauthResource = pgTable("oauth_resource", {
177
+ id: text("id").primaryKey(),
178
+ identifier: text("identifier").notNull().unique(),
179
+ name: text("name").notNull(),
180
+ accessTokenTtl: integer("access_token_ttl"),
181
+ refreshTokenTtl: integer("refresh_token_ttl"),
182
+ signingAlgorithm: text("signing_algorithm"),
183
+ signingKeyId: text("signing_key_id"),
184
+ allowedScopes: text("allowed_scopes").array(),
185
+ customClaims: jsonb("custom_claims"),
186
+ dpopBoundAccessTokensRequired: boolean("dpop_bound_access_tokens_required").default(false),
187
+ disabled: boolean("disabled").default(false),
188
+ createdAt: timestamp("created_at"),
189
+ updatedAt: timestamp("updated_at"),
190
+ policyVersion: integer("policy_version").default(1),
191
+ metadata: jsonb("metadata"),
192
+ });
193
+ export const oauthClientResource = pgTable("oauth_client_resource", {
194
+ id: text("id").primaryKey(),
195
+ clientId: text("client_id")
196
+ .notNull()
197
+ .references(() => oauthClient.clientId, { onDelete: "cascade" }),
198
+ resourceId: text("resource_id")
199
+ .notNull()
200
+ .references(() => oauthResource.identifier, { onDelete: "cascade" }),
201
+ metadata: jsonb("metadata"),
202
+ createdAt: timestamp("created_at"),
203
+ }, (table) => [
204
+ uniqueIndex("oauthClientResource_clientId_resourceId_uidx").on(table.clientId, table.resourceId),
205
+ index("oauthClientResource_clientId_idx").on(table.clientId),
206
+ index("oauthClientResource_resourceId_idx").on(table.resourceId),
207
+ ]);
208
+ export const oauthRefreshToken = pgTable("oauth_refresh_token", {
209
+ id: text("id").primaryKey(),
210
+ token: text("token").notNull().unique(),
211
+ clientId: text("client_id")
212
+ .notNull()
213
+ .references(() => oauthClient.clientId, { onDelete: "cascade" }),
214
+ sessionId: text("session_id").references(() => session.id, {
215
+ onDelete: "set null",
216
+ }),
217
+ userId: text("user_id")
218
+ .notNull()
219
+ .references(() => user.id, { onDelete: "cascade" }),
220
+ referenceId: text("reference_id"),
221
+ authorizationCodeId: text("authorization_code_id"),
222
+ resources: text("resources").array(),
223
+ requestedUserInfoClaims: text("requested_user_info_claims").array(),
224
+ expiresAt: timestamp("expires_at").notNull(),
225
+ createdAt: timestamp("created_at").notNull(),
226
+ revoked: timestamp("revoked"),
227
+ rotatedAt: timestamp("rotated_at"),
228
+ rotationReplayResponse: text("rotation_replay_response"),
229
+ rotationReplayExpiresAt: timestamp("rotation_replay_expires_at"),
230
+ authTime: timestamp("auth_time"),
231
+ confirmation: jsonb("confirmation"),
232
+ scopes: text("scopes").array().notNull(),
233
+ }, (table) => [
234
+ index("oauthRefreshToken_clientId_idx").on(table.clientId),
235
+ index("oauthRefreshToken_sessionId_idx").on(table.sessionId),
236
+ index("oauthRefreshToken_userId_idx").on(table.userId),
237
+ index("oauthRefreshToken_authorizationCodeId_idx").on(table.authorizationCodeId),
238
+ ]);
239
+ export const oauthAccessToken = pgTable("oauth_access_token", {
240
+ id: text("id").primaryKey(),
241
+ token: text("token").notNull().unique(),
242
+ clientId: text("client_id")
243
+ .notNull()
244
+ .references(() => oauthClient.clientId, { onDelete: "cascade" }),
245
+ sessionId: text("session_id").references(() => session.id, {
246
+ onDelete: "set null",
247
+ }),
248
+ userId: text("user_id").references(() => user.id, { onDelete: "cascade" }),
249
+ referenceId: text("reference_id"),
250
+ authorizationCodeId: text("authorization_code_id"),
251
+ resources: text("resources").array(),
252
+ requestedUserInfoClaims: text("requested_user_info_claims").array(),
253
+ refreshId: text("refresh_id").references(() => oauthRefreshToken.id, {
254
+ onDelete: "cascade",
255
+ }),
256
+ expiresAt: timestamp("expires_at").notNull(),
257
+ createdAt: timestamp("created_at").notNull(),
258
+ revoked: timestamp("revoked"),
259
+ confirmation: jsonb("confirmation"),
260
+ scopes: text("scopes").array().notNull(),
261
+ }, (table) => [
262
+ index("oauthAccessToken_clientId_idx").on(table.clientId),
263
+ index("oauthAccessToken_sessionId_idx").on(table.sessionId),
264
+ index("oauthAccessToken_userId_idx").on(table.userId),
265
+ index("oauthAccessToken_authorizationCodeId_idx").on(table.authorizationCodeId),
266
+ index("oauthAccessToken_refreshId_idx").on(table.refreshId),
267
+ ]);
268
+ export const oauthConsent = pgTable("oauth_consent", {
269
+ id: text("id").primaryKey(),
270
+ clientId: text("client_id")
271
+ .notNull()
272
+ .references(() => oauthClient.clientId, { onDelete: "cascade" }),
273
+ userId: text("user_id").references(() => user.id, { onDelete: "cascade" }),
274
+ referenceId: text("reference_id"),
275
+ resources: text("resources").array(),
276
+ requestedUserInfoClaims: text("requested_user_info_claims").array(),
277
+ scopes: text("scopes").array().notNull(),
278
+ createdAt: timestamp("created_at").notNull(),
279
+ updatedAt: timestamp("updated_at").notNull(),
280
+ }, (table) => [
281
+ index("oauthConsent_clientId_idx").on(table.clientId),
282
+ index("oauthConsent_userId_idx").on(table.userId),
283
+ ]);
284
+ export const oauthClientAssertion = pgTable("oauth_client_assertion", {
285
+ id: text("id").primaryKey(),
286
+ expiresAt: timestamp("expires_at").notNull(),
287
+ });
288
+ export const userRelations = relations(user, ({ many }) => ({
289
+ sessions: many(session),
290
+ accounts: many(account),
291
+ members: many(member),
292
+ invitations: many(invitation),
293
+ oauthClients: many(oauthClient),
294
+ oauthRefreshTokens: many(oauthRefreshToken),
295
+ oauthAccessTokens: many(oauthAccessToken),
296
+ oauthConsents: many(oauthConsent),
297
+ }));
298
+ export const sessionRelations = relations(session, ({ one, many }) => ({
299
+ user: one(user, {
300
+ fields: [session.userId],
301
+ references: [user.id],
302
+ }),
303
+ oauthRefreshTokens: many(oauthRefreshToken),
304
+ oauthAccessTokens: many(oauthAccessToken),
305
+ }));
306
+ export const accountRelations = relations(account, ({ one }) => ({
307
+ user: one(user, {
308
+ fields: [account.userId],
309
+ references: [user.id],
310
+ }),
311
+ }));
312
+ export const organizationRelations = relations(organization, ({ many }) => ({
313
+ members: many(member),
314
+ invitations: many(invitation),
315
+ }));
316
+ export const memberRelations = relations(member, ({ one }) => ({
317
+ organization: one(organization, {
318
+ fields: [member.organizationId],
319
+ references: [organization.id],
320
+ }),
321
+ user: one(user, {
322
+ fields: [member.userId],
323
+ references: [user.id],
324
+ }),
325
+ }));
326
+ export const invitationRelations = relations(invitation, ({ one }) => ({
327
+ organization: one(organization, {
328
+ fields: [invitation.organizationId],
329
+ references: [organization.id],
330
+ }),
331
+ user: one(user, {
332
+ fields: [invitation.inviterId],
333
+ references: [user.id],
334
+ }),
335
+ }));
336
+ export const oauthClientRelations = relations(oauthClient, ({ one, many }) => ({
337
+ user: one(user, {
338
+ fields: [oauthClient.userId],
339
+ references: [user.id],
340
+ }),
341
+ oauthClientResources: many(oauthClientResource),
342
+ oauthRefreshTokens: many(oauthRefreshToken),
343
+ oauthAccessTokens: many(oauthAccessToken),
344
+ oauthConsents: many(oauthConsent),
345
+ }));
346
+ export const oauthResourceRelations = relations(oauthResource, ({ many }) => ({
347
+ oauthClientResources: many(oauthClientResource),
348
+ }));
349
+ export const oauthClientResourceRelations = relations(oauthClientResource, ({ one }) => ({
350
+ oauthClient: one(oauthClient, {
351
+ fields: [oauthClientResource.clientId],
352
+ references: [oauthClient.clientId],
353
+ }),
354
+ oauthResource: one(oauthResource, {
355
+ fields: [oauthClientResource.resourceId],
356
+ references: [oauthResource.identifier],
357
+ }),
358
+ }));
359
+ export const oauthRefreshTokenRelations = relations(oauthRefreshToken, ({ one, many }) => ({
360
+ oauthClient: one(oauthClient, {
361
+ fields: [oauthRefreshToken.clientId],
362
+ references: [oauthClient.clientId],
363
+ }),
364
+ session: one(session, {
365
+ fields: [oauthRefreshToken.sessionId],
366
+ references: [session.id],
367
+ }),
368
+ user: one(user, {
369
+ fields: [oauthRefreshToken.userId],
370
+ references: [user.id],
371
+ }),
372
+ oauthAccessTokens: many(oauthAccessToken),
373
+ }));
374
+ export const oauthAccessTokenRelations = relations(oauthAccessToken, ({ one }) => ({
375
+ oauthClient: one(oauthClient, {
376
+ fields: [oauthAccessToken.clientId],
377
+ references: [oauthClient.clientId],
378
+ }),
379
+ session: one(session, {
380
+ fields: [oauthAccessToken.sessionId],
381
+ references: [session.id],
382
+ }),
383
+ user: one(user, {
384
+ fields: [oauthAccessToken.userId],
385
+ references: [user.id],
386
+ }),
387
+ oauthRefreshToken: one(oauthRefreshToken, {
388
+ fields: [oauthAccessToken.refreshId],
389
+ references: [oauthRefreshToken.id],
390
+ }),
391
+ }));
392
+ export const oauthConsentRelations = relations(oauthConsent, ({ one }) => ({
393
+ oauthClient: one(oauthClient, {
394
+ fields: [oauthConsent.clientId],
395
+ references: [oauthClient.clientId],
396
+ }),
397
+ user: one(user, {
398
+ fields: [oauthConsent.userId],
399
+ references: [user.id],
400
+ }),
401
+ }));
402
+ export const schema = {
403
+ user,
404
+ session,
405
+ account,
406
+ verification,
407
+ jwks,
408
+ organization,
409
+ member,
410
+ invitation,
411
+ apikey,
412
+ oauthClient,
413
+ oauthResource,
414
+ oauthClientResource,
415
+ oauthRefreshToken,
416
+ oauthAccessToken,
417
+ oauthConsent,
418
+ oauthClientAssertion,
419
+ };
420
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/schema/auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './auth.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './auth.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC"}
@@ -0,0 +1,12 @@
1
+ import 'dotenv/config';
2
+ import { defineConfig } from 'drizzle-kit';
3
+
4
+ export default defineConfig({
5
+ out: './drizzle',
6
+ schema: ['./src/schema/index.ts'],
7
+ dialect: 'postgresql',
8
+ dbCredentials: {
9
+ url: process.env.DATABASE_URL!,
10
+ },
11
+ });
12
+
Binary file
package/package.json ADDED
@@ -0,0 +1,26 @@
1
+ {
2
+ "name": "@meshscale/db",
3
+ "version": "0.1.0",
4
+ "private": false,
5
+ "type": "module",
6
+ "exports": {
7
+ ".": "./dist/index.js",
8
+ "./schema": "./dist/schema/index.js"
9
+ },
10
+ "scripts": {
11
+ "build": "tsc",
12
+ "db:generate": "drizzle-kit generate",
13
+ "db:migrate": "drizzle-kit migrate"
14
+ },
15
+ "dependencies": {
16
+ "@neondatabase/serverless": "^1.1.0",
17
+ "dotenv": "^18.0.1",
18
+ "drizzle-orm": "^0.45.2",
19
+ "postgres": "^3.4.9"
20
+ },
21
+ "devDependencies": {
22
+ "@types/node": "^26.6.2",
23
+ "drizzle-kit": "^0.31.10",
24
+ "typescript": "^7.0.2"
25
+ }
26
+ }
@@ -0,0 +1,2 @@
1
+ allowBuilds:
2
+ esbuild: true
package/src/client.ts ADDED
@@ -0,0 +1,14 @@
1
+ import { Pool } from "@neondatabase/serverless"
2
+ import { drizzle } from "drizzle-orm/neon-serverless"
3
+ import * as schema from './schema/index.js'
4
+
5
+
6
+ const databaseUrl = process.env.DATABASE_URL
7
+
8
+ if (!databaseUrl) {
9
+ throw new Error("DATABASE_URL is required")
10
+ }
11
+
12
+ const pool = new Pool({ connectionString: databaseUrl })
13
+
14
+ export const db = drizzle(pool, { schema })
package/src/index.ts ADDED
@@ -0,0 +1,4 @@
1
+ // src/index.ts
2
+
3
+ export * from "./client.js";
4
+ export * from "./schema/index.js";