@flow-industries/id 0.26.2 → 0.26.4

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,310 @@
1
+ export declare const signupPolicy: import("drizzle-orm/pg-core").PgTableWithColumns<{
2
+ name: "signup_policy";
3
+ schema: undefined;
4
+ columns: {
5
+ id: import("drizzle-orm/pg-core").PgColumn<{
6
+ name: "id";
7
+ tableName: "signup_policy";
8
+ dataType: "number";
9
+ columnType: "PgInteger";
10
+ data: number;
11
+ driverParam: string | number;
12
+ notNull: true;
13
+ hasDefault: false;
14
+ isPrimaryKey: true;
15
+ isAutoincrement: false;
16
+ hasRuntimeDefault: false;
17
+ enumValues: undefined;
18
+ baseColumn: never;
19
+ identity: undefined;
20
+ generated: undefined;
21
+ }, {}, {}>;
22
+ invitationOnly: import("drizzle-orm/pg-core").PgColumn<{
23
+ name: "invitation_only";
24
+ tableName: "signup_policy";
25
+ dataType: "boolean";
26
+ columnType: "PgBoolean";
27
+ data: boolean;
28
+ driverParam: boolean;
29
+ notNull: true;
30
+ hasDefault: true;
31
+ isPrimaryKey: false;
32
+ isAutoincrement: false;
33
+ hasRuntimeDefault: false;
34
+ enumValues: undefined;
35
+ baseColumn: never;
36
+ identity: undefined;
37
+ generated: undefined;
38
+ }, {}, {}>;
39
+ updatedBy: import("drizzle-orm/pg-core").PgColumn<{
40
+ name: "updated_by";
41
+ tableName: "signup_policy";
42
+ dataType: "string";
43
+ columnType: "PgText";
44
+ data: string;
45
+ driverParam: string;
46
+ notNull: false;
47
+ hasDefault: false;
48
+ isPrimaryKey: false;
49
+ isAutoincrement: false;
50
+ hasRuntimeDefault: false;
51
+ enumValues: [string, ...string[]];
52
+ baseColumn: never;
53
+ identity: undefined;
54
+ generated: undefined;
55
+ }, {}, {}>;
56
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
57
+ name: "updated_at";
58
+ tableName: "signup_policy";
59
+ dataType: "date";
60
+ columnType: "PgTimestamp";
61
+ data: Date;
62
+ driverParam: string;
63
+ notNull: true;
64
+ hasDefault: true;
65
+ isPrimaryKey: false;
66
+ isAutoincrement: false;
67
+ hasRuntimeDefault: false;
68
+ enumValues: undefined;
69
+ baseColumn: never;
70
+ identity: undefined;
71
+ generated: undefined;
72
+ }, {}, {}>;
73
+ };
74
+ dialect: "pg";
75
+ }>;
76
+ export declare const invitation: import("drizzle-orm/pg-core").PgTableWithColumns<{
77
+ name: "invitation";
78
+ schema: undefined;
79
+ columns: {
80
+ id: import("drizzle-orm/pg-core").PgColumn<{
81
+ name: "id";
82
+ tableName: "invitation";
83
+ dataType: "string";
84
+ columnType: "PgText";
85
+ data: string;
86
+ driverParam: string;
87
+ notNull: true;
88
+ hasDefault: false;
89
+ isPrimaryKey: true;
90
+ isAutoincrement: false;
91
+ hasRuntimeDefault: false;
92
+ enumValues: [string, ...string[]];
93
+ baseColumn: never;
94
+ identity: undefined;
95
+ generated: undefined;
96
+ }, {}, {}>;
97
+ codeHash: import("drizzle-orm/pg-core").PgColumn<{
98
+ name: "code_hash";
99
+ tableName: "invitation";
100
+ dataType: "string";
101
+ columnType: "PgText";
102
+ data: string;
103
+ driverParam: string;
104
+ notNull: true;
105
+ hasDefault: false;
106
+ isPrimaryKey: false;
107
+ isAutoincrement: false;
108
+ hasRuntimeDefault: false;
109
+ enumValues: [string, ...string[]];
110
+ baseColumn: never;
111
+ identity: undefined;
112
+ generated: undefined;
113
+ }, {}, {}>;
114
+ inviterId: import("drizzle-orm/pg-core").PgColumn<{
115
+ name: "inviter_id";
116
+ tableName: "invitation";
117
+ dataType: "string";
118
+ columnType: "PgText";
119
+ data: string;
120
+ driverParam: string;
121
+ notNull: false;
122
+ hasDefault: false;
123
+ isPrimaryKey: false;
124
+ isAutoincrement: false;
125
+ hasRuntimeDefault: false;
126
+ enumValues: [string, ...string[]];
127
+ baseColumn: never;
128
+ identity: undefined;
129
+ generated: undefined;
130
+ }, {}, {}>;
131
+ createdBy: import("drizzle-orm/pg-core").PgColumn<{
132
+ name: "created_by";
133
+ tableName: "invitation";
134
+ dataType: "string";
135
+ columnType: "PgText";
136
+ data: string;
137
+ driverParam: string;
138
+ notNull: false;
139
+ hasDefault: false;
140
+ isPrimaryKey: false;
141
+ isAutoincrement: false;
142
+ hasRuntimeDefault: false;
143
+ enumValues: [string, ...string[]];
144
+ baseColumn: never;
145
+ identity: undefined;
146
+ generated: undefined;
147
+ }, {}, {}>;
148
+ maxUses: import("drizzle-orm/pg-core").PgColumn<{
149
+ name: "max_uses";
150
+ tableName: "invitation";
151
+ dataType: "number";
152
+ columnType: "PgInteger";
153
+ data: number;
154
+ driverParam: string | number;
155
+ notNull: true;
156
+ hasDefault: true;
157
+ isPrimaryKey: false;
158
+ isAutoincrement: false;
159
+ hasRuntimeDefault: false;
160
+ enumValues: undefined;
161
+ baseColumn: never;
162
+ identity: undefined;
163
+ generated: undefined;
164
+ }, {}, {}>;
165
+ usedCount: import("drizzle-orm/pg-core").PgColumn<{
166
+ name: "used_count";
167
+ tableName: "invitation";
168
+ dataType: "number";
169
+ columnType: "PgInteger";
170
+ data: number;
171
+ driverParam: string | number;
172
+ notNull: true;
173
+ hasDefault: true;
174
+ isPrimaryKey: false;
175
+ isAutoincrement: false;
176
+ hasRuntimeDefault: false;
177
+ enumValues: undefined;
178
+ baseColumn: never;
179
+ identity: undefined;
180
+ generated: undefined;
181
+ }, {}, {}>;
182
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
183
+ name: "created_at";
184
+ tableName: "invitation";
185
+ dataType: "date";
186
+ columnType: "PgTimestamp";
187
+ data: Date;
188
+ driverParam: string;
189
+ notNull: true;
190
+ hasDefault: true;
191
+ isPrimaryKey: false;
192
+ isAutoincrement: false;
193
+ hasRuntimeDefault: false;
194
+ enumValues: undefined;
195
+ baseColumn: never;
196
+ identity: undefined;
197
+ generated: undefined;
198
+ }, {}, {}>;
199
+ expiresAt: import("drizzle-orm/pg-core").PgColumn<{
200
+ name: "expires_at";
201
+ tableName: "invitation";
202
+ dataType: "date";
203
+ columnType: "PgTimestamp";
204
+ data: Date;
205
+ driverParam: string;
206
+ notNull: true;
207
+ hasDefault: false;
208
+ isPrimaryKey: false;
209
+ isAutoincrement: false;
210
+ hasRuntimeDefault: false;
211
+ enumValues: undefined;
212
+ baseColumn: never;
213
+ identity: undefined;
214
+ generated: undefined;
215
+ }, {}, {}>;
216
+ revokedAt: import("drizzle-orm/pg-core").PgColumn<{
217
+ name: "revoked_at";
218
+ tableName: "invitation";
219
+ dataType: "date";
220
+ columnType: "PgTimestamp";
221
+ data: Date;
222
+ driverParam: string;
223
+ notNull: false;
224
+ hasDefault: false;
225
+ isPrimaryKey: false;
226
+ isAutoincrement: false;
227
+ hasRuntimeDefault: false;
228
+ enumValues: undefined;
229
+ baseColumn: never;
230
+ identity: undefined;
231
+ generated: undefined;
232
+ }, {}, {}>;
233
+ };
234
+ dialect: "pg";
235
+ }>;
236
+ export declare const invitationRedemption: import("drizzle-orm/pg-core").PgTableWithColumns<{
237
+ name: "invitation_redemption";
238
+ schema: undefined;
239
+ columns: {
240
+ userId: import("drizzle-orm/pg-core").PgColumn<{
241
+ name: "user_id";
242
+ tableName: "invitation_redemption";
243
+ dataType: "string";
244
+ columnType: "PgText";
245
+ data: string;
246
+ driverParam: string;
247
+ notNull: true;
248
+ hasDefault: false;
249
+ isPrimaryKey: true;
250
+ isAutoincrement: false;
251
+ hasRuntimeDefault: false;
252
+ enumValues: [string, ...string[]];
253
+ baseColumn: never;
254
+ identity: undefined;
255
+ generated: undefined;
256
+ }, {}, {}>;
257
+ invitationId: import("drizzle-orm/pg-core").PgColumn<{
258
+ name: "invitation_id";
259
+ tableName: "invitation_redemption";
260
+ dataType: "string";
261
+ columnType: "PgText";
262
+ data: string;
263
+ driverParam: string;
264
+ notNull: true;
265
+ hasDefault: false;
266
+ isPrimaryKey: false;
267
+ isAutoincrement: false;
268
+ hasRuntimeDefault: false;
269
+ enumValues: [string, ...string[]];
270
+ baseColumn: never;
271
+ identity: undefined;
272
+ generated: undefined;
273
+ }, {}, {}>;
274
+ inviterId: import("drizzle-orm/pg-core").PgColumn<{
275
+ name: "inviter_id";
276
+ tableName: "invitation_redemption";
277
+ dataType: "string";
278
+ columnType: "PgText";
279
+ data: string;
280
+ driverParam: string;
281
+ notNull: false;
282
+ hasDefault: false;
283
+ isPrimaryKey: false;
284
+ isAutoincrement: false;
285
+ hasRuntimeDefault: false;
286
+ enumValues: [string, ...string[]];
287
+ baseColumn: never;
288
+ identity: undefined;
289
+ generated: undefined;
290
+ }, {}, {}>;
291
+ redeemedAt: import("drizzle-orm/pg-core").PgColumn<{
292
+ name: "redeemed_at";
293
+ tableName: "invitation_redemption";
294
+ dataType: "date";
295
+ columnType: "PgTimestamp";
296
+ data: Date;
297
+ driverParam: string;
298
+ notNull: true;
299
+ hasDefault: true;
300
+ isPrimaryKey: false;
301
+ isAutoincrement: false;
302
+ hasRuntimeDefault: false;
303
+ enumValues: undefined;
304
+ baseColumn: never;
305
+ identity: undefined;
306
+ generated: undefined;
307
+ }, {}, {}>;
308
+ };
309
+ dialect: "pg";
310
+ }>;
@@ -0,0 +1,42 @@
1
+ import { sql } from "drizzle-orm";
2
+ import { boolean, check, index, integer, pgTable, text, timestamp, } from "drizzle-orm/pg-core";
3
+ import { user } from "./schema";
4
+ export const signupPolicy = pgTable("signup_policy", {
5
+ id: integer("id").primaryKey(),
6
+ invitationOnly: boolean("invitation_only").notNull().default(false),
7
+ updatedBy: text("updated_by").references(() => user.id, {
8
+ onDelete: "set null",
9
+ }),
10
+ updatedAt: timestamp("updated_at").notNull().defaultNow(),
11
+ }, (table) => [check("signup_policy_singleton", sql `${table.id} = 1`)]);
12
+ export const invitation = pgTable("invitation", {
13
+ id: text("id").primaryKey(),
14
+ codeHash: text("code_hash").notNull().unique(),
15
+ inviterId: text("inviter_id").references(() => user.id, {
16
+ onDelete: "set null",
17
+ }),
18
+ createdBy: text("created_by").references(() => user.id, {
19
+ onDelete: "set null",
20
+ }),
21
+ maxUses: integer("max_uses").notNull().default(1),
22
+ usedCount: integer("used_count").notNull().default(0),
23
+ createdAt: timestamp("created_at").notNull().defaultNow(),
24
+ expiresAt: timestamp("expires_at").notNull(),
25
+ revokedAt: timestamp("revoked_at"),
26
+ }, (table) => [
27
+ check("invitation_capacity", sql `${table.maxUses} between 1 and 100 and ${table.usedCount} between 0 and ${table.maxUses}`),
28
+ ]);
29
+ export const invitationRedemption = pgTable("invitation_redemption", {
30
+ userId: text("user_id")
31
+ .primaryKey()
32
+ .references(() => user.id, { onDelete: "cascade" }),
33
+ invitationId: text("invitation_id")
34
+ .notNull()
35
+ .references(() => invitation.id),
36
+ inviterId: text("inviter_id").references(() => user.id, {
37
+ onDelete: "set null",
38
+ }),
39
+ redeemedAt: timestamp("redeemed_at").notNull().defaultNow(),
40
+ }, (table) => [
41
+ index("invitation_redemption_invitation_idx").on(table.invitationId),
42
+ ]);
@@ -4951,3 +4951,251 @@ export declare const oauthState: import("drizzle-orm/pg-core").PgTableWithColumn
4951
4951
  };
4952
4952
  dialect: "pg";
4953
4953
  }>;
4954
+ export declare const managedPdsOperation: import("drizzle-orm/pg-core").PgTableWithColumns<{
4955
+ name: "managed_pds_operation";
4956
+ schema: undefined;
4957
+ columns: {
4958
+ id: import("drizzle-orm/pg-core").PgColumn<{
4959
+ name: "id";
4960
+ tableName: "managed_pds_operation";
4961
+ dataType: "string";
4962
+ columnType: "PgText";
4963
+ data: string;
4964
+ driverParam: string;
4965
+ notNull: true;
4966
+ hasDefault: false;
4967
+ isPrimaryKey: true;
4968
+ isAutoincrement: false;
4969
+ hasRuntimeDefault: false;
4970
+ enumValues: [string, ...string[]];
4971
+ baseColumn: never;
4972
+ identity: undefined;
4973
+ generated: undefined;
4974
+ }, {}, {}>;
4975
+ userId: import("drizzle-orm/pg-core").PgColumn<{
4976
+ name: "user_id";
4977
+ tableName: "managed_pds_operation";
4978
+ dataType: "string";
4979
+ columnType: "PgText";
4980
+ data: string;
4981
+ driverParam: string;
4982
+ notNull: false;
4983
+ hasDefault: false;
4984
+ isPrimaryKey: false;
4985
+ isAutoincrement: false;
4986
+ hasRuntimeDefault: false;
4987
+ enumValues: [string, ...string[]];
4988
+ baseColumn: never;
4989
+ identity: undefined;
4990
+ generated: undefined;
4991
+ }, {}, {}>;
4992
+ handle: import("drizzle-orm/pg-core").PgColumn<{
4993
+ name: "handle";
4994
+ tableName: "managed_pds_operation";
4995
+ dataType: "string";
4996
+ columnType: "PgText";
4997
+ data: string;
4998
+ driverParam: string;
4999
+ notNull: true;
5000
+ hasDefault: false;
5001
+ isPrimaryKey: false;
5002
+ isAutoincrement: false;
5003
+ hasRuntimeDefault: false;
5004
+ enumValues: [string, ...string[]];
5005
+ baseColumn: never;
5006
+ identity: undefined;
5007
+ generated: undefined;
5008
+ }, {}, {}>;
5009
+ inviteReference: import("drizzle-orm/pg-core").PgColumn<{
5010
+ name: "invite_reference";
5011
+ tableName: "managed_pds_operation";
5012
+ dataType: "string";
5013
+ columnType: "PgText";
5014
+ data: string;
5015
+ driverParam: string;
5016
+ notNull: true;
5017
+ hasDefault: false;
5018
+ isPrimaryKey: false;
5019
+ isAutoincrement: false;
5020
+ hasRuntimeDefault: false;
5021
+ enumValues: [string, ...string[]];
5022
+ baseColumn: never;
5023
+ identity: undefined;
5024
+ generated: undefined;
5025
+ }, {}, {}>;
5026
+ state: import("drizzle-orm/pg-core").PgColumn<{
5027
+ name: "state";
5028
+ tableName: "managed_pds_operation";
5029
+ dataType: "string";
5030
+ columnType: "PgText";
5031
+ data: import("../types").ManagedPdsState;
5032
+ driverParam: string;
5033
+ notNull: true;
5034
+ hasDefault: true;
5035
+ isPrimaryKey: false;
5036
+ isAutoincrement: false;
5037
+ hasRuntimeDefault: false;
5038
+ enumValues: [string, ...string[]];
5039
+ baseColumn: never;
5040
+ identity: undefined;
5041
+ generated: undefined;
5042
+ }, {}, {
5043
+ $type: import("../types").ManagedPdsState;
5044
+ }>;
5045
+ did: import("drizzle-orm/pg-core").PgColumn<{
5046
+ name: "did";
5047
+ tableName: "managed_pds_operation";
5048
+ dataType: "string";
5049
+ columnType: "PgText";
5050
+ data: string;
5051
+ driverParam: string;
5052
+ notNull: false;
5053
+ hasDefault: false;
5054
+ isPrimaryKey: false;
5055
+ isAutoincrement: false;
5056
+ hasRuntimeDefault: false;
5057
+ enumValues: [string, ...string[]];
5058
+ baseColumn: never;
5059
+ identity: undefined;
5060
+ generated: undefined;
5061
+ }, {}, {}>;
5062
+ pdsEndpoint: import("drizzle-orm/pg-core").PgColumn<{
5063
+ name: "pds_endpoint";
5064
+ tableName: "managed_pds_operation";
5065
+ dataType: "string";
5066
+ columnType: "PgText";
5067
+ data: string;
5068
+ driverParam: string;
5069
+ notNull: true;
5070
+ hasDefault: false;
5071
+ isPrimaryKey: false;
5072
+ isAutoincrement: false;
5073
+ hasRuntimeDefault: false;
5074
+ enumValues: [string, ...string[]];
5075
+ baseColumn: never;
5076
+ identity: undefined;
5077
+ generated: undefined;
5078
+ }, {}, {}>;
5079
+ identityVersion: import("drizzle-orm/pg-core").PgColumn<{
5080
+ name: "identity_version";
5081
+ tableName: "managed_pds_operation";
5082
+ dataType: "number";
5083
+ columnType: "PgInteger";
5084
+ data: number;
5085
+ driverParam: string | number;
5086
+ notNull: true;
5087
+ hasDefault: true;
5088
+ isPrimaryKey: false;
5089
+ isAutoincrement: false;
5090
+ hasRuntimeDefault: false;
5091
+ enumValues: undefined;
5092
+ baseColumn: never;
5093
+ identity: undefined;
5094
+ generated: undefined;
5095
+ }, {}, {}>;
5096
+ fence: import("drizzle-orm/pg-core").PgColumn<{
5097
+ name: "fence";
5098
+ tableName: "managed_pds_operation";
5099
+ dataType: "number";
5100
+ columnType: "PgInteger";
5101
+ data: number;
5102
+ driverParam: string | number;
5103
+ notNull: true;
5104
+ hasDefault: true;
5105
+ isPrimaryKey: false;
5106
+ isAutoincrement: false;
5107
+ hasRuntimeDefault: false;
5108
+ enumValues: undefined;
5109
+ baseColumn: never;
5110
+ identity: undefined;
5111
+ generated: undefined;
5112
+ }, {}, {}>;
5113
+ attempts: import("drizzle-orm/pg-core").PgColumn<{
5114
+ name: "attempts";
5115
+ tableName: "managed_pds_operation";
5116
+ dataType: "number";
5117
+ columnType: "PgInteger";
5118
+ data: number;
5119
+ driverParam: string | number;
5120
+ notNull: true;
5121
+ hasDefault: true;
5122
+ isPrimaryKey: false;
5123
+ isAutoincrement: false;
5124
+ hasRuntimeDefault: false;
5125
+ enumValues: undefined;
5126
+ baseColumn: never;
5127
+ identity: undefined;
5128
+ generated: undefined;
5129
+ }, {}, {}>;
5130
+ leaseUntil: import("drizzle-orm/pg-core").PgColumn<{
5131
+ name: "lease_until";
5132
+ tableName: "managed_pds_operation";
5133
+ dataType: "date";
5134
+ columnType: "PgTimestamp";
5135
+ data: Date;
5136
+ driverParam: string;
5137
+ notNull: false;
5138
+ hasDefault: false;
5139
+ isPrimaryKey: false;
5140
+ isAutoincrement: false;
5141
+ hasRuntimeDefault: false;
5142
+ enumValues: undefined;
5143
+ baseColumn: never;
5144
+ identity: undefined;
5145
+ generated: undefined;
5146
+ }, {}, {}>;
5147
+ failureCode: import("drizzle-orm/pg-core").PgColumn<{
5148
+ name: "failure_code";
5149
+ tableName: "managed_pds_operation";
5150
+ dataType: "string";
5151
+ columnType: "PgText";
5152
+ data: string;
5153
+ driverParam: string;
5154
+ notNull: false;
5155
+ hasDefault: false;
5156
+ isPrimaryKey: false;
5157
+ isAutoincrement: false;
5158
+ hasRuntimeDefault: false;
5159
+ enumValues: [string, ...string[]];
5160
+ baseColumn: never;
5161
+ identity: undefined;
5162
+ generated: undefined;
5163
+ }, {}, {}>;
5164
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
5165
+ name: "created_at";
5166
+ tableName: "managed_pds_operation";
5167
+ dataType: "date";
5168
+ columnType: "PgTimestamp";
5169
+ data: Date;
5170
+ driverParam: string;
5171
+ notNull: true;
5172
+ hasDefault: true;
5173
+ isPrimaryKey: false;
5174
+ isAutoincrement: false;
5175
+ hasRuntimeDefault: false;
5176
+ enumValues: undefined;
5177
+ baseColumn: never;
5178
+ identity: undefined;
5179
+ generated: undefined;
5180
+ }, {}, {}>;
5181
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
5182
+ name: "updated_at";
5183
+ tableName: "managed_pds_operation";
5184
+ dataType: "date";
5185
+ columnType: "PgTimestamp";
5186
+ data: Date;
5187
+ driverParam: string;
5188
+ notNull: true;
5189
+ hasDefault: true;
5190
+ isPrimaryKey: false;
5191
+ isAutoincrement: false;
5192
+ hasRuntimeDefault: false;
5193
+ enumValues: undefined;
5194
+ baseColumn: never;
5195
+ identity: undefined;
5196
+ generated: undefined;
5197
+ }, {}, {}>;
5198
+ };
5199
+ dialect: "pg";
5200
+ }>;
5201
+ export { invitation, invitationRedemption, signupPolicy } from "./invitations";
@@ -876,3 +876,28 @@ export const oauthState = pgTable("oauth_state", {
876
876
  data: text("data").notNull(),
877
877
  expiresAt: timestamp("expires_at").notNull(),
878
878
  }, (table) => [primaryKey({ columns: [table.providerId, table.id] })]);
879
+ export const managedPdsOperation = pgTable("managed_pds_operation", {
880
+ id: text("id").primaryKey(),
881
+ userId: text("user_id").references(() => user.id, { onDelete: "set null" }),
882
+ handle: text("handle").notNull(),
883
+ inviteReference: text("invite_reference").notNull(),
884
+ state: text("state")
885
+ .$type()
886
+ .notNull()
887
+ .default("queued"),
888
+ did: text("did"),
889
+ pdsEndpoint: text("pds_endpoint").notNull(),
890
+ identityVersion: integer("identity_version").notNull().default(1),
891
+ fence: integer("fence").notNull().default(0),
892
+ attempts: integer("attempts").notNull().default(0),
893
+ leaseUntil: timestamp("lease_until"),
894
+ failureCode: text("failure_code"),
895
+ createdAt: timestamp("created_at").notNull().defaultNow(),
896
+ updatedAt: timestamp("updated_at").notNull().defaultNow(),
897
+ }, (table) => [
898
+ uniqueIndex("managed_pds_user_idx").on(table.userId),
899
+ uniqueIndex("managed_pds_handle_idx").on(table.handle),
900
+ uniqueIndex("managed_pds_did_idx").on(table.did),
901
+ index("managed_pds_work_idx").on(table.state, table.leaseUntil),
902
+ ]);
903
+ export { invitation, invitationRedemption, signupPolicy } from "./invitations";
@@ -0,0 +1,15 @@
1
+ import type { SessionUser } from "./types";
2
+ /** The audience a session was minted for. */
3
+ export declare const audienceOf: <T>(session: T) => string | undefined;
4
+ /** A session's own id. */
5
+ export declare const sessionIdOf: <T>(session: T) => string | undefined;
6
+ /** Whether the account is a guest. Absent means "not a guest". */
7
+ export declare const isGuestOf: <T>(user: T) => boolean;
8
+ /** The account's username. */
9
+ export declare const usernameOf: <T>(user: T) => string | undefined;
10
+ /**
11
+ * better-auth types `session.user` from its own base schema. Flow declares the extra columns
12
+ * through `additionalFields`, so every user row this server reads or writes carries them; the
13
+ * assertion names that configured shape rather than guessing at one.
14
+ */
15
+ export declare function sessionUserOf<T>(user: T): SessionUser;
@@ -0,0 +1,32 @@
1
+ /**
2
+ * better-auth types `User` and `Session` from its own schema, so the fields Flow adds through
3
+ * `additionalFields` (audience, isGuest, username, walletAddress) are absent from those types.
4
+ *
5
+ * These read the added fields off the value without asserting a shape onto it, so a missing or
6
+ * wrongly-typed field answers `undefined` rather than becoming a lie the compiler believes.
7
+ * `String(x) === x` holds only for string primitives, which is the check without a `typeof`.
8
+ */
9
+ function textField(value, key) {
10
+ const found = Object.entries(Object(value)).find(([k]) => k === key)?.[1];
11
+ return String(found) === found ? found : undefined;
12
+ }
13
+ function boolField(value, key) {
14
+ return Object.entries(Object(value)).find(([k]) => k === key)?.[1] === true;
15
+ }
16
+ /** The audience a session was minted for. */
17
+ export const audienceOf = (session) => textField(session, "audience");
18
+ /** A session's own id. */
19
+ export const sessionIdOf = (session) => textField(session, "id");
20
+ /** Whether the account is a guest. Absent means "not a guest". */
21
+ export const isGuestOf = (user) => boolField(user, "isGuest");
22
+ /** The account's username. */
23
+ export const usernameOf = (user) => textField(user, "username");
24
+ /**
25
+ * better-auth types `session.user` from its own base schema. Flow declares the extra columns
26
+ * through `additionalFields`, so every user row this server reads or writes carries them; the
27
+ * assertion names that configured shape rather than guessing at one.
28
+ */
29
+ export function sessionUserOf(user) {
30
+ // SAFETY: the fields are declared in the plugin config; see the doc comment.
31
+ return user;
32
+ }