@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.
- package/README.md +38 -0
- package/contracts/v1/sdk-exports.json +30 -0
- package/dist/sdk/caller.d.ts +29 -0
- package/dist/sdk/caller.js +37 -0
- package/dist/sdk/client/atproto-resolver.d.ts +8 -0
- package/dist/sdk/client/atproto-resolver.js +87 -0
- package/dist/sdk/client/atproto.js +9 -1
- package/dist/sdk/client/create-flow.js +10 -0
- package/dist/sdk/client/index.d.ts +2 -1
- package/dist/sdk/client/index.js +1 -0
- package/dist/sdk/client/static-flow.js +2 -0
- package/dist/sdk/client/study-search.js +34 -4
- package/dist/sdk/db/invitations.d.ts +310 -0
- package/dist/sdk/db/invitations.js +42 -0
- package/dist/sdk/db/schema.d.ts +248 -0
- package/dist/sdk/db/schema.js +25 -0
- package/dist/sdk/session-view.d.ts +15 -0
- package/dist/sdk/session-view.js +32 -0
- package/dist/sdk/types/atproto-resolver.d.ts +46 -0
- package/dist/sdk/types/atproto-resolver.js +0 -0
- package/dist/sdk/types/atproto.d.ts +22 -0
- package/dist/sdk/types/auth.d.ts +4 -0
- package/dist/sdk/types/dialog.d.ts +3 -0
- package/dist/sdk/types/hosted-oauth.d.ts +23 -0
- package/dist/sdk/types/hosted-oauth.js +0 -0
- package/dist/sdk/types/hosting-quota.d.ts +28 -0
- package/dist/sdk/types/hosting-quota.js +0 -0
- package/dist/sdk/types/index.d.ts +5 -1
- package/dist/sdk/types/managed-provisioning.d.ts +51 -0
- package/dist/sdk/types/managed-provisioning.js +0 -0
- package/dist/sdk/types/sdk.d.ts +2 -0
- package/package.json +4 -2
|
@@ -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
|
+
]);
|
package/dist/sdk/db/schema.d.ts
CHANGED
|
@@ -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";
|
package/dist/sdk/db/schema.js
CHANGED
|
@@ -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
|
+
}
|