@logto/cloud 0.2.5-ab8a489 → 0.2.5-adb5eaf
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/lib/routes/index.d.ts +683 -110
- package/package.json +11 -10
package/lib/routes/index.d.ts
CHANGED
|
@@ -3,21 +3,27 @@
|
|
|
3
3
|
import { Json, JsonObject, RequestContext } from '@withtyped/server';
|
|
4
4
|
import { InferModelType } from '@withtyped/server/model';
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
6
|
+
declare const availableReportableUsageKeys: readonly [
|
|
7
|
+
"tokenLimit",
|
|
8
|
+
"machineToMachineLimit",
|
|
9
|
+
"resourcesLimit",
|
|
10
|
+
"enterpriseSsoLimit",
|
|
11
|
+
"hooksLimit",
|
|
12
|
+
"tenantMembersLimit",
|
|
13
|
+
"mfaEnabled",
|
|
14
|
+
"organizationsEnabled",
|
|
15
|
+
"organizationsLimit",
|
|
16
|
+
"securityFeaturesEnabled",
|
|
17
|
+
"userRolesLimit",
|
|
18
|
+
"machineToMachineRolesLimit",
|
|
19
|
+
"thirdPartyApplicationsLimit",
|
|
20
|
+
"samlApplicationsLimit"
|
|
21
|
+
];
|
|
22
|
+
export type ReportableUsageKey = (typeof availableReportableUsageKeys)[number];
|
|
23
|
+
export type RealtimeReportableUsageKey = Exclude<ReportableUsageKey, "tokenLimit">;
|
|
24
|
+
declare enum LogtoSkuType {
|
|
25
|
+
Basic = "Basic",
|
|
26
|
+
AddOn = "AddOn"
|
|
21
27
|
}
|
|
22
28
|
declare enum TemplateType {
|
|
23
29
|
/** The template for sending verification code when user is signing in. */
|
|
@@ -29,7 +35,15 @@ declare enum TemplateType {
|
|
|
29
35
|
/** The template for sending organization invitation. */
|
|
30
36
|
OrganizationInvitation = "OrganizationInvitation",
|
|
31
37
|
/** The template for generic usage. */
|
|
32
|
-
Generic = "Generic"
|
|
38
|
+
Generic = "Generic",
|
|
39
|
+
/** The template for validating user permission for sensitive operations. */
|
|
40
|
+
UserPermissionValidation = "UserPermissionValidation",
|
|
41
|
+
/** The template for binding a new identifier to an existing account. */
|
|
42
|
+
BindNewIdentifier = "BindNewIdentifier",
|
|
43
|
+
/** The template for sending MFA verification code. */
|
|
44
|
+
MfaVerification = "MfaVerification",
|
|
45
|
+
/** The template for binding MFA verification. */
|
|
46
|
+
BindMfa = "BindMfa"
|
|
33
47
|
}
|
|
34
48
|
declare enum OrganizationInvitationStatus {
|
|
35
49
|
Pending = "Pending",
|
|
@@ -37,6 +51,16 @@ declare enum OrganizationInvitationStatus {
|
|
|
37
51
|
Expired = "Expired",
|
|
38
52
|
Revoked = "Revoked"
|
|
39
53
|
}
|
|
54
|
+
/** The scopes (permissions) defined by the organization template. */
|
|
55
|
+
export type OrganizationScope = {
|
|
56
|
+
tenantId: string;
|
|
57
|
+
/** The globally unique identifier of the organization scope. */
|
|
58
|
+
id: string;
|
|
59
|
+
/** The organization scope's name, unique within the organization template. */
|
|
60
|
+
name: string;
|
|
61
|
+
/** A brief description of the organization scope. */
|
|
62
|
+
description: string | null;
|
|
63
|
+
};
|
|
40
64
|
declare enum LogtoJwtTokenKeyType {
|
|
41
65
|
AccessToken = "access-token",
|
|
42
66
|
ClientCredentials = "client-credentials"
|
|
@@ -72,11 +96,53 @@ declare const Affiliates: import("@withtyped/server/lib/model/index.js").default
|
|
|
72
96
|
id: string;
|
|
73
97
|
}, "id" | "createdAt", "id" | "createdAt">;
|
|
74
98
|
export type Affiliate = InferModelType<typeof Affiliates>;
|
|
99
|
+
declare const publicRegionNames: readonly [
|
|
100
|
+
"EU",
|
|
101
|
+
"US",
|
|
102
|
+
"AU",
|
|
103
|
+
"JP"
|
|
104
|
+
];
|
|
105
|
+
/** The type of region names for the public cloud. */
|
|
106
|
+
export type PublicRegionName = (typeof publicRegionNames)[number];
|
|
107
|
+
/**
|
|
108
|
+
* Data structure representing a Logto Cloud region.
|
|
109
|
+
*/
|
|
110
|
+
export type Region = {
|
|
111
|
+
/**
|
|
112
|
+
* The unique identifier for the region.
|
|
113
|
+
*/
|
|
114
|
+
id: string;
|
|
115
|
+
/**
|
|
116
|
+
* A human-readable name for the region.
|
|
117
|
+
*/
|
|
118
|
+
name: string;
|
|
119
|
+
/**
|
|
120
|
+
* The country where the region is located.
|
|
121
|
+
*/
|
|
122
|
+
country: string;
|
|
123
|
+
/**
|
|
124
|
+
* Indicates whether the region is private.
|
|
125
|
+
*/
|
|
126
|
+
isPrivate: boolean;
|
|
127
|
+
/**
|
|
128
|
+
* Tenant tags available for selection when creating tenants in this region.
|
|
129
|
+
*/
|
|
130
|
+
tags: TenantTag[];
|
|
131
|
+
};
|
|
132
|
+
export type WithAuthContext<Context = RequestContext> = Context & {
|
|
133
|
+
auth: {
|
|
134
|
+
/** The ID of the authenticated subject (`sub`). */
|
|
135
|
+
id: string;
|
|
136
|
+
/** The scopes that the subject has (`scope`). */
|
|
137
|
+
scopes: string[];
|
|
138
|
+
};
|
|
139
|
+
};
|
|
75
140
|
export type AffiliateData = Affiliate & {
|
|
76
141
|
properties: Array<Pick<AffiliateProperty, "type" | "value">>;
|
|
77
142
|
};
|
|
78
143
|
declare const router: import("@withtyped/server").Router<RequestContext, WithAuthContext<Omit<import("@withtyped/server").BaseContext & {
|
|
79
144
|
request: {
|
|
145
|
+
id?: string | undefined;
|
|
80
146
|
method?: import("@withtyped/server").RequestMethod | undefined;
|
|
81
147
|
headers: import("http").IncomingHttpHeaders;
|
|
82
148
|
url: URL;
|
|
@@ -84,6 +150,7 @@ declare const router: import("@withtyped/server").Router<RequestContext, WithAut
|
|
|
84
150
|
};
|
|
85
151
|
}, "request"> & {
|
|
86
152
|
request: Record<string, unknown> & {
|
|
153
|
+
id?: string | undefined;
|
|
87
154
|
method?: import("@withtyped/server").RequestMethod | undefined;
|
|
88
155
|
headers: import("http").IncomingHttpHeaders;
|
|
89
156
|
url: URL;
|
|
@@ -92,16 +159,20 @@ declare const router: import("@withtyped/server").Router<RequestContext, WithAut
|
|
|
92
159
|
body?: Json | undefined;
|
|
93
160
|
bodyRaw?: Buffer | undefined;
|
|
94
161
|
};
|
|
95
|
-
}>, import("@withtyped/server").MergeRoutes<import("@withtyped/server").MergeRoutes<import("@withtyped/server").MergeRoutes<import("@withtyped/server").MergeRoutes<import("@withtyped/server").MergeRoutes<import("@withtyped/server").MergeRoutes<import("@withtyped/server").MergeRoutes<import("@withtyped/server").MergeRoutes<import("@withtyped/server").BaseRoutes, import("@withtyped/server").RoutesWithPrefix<{
|
|
162
|
+
}>, import("@withtyped/server").MergeRoutes<import("@withtyped/server").MergeRoutes<import("@withtyped/server").MergeRoutes<import("@withtyped/server").MergeRoutes<import("@withtyped/server").MergeRoutes<import("@withtyped/server").MergeRoutes<import("@withtyped/server").MergeRoutes<import("@withtyped/server").MergeRoutes<import("@withtyped/server").MergeRoutes<import("@withtyped/server").MergeRoutes<import("@withtyped/server").BaseRoutes, import("@withtyped/server").RoutesWithPrefix<{
|
|
96
163
|
patch: {
|
|
97
164
|
"/tenants/:tenantId": import("@withtyped/server").PathGuard<"/:tenantId", unknown, {
|
|
98
165
|
name?: string | undefined;
|
|
99
166
|
}, {
|
|
100
167
|
id: string;
|
|
101
168
|
name: string;
|
|
169
|
+
createdAt: Date;
|
|
170
|
+
quota: {
|
|
171
|
+
mauLimit: number | null;
|
|
172
|
+
tokenLimit: number | null;
|
|
173
|
+
};
|
|
102
174
|
usage: {
|
|
103
175
|
activeUsers: number;
|
|
104
|
-
cost: number;
|
|
105
176
|
tokenUsage: number;
|
|
106
177
|
};
|
|
107
178
|
indicator: string;
|
|
@@ -112,11 +183,21 @@ declare const router: import("@withtyped/server").Router<RequestContext, WithAut
|
|
|
112
183
|
planId: string;
|
|
113
184
|
currentPeriodStart: Date;
|
|
114
185
|
currentPeriodEnd: Date;
|
|
186
|
+
isEnterprisePlan: boolean;
|
|
187
|
+
id?: string | undefined;
|
|
188
|
+
upcomingInvoice?: {
|
|
189
|
+
subtotal: number;
|
|
190
|
+
subtotalExcludingTax: number | null;
|
|
191
|
+
total: number;
|
|
192
|
+
totalExcludingTax: number | null;
|
|
193
|
+
} | null | undefined;
|
|
115
194
|
};
|
|
195
|
+
regionName: string;
|
|
196
|
+
tag: TenantTag;
|
|
116
197
|
openInvoices: {
|
|
117
|
-
status: "void" | "open" | "draft" | "paid" | "uncollectible" | null;
|
|
118
198
|
id: string;
|
|
119
199
|
createdAt: Date;
|
|
200
|
+
status: "void" | "open" | "draft" | "paid" | "uncollectible" | null;
|
|
120
201
|
updatedAt: Date;
|
|
121
202
|
customerId: string | null;
|
|
122
203
|
billingReason: string | null;
|
|
@@ -124,11 +205,11 @@ declare const router: import("@withtyped/server").Router<RequestContext, WithAut
|
|
|
124
205
|
periodEnd: Date;
|
|
125
206
|
amountDue: number;
|
|
126
207
|
amountPaid: number;
|
|
208
|
+
basicSkuId: string | null;
|
|
127
209
|
subscriptionId: string | null;
|
|
128
210
|
hostedInvoiceUrl: string | null;
|
|
129
211
|
invoicePdf: string | null;
|
|
130
212
|
}[];
|
|
131
|
-
tag: TenantTag;
|
|
132
213
|
}>;
|
|
133
214
|
};
|
|
134
215
|
options: {};
|
|
@@ -136,9 +217,13 @@ declare const router: import("@withtyped/server").Router<RequestContext, WithAut
|
|
|
136
217
|
"/tenants": import("@withtyped/server").PathGuard<"/", unknown, unknown, {
|
|
137
218
|
id: string;
|
|
138
219
|
name: string;
|
|
220
|
+
createdAt: Date;
|
|
221
|
+
quota: {
|
|
222
|
+
mauLimit: number | null;
|
|
223
|
+
tokenLimit: number | null;
|
|
224
|
+
};
|
|
139
225
|
usage: {
|
|
140
226
|
activeUsers: number;
|
|
141
|
-
cost: number;
|
|
142
227
|
tokenUsage: number;
|
|
143
228
|
};
|
|
144
229
|
indicator: string;
|
|
@@ -149,11 +234,21 @@ declare const router: import("@withtyped/server").Router<RequestContext, WithAut
|
|
|
149
234
|
planId: string;
|
|
150
235
|
currentPeriodStart: Date;
|
|
151
236
|
currentPeriodEnd: Date;
|
|
237
|
+
isEnterprisePlan: boolean;
|
|
238
|
+
id?: string | undefined;
|
|
239
|
+
upcomingInvoice?: {
|
|
240
|
+
subtotal: number;
|
|
241
|
+
subtotalExcludingTax: number | null;
|
|
242
|
+
total: number;
|
|
243
|
+
totalExcludingTax: number | null;
|
|
244
|
+
} | null | undefined;
|
|
152
245
|
};
|
|
246
|
+
regionName: string;
|
|
247
|
+
tag: TenantTag;
|
|
153
248
|
openInvoices: {
|
|
154
|
-
status: "void" | "open" | "draft" | "paid" | "uncollectible" | null;
|
|
155
249
|
id: string;
|
|
156
250
|
createdAt: Date;
|
|
251
|
+
status: "void" | "open" | "draft" | "paid" | "uncollectible" | null;
|
|
157
252
|
updatedAt: Date;
|
|
158
253
|
customerId: string | null;
|
|
159
254
|
billingReason: string | null;
|
|
@@ -161,23 +256,29 @@ declare const router: import("@withtyped/server").Router<RequestContext, WithAut
|
|
|
161
256
|
periodEnd: Date;
|
|
162
257
|
amountDue: number;
|
|
163
258
|
amountPaid: number;
|
|
259
|
+
basicSkuId: string | null;
|
|
164
260
|
subscriptionId: string | null;
|
|
165
261
|
hostedInvoiceUrl: string | null;
|
|
166
262
|
invoicePdf: string | null;
|
|
167
263
|
}[];
|
|
168
|
-
tag: TenantTag;
|
|
169
264
|
}[]>;
|
|
170
265
|
};
|
|
171
266
|
post: {
|
|
172
267
|
"/tenants": import("@withtyped/server").PathGuard<"/", unknown, {
|
|
268
|
+
id?: string | undefined;
|
|
173
269
|
name?: string | undefined;
|
|
174
270
|
tag?: TenantTag | undefined;
|
|
271
|
+
regionName?: string | undefined;
|
|
175
272
|
}, {
|
|
176
273
|
id: string;
|
|
177
274
|
name: string;
|
|
275
|
+
createdAt: Date;
|
|
276
|
+
quota: {
|
|
277
|
+
mauLimit: number | null;
|
|
278
|
+
tokenLimit: number | null;
|
|
279
|
+
};
|
|
178
280
|
usage: {
|
|
179
281
|
activeUsers: number;
|
|
180
|
-
cost: number;
|
|
181
282
|
tokenUsage: number;
|
|
182
283
|
};
|
|
183
284
|
indicator: string;
|
|
@@ -188,11 +289,21 @@ declare const router: import("@withtyped/server").Router<RequestContext, WithAut
|
|
|
188
289
|
planId: string;
|
|
189
290
|
currentPeriodStart: Date;
|
|
190
291
|
currentPeriodEnd: Date;
|
|
292
|
+
isEnterprisePlan: boolean;
|
|
293
|
+
id?: string | undefined;
|
|
294
|
+
upcomingInvoice?: {
|
|
295
|
+
subtotal: number;
|
|
296
|
+
subtotalExcludingTax: number | null;
|
|
297
|
+
total: number;
|
|
298
|
+
totalExcludingTax: number | null;
|
|
299
|
+
} | null | undefined;
|
|
191
300
|
};
|
|
301
|
+
regionName: string;
|
|
302
|
+
tag: TenantTag;
|
|
192
303
|
openInvoices: {
|
|
193
|
-
status: "void" | "open" | "draft" | "paid" | "uncollectible" | null;
|
|
194
304
|
id: string;
|
|
195
305
|
createdAt: Date;
|
|
306
|
+
status: "void" | "open" | "draft" | "paid" | "uncollectible" | null;
|
|
196
307
|
updatedAt: Date;
|
|
197
308
|
customerId: string | null;
|
|
198
309
|
billingReason: string | null;
|
|
@@ -200,11 +311,11 @@ declare const router: import("@withtyped/server").Router<RequestContext, WithAut
|
|
|
200
311
|
periodEnd: Date;
|
|
201
312
|
amountDue: number;
|
|
202
313
|
amountPaid: number;
|
|
314
|
+
basicSkuId: string | null;
|
|
203
315
|
subscriptionId: string | null;
|
|
204
316
|
hostedInvoiceUrl: string | null;
|
|
205
317
|
invoicePdf: string | null;
|
|
206
318
|
}[];
|
|
207
|
-
tag: TenantTag;
|
|
208
319
|
}>;
|
|
209
320
|
};
|
|
210
321
|
put: {};
|
|
@@ -219,23 +330,291 @@ declare const router: import("@withtyped/server").Router<RequestContext, WithAut
|
|
|
219
330
|
get: {
|
|
220
331
|
"/tenants/my/subscription": import("@withtyped/server").PathGuard<"/my/subscription", unknown, unknown, {
|
|
221
332
|
status: "incomplete" | "incomplete_expired" | "trialing" | "active" | "past_due" | "canceled" | "unpaid" | "paused";
|
|
333
|
+
quota: {
|
|
334
|
+
auditLogsRetentionDays: number | null;
|
|
335
|
+
mauLimit: number | null;
|
|
336
|
+
applicationsLimit: number | null;
|
|
337
|
+
thirdPartyApplicationsLimit: number | null;
|
|
338
|
+
scopesPerResourceLimit: number | null;
|
|
339
|
+
socialConnectorsLimit: number | null;
|
|
340
|
+
userRolesLimit: number | null;
|
|
341
|
+
machineToMachineRolesLimit: number | null;
|
|
342
|
+
scopesPerRoleLimit: number | null;
|
|
343
|
+
hooksLimit: number | null;
|
|
344
|
+
customJwtEnabled: boolean;
|
|
345
|
+
subjectTokenEnabled: boolean;
|
|
346
|
+
bringYourUiEnabled: boolean;
|
|
347
|
+
collectUserProfileEnabled: boolean;
|
|
348
|
+
tokenLimit: number | null;
|
|
349
|
+
machineToMachineLimit: number | null;
|
|
350
|
+
resourcesLimit: number | null;
|
|
351
|
+
enterpriseSsoLimit: number | null;
|
|
352
|
+
tenantMembersLimit: number | null;
|
|
353
|
+
mfaEnabled: boolean;
|
|
354
|
+
organizationsEnabled: boolean;
|
|
355
|
+
organizationsLimit: number | null;
|
|
356
|
+
securityFeaturesEnabled: boolean;
|
|
357
|
+
idpInitiatedSsoEnabled: boolean;
|
|
358
|
+
samlApplicationsLimit: number | null;
|
|
359
|
+
};
|
|
222
360
|
planId: string;
|
|
223
361
|
currentPeriodStart: Date;
|
|
224
362
|
currentPeriodEnd: Date;
|
|
363
|
+
isEnterprisePlan: boolean;
|
|
364
|
+
id?: string | undefined;
|
|
365
|
+
upcomingInvoice?: {
|
|
366
|
+
subtotal: number;
|
|
367
|
+
subtotalExcludingTax: number | null;
|
|
368
|
+
total: number;
|
|
369
|
+
totalExcludingTax: number | null;
|
|
370
|
+
} | null | undefined;
|
|
225
371
|
}>;
|
|
226
372
|
} & {
|
|
373
|
+
"/tenants/my/subscription-usage": import("@withtyped/server").PathGuard<"/my/subscription-usage", unknown, unknown, {
|
|
374
|
+
usage: {
|
|
375
|
+
applicationsLimit: number;
|
|
376
|
+
thirdPartyApplicationsLimit: number;
|
|
377
|
+
scopesPerResourceLimit: number;
|
|
378
|
+
socialConnectorsLimit: number;
|
|
379
|
+
userRolesLimit: number;
|
|
380
|
+
machineToMachineRolesLimit: number;
|
|
381
|
+
scopesPerRoleLimit: number;
|
|
382
|
+
hooksLimit: number;
|
|
383
|
+
customJwtEnabled: boolean;
|
|
384
|
+
subjectTokenEnabled: boolean;
|
|
385
|
+
bringYourUiEnabled: boolean;
|
|
386
|
+
collectUserProfileEnabled: boolean;
|
|
387
|
+
machineToMachineLimit: number;
|
|
388
|
+
resourcesLimit: number;
|
|
389
|
+
enterpriseSsoLimit: number;
|
|
390
|
+
tenantMembersLimit: number;
|
|
391
|
+
mfaEnabled: boolean;
|
|
392
|
+
organizationsEnabled: boolean;
|
|
393
|
+
organizationsLimit: number;
|
|
394
|
+
securityFeaturesEnabled: boolean;
|
|
395
|
+
idpInitiatedSsoEnabled: boolean;
|
|
396
|
+
samlApplicationsLimit: number;
|
|
397
|
+
};
|
|
398
|
+
resources: Record<string, number>;
|
|
399
|
+
roles: Record<string, number>;
|
|
400
|
+
quota: {
|
|
401
|
+
auditLogsRetentionDays: number | null;
|
|
402
|
+
mauLimit: number | null;
|
|
403
|
+
applicationsLimit: number | null;
|
|
404
|
+
thirdPartyApplicationsLimit: number | null;
|
|
405
|
+
scopesPerResourceLimit: number | null;
|
|
406
|
+
socialConnectorsLimit: number | null;
|
|
407
|
+
userRolesLimit: number | null;
|
|
408
|
+
machineToMachineRolesLimit: number | null;
|
|
409
|
+
scopesPerRoleLimit: number | null;
|
|
410
|
+
hooksLimit: number | null;
|
|
411
|
+
customJwtEnabled: boolean;
|
|
412
|
+
subjectTokenEnabled: boolean;
|
|
413
|
+
bringYourUiEnabled: boolean;
|
|
414
|
+
collectUserProfileEnabled: boolean;
|
|
415
|
+
tokenLimit: number | null;
|
|
416
|
+
machineToMachineLimit: number | null;
|
|
417
|
+
resourcesLimit: number | null;
|
|
418
|
+
enterpriseSsoLimit: number | null;
|
|
419
|
+
tenantMembersLimit: number | null;
|
|
420
|
+
mfaEnabled: boolean;
|
|
421
|
+
organizationsEnabled: boolean;
|
|
422
|
+
organizationsLimit: number | null;
|
|
423
|
+
securityFeaturesEnabled: boolean;
|
|
424
|
+
idpInitiatedSsoEnabled: boolean;
|
|
425
|
+
samlApplicationsLimit: number | null;
|
|
426
|
+
};
|
|
427
|
+
basicQuota: {
|
|
428
|
+
auditLogsRetentionDays: number | null;
|
|
429
|
+
mauLimit: number | null;
|
|
430
|
+
applicationsLimit: number | null;
|
|
431
|
+
thirdPartyApplicationsLimit: number | null;
|
|
432
|
+
scopesPerResourceLimit: number | null;
|
|
433
|
+
socialConnectorsLimit: number | null;
|
|
434
|
+
userRolesLimit: number | null;
|
|
435
|
+
machineToMachineRolesLimit: number | null;
|
|
436
|
+
scopesPerRoleLimit: number | null;
|
|
437
|
+
hooksLimit: number | null;
|
|
438
|
+
customJwtEnabled: boolean;
|
|
439
|
+
subjectTokenEnabled: boolean;
|
|
440
|
+
bringYourUiEnabled: boolean;
|
|
441
|
+
collectUserProfileEnabled: boolean;
|
|
442
|
+
tokenLimit: number | null;
|
|
443
|
+
machineToMachineLimit: number | null;
|
|
444
|
+
resourcesLimit: number | null;
|
|
445
|
+
enterpriseSsoLimit: number | null;
|
|
446
|
+
tenantMembersLimit: number | null;
|
|
447
|
+
mfaEnabled: boolean;
|
|
448
|
+
organizationsEnabled: boolean;
|
|
449
|
+
organizationsLimit: number | null;
|
|
450
|
+
securityFeaturesEnabled: boolean;
|
|
451
|
+
idpInitiatedSsoEnabled: boolean;
|
|
452
|
+
samlApplicationsLimit: number | null;
|
|
453
|
+
};
|
|
454
|
+
}>;
|
|
455
|
+
};
|
|
456
|
+
post: {
|
|
457
|
+
"/tenants/my/subscription/item-updates": import("@withtyped/server").PathGuard<"/my/subscription/item-updates", unknown, {
|
|
458
|
+
usageKey: RealtimeReportableUsageKey;
|
|
459
|
+
}, {
|
|
460
|
+
message: string;
|
|
461
|
+
}>;
|
|
462
|
+
};
|
|
463
|
+
put: {};
|
|
464
|
+
delete: {};
|
|
465
|
+
copy: {};
|
|
466
|
+
head: {};
|
|
467
|
+
}, "/api">>, import("@withtyped/server").RoutesWithPrefix<{
|
|
468
|
+
patch: {};
|
|
469
|
+
options: {};
|
|
470
|
+
get: {
|
|
227
471
|
"/tenants/:tenantId/subscription": import("@withtyped/server").PathGuard<"/:tenantId/subscription", unknown, unknown, {
|
|
228
472
|
status: "incomplete" | "incomplete_expired" | "trialing" | "active" | "past_due" | "canceled" | "unpaid" | "paused";
|
|
229
473
|
planId: string;
|
|
230
474
|
currentPeriodStart: Date;
|
|
231
475
|
currentPeriodEnd: Date;
|
|
476
|
+
isEnterprisePlan: boolean;
|
|
477
|
+
id?: string | undefined;
|
|
478
|
+
upcomingInvoice?: {
|
|
479
|
+
subtotal: number;
|
|
480
|
+
subtotalExcludingTax: number | null;
|
|
481
|
+
total: number;
|
|
482
|
+
totalExcludingTax: number | null;
|
|
483
|
+
} | null | undefined;
|
|
484
|
+
}>;
|
|
485
|
+
} & {
|
|
486
|
+
"/tenants/:tenantId/subscription-usage": import("@withtyped/server").PathGuard<"/:tenantId/subscription-usage", unknown, unknown, {
|
|
487
|
+
usage: {
|
|
488
|
+
applicationsLimit: number;
|
|
489
|
+
thirdPartyApplicationsLimit: number;
|
|
490
|
+
scopesPerResourceLimit: number;
|
|
491
|
+
socialConnectorsLimit: number;
|
|
492
|
+
userRolesLimit: number;
|
|
493
|
+
machineToMachineRolesLimit: number;
|
|
494
|
+
scopesPerRoleLimit: number;
|
|
495
|
+
hooksLimit: number;
|
|
496
|
+
customJwtEnabled: boolean;
|
|
497
|
+
subjectTokenEnabled: boolean;
|
|
498
|
+
bringYourUiEnabled: boolean;
|
|
499
|
+
collectUserProfileEnabled: boolean;
|
|
500
|
+
machineToMachineLimit: number;
|
|
501
|
+
resourcesLimit: number;
|
|
502
|
+
enterpriseSsoLimit: number;
|
|
503
|
+
tenantMembersLimit: number;
|
|
504
|
+
mfaEnabled: boolean;
|
|
505
|
+
organizationsEnabled: boolean;
|
|
506
|
+
organizationsLimit: number;
|
|
507
|
+
securityFeaturesEnabled: boolean;
|
|
508
|
+
idpInitiatedSsoEnabled: boolean;
|
|
509
|
+
samlApplicationsLimit: number;
|
|
510
|
+
};
|
|
511
|
+
resources: Record<string, number>;
|
|
512
|
+
roles: Record<string, number>;
|
|
513
|
+
quota: {
|
|
514
|
+
auditLogsRetentionDays: number | null;
|
|
515
|
+
mauLimit: number | null;
|
|
516
|
+
applicationsLimit: number | null;
|
|
517
|
+
thirdPartyApplicationsLimit: number | null;
|
|
518
|
+
scopesPerResourceLimit: number | null;
|
|
519
|
+
socialConnectorsLimit: number | null;
|
|
520
|
+
userRolesLimit: number | null;
|
|
521
|
+
machineToMachineRolesLimit: number | null;
|
|
522
|
+
scopesPerRoleLimit: number | null;
|
|
523
|
+
hooksLimit: number | null;
|
|
524
|
+
customJwtEnabled: boolean;
|
|
525
|
+
subjectTokenEnabled: boolean;
|
|
526
|
+
bringYourUiEnabled: boolean;
|
|
527
|
+
collectUserProfileEnabled: boolean;
|
|
528
|
+
tokenLimit: number | null;
|
|
529
|
+
machineToMachineLimit: number | null;
|
|
530
|
+
resourcesLimit: number | null;
|
|
531
|
+
enterpriseSsoLimit: number | null;
|
|
532
|
+
tenantMembersLimit: number | null;
|
|
533
|
+
mfaEnabled: boolean;
|
|
534
|
+
organizationsEnabled: boolean;
|
|
535
|
+
organizationsLimit: number | null;
|
|
536
|
+
securityFeaturesEnabled: boolean;
|
|
537
|
+
idpInitiatedSsoEnabled: boolean;
|
|
538
|
+
samlApplicationsLimit: number | null;
|
|
539
|
+
};
|
|
540
|
+
basicQuota: {
|
|
541
|
+
auditLogsRetentionDays: number | null;
|
|
542
|
+
mauLimit: number | null;
|
|
543
|
+
applicationsLimit: number | null;
|
|
544
|
+
thirdPartyApplicationsLimit: number | null;
|
|
545
|
+
scopesPerResourceLimit: number | null;
|
|
546
|
+
socialConnectorsLimit: number | null;
|
|
547
|
+
userRolesLimit: number | null;
|
|
548
|
+
machineToMachineRolesLimit: number | null;
|
|
549
|
+
scopesPerRoleLimit: number | null;
|
|
550
|
+
hooksLimit: number | null;
|
|
551
|
+
customJwtEnabled: boolean;
|
|
552
|
+
subjectTokenEnabled: boolean;
|
|
553
|
+
bringYourUiEnabled: boolean;
|
|
554
|
+
collectUserProfileEnabled: boolean;
|
|
555
|
+
tokenLimit: number | null;
|
|
556
|
+
machineToMachineLimit: number | null;
|
|
557
|
+
resourcesLimit: number | null;
|
|
558
|
+
enterpriseSsoLimit: number | null;
|
|
559
|
+
tenantMembersLimit: number | null;
|
|
560
|
+
mfaEnabled: boolean;
|
|
561
|
+
organizationsEnabled: boolean;
|
|
562
|
+
organizationsLimit: number | null;
|
|
563
|
+
securityFeaturesEnabled: boolean;
|
|
564
|
+
idpInitiatedSsoEnabled: boolean;
|
|
565
|
+
samlApplicationsLimit: number | null;
|
|
566
|
+
};
|
|
567
|
+
}>;
|
|
568
|
+
} & {
|
|
569
|
+
"/tenants/:tenantId/subscription/periodic-usage": import("@withtyped/server").PathGuard<"/:tenantId/subscription/periodic-usage", unknown, unknown, {
|
|
570
|
+
mauLimit: number;
|
|
571
|
+
tokenLimit: number;
|
|
232
572
|
}>;
|
|
573
|
+
} & {
|
|
574
|
+
"/tenants/:tenantId/subscription/add-on-skus": import("@withtyped/server").PathGuard<"/:tenantId/subscription/add-on-skus", unknown, unknown, Partial<Record<"tokenLimit" | "machineToMachineLimit" | "resourcesLimit" | "enterpriseSsoLimit" | "hooksLimit" | "tenantMembersLimit" | "mfaEnabled" | "organizationsEnabled" | "organizationsLimit" | "securityFeaturesEnabled" | "userRolesLimit" | "machineToMachineRolesLimit" | "thirdPartyApplicationsLimit" | "samlApplicationsLimit", {
|
|
575
|
+
id: string;
|
|
576
|
+
name: string | null;
|
|
577
|
+
createdAt: Date;
|
|
578
|
+
defaultPriceId: string | null;
|
|
579
|
+
unitPrice: number | null;
|
|
580
|
+
type: LogtoSkuType;
|
|
581
|
+
quota: {
|
|
582
|
+
auditLogsRetentionDays?: number | null | undefined;
|
|
583
|
+
mauLimit?: number | null | undefined;
|
|
584
|
+
applicationsLimit?: number | null | undefined;
|
|
585
|
+
thirdPartyApplicationsLimit?: number | null | undefined;
|
|
586
|
+
scopesPerResourceLimit?: number | null | undefined;
|
|
587
|
+
socialConnectorsLimit?: number | null | undefined;
|
|
588
|
+
userRolesLimit?: number | null | undefined;
|
|
589
|
+
machineToMachineRolesLimit?: number | null | undefined;
|
|
590
|
+
scopesPerRoleLimit?: number | null | undefined;
|
|
591
|
+
hooksLimit?: number | null | undefined;
|
|
592
|
+
customJwtEnabled?: boolean | undefined;
|
|
593
|
+
subjectTokenEnabled?: boolean | undefined;
|
|
594
|
+
bringYourUiEnabled?: boolean | undefined;
|
|
595
|
+
collectUserProfileEnabled?: boolean | undefined;
|
|
596
|
+
tokenLimit?: number | null | undefined;
|
|
597
|
+
machineToMachineLimit?: number | null | undefined;
|
|
598
|
+
resourcesLimit?: number | null | undefined;
|
|
599
|
+
enterpriseSsoLimit?: number | null | undefined;
|
|
600
|
+
tenantMembersLimit?: number | null | undefined;
|
|
601
|
+
mfaEnabled?: boolean | undefined;
|
|
602
|
+
organizationsEnabled?: boolean | undefined;
|
|
603
|
+
organizationsLimit?: number | null | undefined;
|
|
604
|
+
securityFeaturesEnabled?: boolean | undefined;
|
|
605
|
+
idpInitiatedSsoEnabled?: boolean | undefined;
|
|
606
|
+
samlApplicationsLimit?: number | null | undefined;
|
|
607
|
+
};
|
|
608
|
+
isDefault: boolean;
|
|
609
|
+
updatedAt: Date;
|
|
610
|
+
productId: string | null;
|
|
611
|
+
}>>>;
|
|
233
612
|
} & {
|
|
234
613
|
"/tenants/:tenantId/invoices": import("@withtyped/server").PathGuard<"/:tenantId/invoices", unknown, unknown, {
|
|
235
614
|
invoices: {
|
|
236
|
-
status: "void" | "open" | "draft" | "paid" | "uncollectible" | null;
|
|
237
615
|
id: string;
|
|
238
616
|
createdAt: Date;
|
|
617
|
+
status: "void" | "open" | "draft" | "paid" | "uncollectible" | null;
|
|
239
618
|
updatedAt: Date;
|
|
240
619
|
customerId: string | null;
|
|
241
620
|
billingReason: string | null;
|
|
@@ -243,22 +622,59 @@ declare const router: import("@withtyped/server").Router<RequestContext, WithAut
|
|
|
243
622
|
periodEnd: Date;
|
|
244
623
|
amountDue: number;
|
|
245
624
|
amountPaid: number;
|
|
625
|
+
basicSkuId: string | null;
|
|
246
626
|
subscriptionId: string | null;
|
|
247
627
|
hostedInvoiceUrl: string | null;
|
|
248
628
|
invoicePdf: string | null;
|
|
249
629
|
planName: string | null;
|
|
630
|
+
skuId?: string | null | undefined;
|
|
250
631
|
}[];
|
|
251
632
|
}>;
|
|
633
|
+
} & {
|
|
634
|
+
"/tenants/:tenantId/available-skus": import("@withtyped/server").PathGuard<"/:tenantId/available-skus", {
|
|
635
|
+
type?: LogtoSkuType | undefined;
|
|
636
|
+
}, unknown, {
|
|
637
|
+
id: string;
|
|
638
|
+
name: string | null;
|
|
639
|
+
createdAt: Date;
|
|
640
|
+
defaultPriceId: string | null;
|
|
641
|
+
unitPrice: number | null;
|
|
642
|
+
type: LogtoSkuType;
|
|
643
|
+
quota: {
|
|
644
|
+
auditLogsRetentionDays?: number | null | undefined;
|
|
645
|
+
mauLimit?: number | null | undefined;
|
|
646
|
+
applicationsLimit?: number | null | undefined;
|
|
647
|
+
thirdPartyApplicationsLimit?: number | null | undefined;
|
|
648
|
+
scopesPerResourceLimit?: number | null | undefined;
|
|
649
|
+
socialConnectorsLimit?: number | null | undefined;
|
|
650
|
+
userRolesLimit?: number | null | undefined;
|
|
651
|
+
machineToMachineRolesLimit?: number | null | undefined;
|
|
652
|
+
scopesPerRoleLimit?: number | null | undefined;
|
|
653
|
+
hooksLimit?: number | null | undefined;
|
|
654
|
+
customJwtEnabled?: boolean | undefined;
|
|
655
|
+
subjectTokenEnabled?: boolean | undefined;
|
|
656
|
+
bringYourUiEnabled?: boolean | undefined;
|
|
657
|
+
collectUserProfileEnabled?: boolean | undefined;
|
|
658
|
+
tokenLimit?: number | null | undefined;
|
|
659
|
+
machineToMachineLimit?: number | null | undefined;
|
|
660
|
+
resourcesLimit?: number | null | undefined;
|
|
661
|
+
enterpriseSsoLimit?: number | null | undefined;
|
|
662
|
+
tenantMembersLimit?: number | null | undefined;
|
|
663
|
+
mfaEnabled?: boolean | undefined;
|
|
664
|
+
organizationsEnabled?: boolean | undefined;
|
|
665
|
+
organizationsLimit?: number | null | undefined;
|
|
666
|
+
securityFeaturesEnabled?: boolean | undefined;
|
|
667
|
+
idpInitiatedSsoEnabled?: boolean | undefined;
|
|
668
|
+
samlApplicationsLimit?: number | null | undefined;
|
|
669
|
+
};
|
|
670
|
+
isDefault: boolean;
|
|
671
|
+
updatedAt: Date;
|
|
672
|
+
productId: string | null;
|
|
673
|
+
}[]>;
|
|
252
674
|
} & {
|
|
253
675
|
"/tenants/:tenantId/invoices/:invoiceId/hosted-invoice-url": import("@withtyped/server").PathGuard<"/:tenantId/invoices/:invoiceId/hosted-invoice-url", unknown, unknown, {
|
|
254
676
|
hostedInvoiceUrl: string;
|
|
255
677
|
}>;
|
|
256
|
-
} & {
|
|
257
|
-
"/tenants/:tenantId/usage": import("@withtyped/server").PathGuard<"/:tenantId/usage", unknown, unknown, {
|
|
258
|
-
activeUsers: number;
|
|
259
|
-
cost: number;
|
|
260
|
-
tokenUsage: number;
|
|
261
|
-
}>;
|
|
262
678
|
};
|
|
263
679
|
post: {
|
|
264
680
|
"/tenants/:tenantId/stripe-customer-portal": import("@withtyped/server").PathGuard<"/:tenantId/stripe-customer-portal", unknown, {
|
|
@@ -286,11 +702,14 @@ declare const router: import("@withtyped/server").Router<RequestContext, WithAut
|
|
|
286
702
|
post: {
|
|
287
703
|
"/services/mails": import("@withtyped/server").PathGuard<"/mails", unknown, {
|
|
288
704
|
data: {
|
|
289
|
-
type: TemplateType
|
|
705
|
+
type: TemplateType;
|
|
290
706
|
payload: {
|
|
291
|
-
code?: string | undefined;
|
|
292
707
|
link?: string | undefined;
|
|
293
|
-
|
|
708
|
+
code?: string | undefined;
|
|
709
|
+
locale?: string | undefined;
|
|
710
|
+
} & {
|
|
711
|
+
[k: string]: unknown;
|
|
712
|
+
} & {
|
|
294
713
|
senderName?: string | undefined;
|
|
295
714
|
companyInformation?: string | undefined;
|
|
296
715
|
appLogo?: string | undefined;
|
|
@@ -301,81 +720,226 @@ declare const router: import("@withtyped/server").Router<RequestContext, WithAut
|
|
|
301
720
|
} & {
|
|
302
721
|
"/services/send-sms": import("@withtyped/server").PathGuard<"/send-sms", unknown, {
|
|
303
722
|
data: {
|
|
304
|
-
type: TemplateType
|
|
723
|
+
type: TemplateType;
|
|
305
724
|
to: string;
|
|
306
725
|
payload: {
|
|
307
726
|
code?: string | undefined;
|
|
308
727
|
link?: string | undefined;
|
|
309
|
-
|
|
728
|
+
locale?: string | undefined;
|
|
729
|
+
} & {
|
|
730
|
+
[k: string]: unknown;
|
|
731
|
+
};
|
|
310
732
|
};
|
|
311
733
|
}, unknown>;
|
|
312
734
|
} & {
|
|
313
|
-
"/services/custom-jwt": import("@withtyped/server").PathGuard<"/custom-jwt",
|
|
314
|
-
|
|
315
|
-
|
|
735
|
+
"/services/custom-jwt": import("@withtyped/server").PathGuard<"/custom-jwt", {
|
|
736
|
+
isTest?: string | undefined;
|
|
737
|
+
}, {
|
|
316
738
|
token: Record<string, Json>;
|
|
317
739
|
context: Record<string, Json>;
|
|
740
|
+
tokenType: LogtoJwtTokenKeyType.AccessToken;
|
|
741
|
+
script: string;
|
|
318
742
|
environmentVariables?: Record<string, string> | undefined;
|
|
319
743
|
} | {
|
|
320
|
-
script: string;
|
|
321
|
-
tokenType: LogtoJwtTokenKeyType.ClientCredentials;
|
|
322
744
|
token: Record<string, Json>;
|
|
745
|
+
tokenType: LogtoJwtTokenKeyType.ClientCredentials;
|
|
746
|
+
script: string;
|
|
323
747
|
environmentVariables?: Record<string, string> | undefined;
|
|
324
748
|
}, Record<string, unknown>>;
|
|
325
749
|
};
|
|
326
|
-
put: {
|
|
327
|
-
|
|
750
|
+
put: {
|
|
751
|
+
"/services/custom-jwt/worker": import("@withtyped/server").PathGuard<"/custom-jwt/worker", unknown, {
|
|
752
|
+
"jwt.accessToken"?: {
|
|
753
|
+
production?: string | undefined;
|
|
754
|
+
test?: string | undefined;
|
|
755
|
+
} | undefined;
|
|
756
|
+
"jwt.clientCredentials"?: {
|
|
757
|
+
production?: string | undefined;
|
|
758
|
+
test?: string | undefined;
|
|
759
|
+
} | undefined;
|
|
760
|
+
}, unknown>;
|
|
761
|
+
};
|
|
762
|
+
delete: {
|
|
763
|
+
"/services/custom-jwt/worker": import("@withtyped/server").PathGuard<"/custom-jwt/worker", unknown, unknown, unknown>;
|
|
764
|
+
};
|
|
328
765
|
copy: {};
|
|
329
766
|
head: {};
|
|
330
767
|
}, "/api">>, import("@withtyped/server").RoutesWithPrefix<{
|
|
331
768
|
patch: {};
|
|
332
769
|
options: {};
|
|
333
770
|
get: {
|
|
334
|
-
"/
|
|
771
|
+
"/skus": import("@withtyped/server").PathGuard<"/", {
|
|
772
|
+
type?: LogtoSkuType | undefined;
|
|
773
|
+
}, unknown, {
|
|
335
774
|
id: string;
|
|
775
|
+
name: string | null;
|
|
336
776
|
createdAt: Date;
|
|
337
|
-
|
|
777
|
+
defaultPriceId: string | null;
|
|
778
|
+
unitPrice: number | null;
|
|
779
|
+
type: LogtoSkuType;
|
|
780
|
+
quota: {
|
|
781
|
+
auditLogsRetentionDays?: number | null | undefined;
|
|
782
|
+
mauLimit?: number | null | undefined;
|
|
783
|
+
applicationsLimit?: number | null | undefined;
|
|
784
|
+
thirdPartyApplicationsLimit?: number | null | undefined;
|
|
785
|
+
scopesPerResourceLimit?: number | null | undefined;
|
|
786
|
+
socialConnectorsLimit?: number | null | undefined;
|
|
787
|
+
userRolesLimit?: number | null | undefined;
|
|
788
|
+
machineToMachineRolesLimit?: number | null | undefined;
|
|
789
|
+
scopesPerRoleLimit?: number | null | undefined;
|
|
790
|
+
hooksLimit?: number | null | undefined;
|
|
791
|
+
customJwtEnabled?: boolean | undefined;
|
|
792
|
+
subjectTokenEnabled?: boolean | undefined;
|
|
793
|
+
bringYourUiEnabled?: boolean | undefined;
|
|
794
|
+
collectUserProfileEnabled?: boolean | undefined;
|
|
795
|
+
tokenLimit?: number | null | undefined;
|
|
796
|
+
machineToMachineLimit?: number | null | undefined;
|
|
797
|
+
resourcesLimit?: number | null | undefined;
|
|
798
|
+
enterpriseSsoLimit?: number | null | undefined;
|
|
799
|
+
tenantMembersLimit?: number | null | undefined;
|
|
800
|
+
mfaEnabled?: boolean | undefined;
|
|
801
|
+
organizationsEnabled?: boolean | undefined;
|
|
802
|
+
organizationsLimit?: number | null | undefined;
|
|
803
|
+
securityFeaturesEnabled?: boolean | undefined;
|
|
804
|
+
idpInitiatedSsoEnabled?: boolean | undefined;
|
|
805
|
+
samlApplicationsLimit?: number | null | undefined;
|
|
806
|
+
};
|
|
807
|
+
isDefault: boolean;
|
|
338
808
|
updatedAt: Date;
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
809
|
+
productId: string | null;
|
|
810
|
+
}[]>;
|
|
811
|
+
};
|
|
812
|
+
post: {
|
|
813
|
+
"/skus": import("@withtyped/server").PathGuard<"/", unknown, {
|
|
814
|
+
type: LogtoSkuType.AddOn;
|
|
815
|
+
quota: {
|
|
816
|
+
tokenLimit?: number | null | undefined;
|
|
817
|
+
machineToMachineLimit?: number | null | undefined;
|
|
818
|
+
resourcesLimit?: number | null | undefined;
|
|
819
|
+
enterpriseSsoLimit?: number | null | undefined;
|
|
820
|
+
hooksLimit?: number | null | undefined;
|
|
821
|
+
tenantMembersLimit?: number | null | undefined;
|
|
822
|
+
mfaEnabled?: boolean | undefined;
|
|
823
|
+
organizationsEnabled?: boolean | undefined;
|
|
824
|
+
organizationsLimit?: number | null | undefined;
|
|
825
|
+
securityFeaturesEnabled?: boolean | undefined;
|
|
826
|
+
userRolesLimit?: number | null | undefined;
|
|
827
|
+
machineToMachineRolesLimit?: number | null | undefined;
|
|
828
|
+
thirdPartyApplicationsLimit?: number | null | undefined;
|
|
829
|
+
samlApplicationsLimit?: number | null | undefined;
|
|
830
|
+
auditLogsRetentionDays?: number | null | undefined;
|
|
831
|
+
mauLimit?: number | null | undefined;
|
|
832
|
+
applicationsLimit?: number | null | undefined;
|
|
833
|
+
scopesPerResourceLimit?: number | null | undefined;
|
|
834
|
+
socialConnectorsLimit?: number | null | undefined;
|
|
835
|
+
scopesPerRoleLimit?: number | null | undefined;
|
|
836
|
+
customJwtEnabled?: boolean | undefined;
|
|
837
|
+
subjectTokenEnabled?: boolean | undefined;
|
|
838
|
+
bringYourUiEnabled?: boolean | undefined;
|
|
839
|
+
collectUserProfileEnabled?: boolean | undefined;
|
|
840
|
+
idpInitiatedSsoEnabled?: boolean | undefined;
|
|
841
|
+
};
|
|
842
|
+
isDefault?: boolean | undefined;
|
|
843
|
+
} | {
|
|
844
|
+
type: LogtoSkuType.Basic;
|
|
351
845
|
quota: {
|
|
846
|
+
auditLogsRetentionDays: number | null;
|
|
352
847
|
mauLimit: number | null;
|
|
353
|
-
tokenLimit: number | null;
|
|
354
848
|
applicationsLimit: number | null;
|
|
355
|
-
|
|
356
|
-
resourcesLimit: number | null;
|
|
849
|
+
thirdPartyApplicationsLimit: number | null;
|
|
357
850
|
scopesPerResourceLimit: number | null;
|
|
358
|
-
customDomainEnabled: boolean;
|
|
359
|
-
omniSignInEnabled: boolean;
|
|
360
|
-
builtInEmailConnectorEnabled: boolean;
|
|
361
851
|
socialConnectorsLimit: number | null;
|
|
362
|
-
|
|
363
|
-
rolesLimit: number | null;
|
|
852
|
+
userRolesLimit: number | null;
|
|
364
853
|
machineToMachineRolesLimit: number | null;
|
|
365
854
|
scopesPerRoleLimit: number | null;
|
|
366
855
|
hooksLimit: number | null;
|
|
367
|
-
|
|
856
|
+
customJwtEnabled: boolean;
|
|
857
|
+
subjectTokenEnabled: boolean;
|
|
858
|
+
bringYourUiEnabled: boolean;
|
|
859
|
+
collectUserProfileEnabled: boolean;
|
|
860
|
+
tokenLimit: number | null;
|
|
861
|
+
machineToMachineLimit: number | null;
|
|
862
|
+
resourcesLimit: number | null;
|
|
863
|
+
enterpriseSsoLimit: number | null;
|
|
864
|
+
tenantMembersLimit: number | null;
|
|
368
865
|
mfaEnabled: boolean;
|
|
369
866
|
organizationsEnabled: boolean;
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
867
|
+
organizationsLimit: number | null;
|
|
868
|
+
securityFeaturesEnabled: boolean;
|
|
869
|
+
idpInitiatedSsoEnabled: boolean;
|
|
870
|
+
samlApplicationsLimit: number | null;
|
|
373
871
|
};
|
|
374
|
-
|
|
872
|
+
addOnRelations: {
|
|
873
|
+
tokenLimit?: string | undefined;
|
|
874
|
+
machineToMachineLimit?: string | undefined;
|
|
875
|
+
resourcesLimit?: string | undefined;
|
|
876
|
+
enterpriseSsoLimit?: string | undefined;
|
|
877
|
+
tenantMembersLimit?: string | undefined;
|
|
878
|
+
mfaEnabled?: string | undefined;
|
|
879
|
+
organizationsLimit?: string | undefined;
|
|
880
|
+
securityFeaturesEnabled?: string | undefined;
|
|
881
|
+
};
|
|
882
|
+
isDefault?: boolean | undefined;
|
|
883
|
+
}, {
|
|
884
|
+
id: string;
|
|
885
|
+
createdAt: Date;
|
|
886
|
+
type: LogtoSkuType;
|
|
887
|
+
isDefault: boolean;
|
|
888
|
+
updatedAt: Date;
|
|
889
|
+
quota: {
|
|
890
|
+
auditLogsRetentionDays?: number | null | undefined;
|
|
891
|
+
mauLimit?: number | null | undefined;
|
|
892
|
+
applicationsLimit?: number | null | undefined;
|
|
893
|
+
thirdPartyApplicationsLimit?: number | null | undefined;
|
|
894
|
+
scopesPerResourceLimit?: number | null | undefined;
|
|
895
|
+
socialConnectorsLimit?: number | null | undefined;
|
|
896
|
+
userRolesLimit?: number | null | undefined;
|
|
897
|
+
machineToMachineRolesLimit?: number | null | undefined;
|
|
898
|
+
scopesPerRoleLimit?: number | null | undefined;
|
|
899
|
+
hooksLimit?: number | null | undefined;
|
|
900
|
+
customJwtEnabled?: boolean | undefined;
|
|
901
|
+
subjectTokenEnabled?: boolean | undefined;
|
|
902
|
+
bringYourUiEnabled?: boolean | undefined;
|
|
903
|
+
collectUserProfileEnabled?: boolean | undefined;
|
|
904
|
+
tokenLimit?: number | null | undefined;
|
|
905
|
+
machineToMachineLimit?: number | null | undefined;
|
|
906
|
+
resourcesLimit?: number | null | undefined;
|
|
907
|
+
enterpriseSsoLimit?: number | null | undefined;
|
|
908
|
+
tenantMembersLimit?: number | null | undefined;
|
|
909
|
+
mfaEnabled?: boolean | undefined;
|
|
910
|
+
organizationsEnabled?: boolean | undefined;
|
|
911
|
+
organizationsLimit?: number | null | undefined;
|
|
912
|
+
securityFeaturesEnabled?: boolean | undefined;
|
|
913
|
+
idpInitiatedSsoEnabled?: boolean | undefined;
|
|
914
|
+
samlApplicationsLimit?: number | null | undefined;
|
|
915
|
+
};
|
|
916
|
+
}>;
|
|
917
|
+
} & {
|
|
918
|
+
"/skus/:skuId/products": import("@withtyped/server").PathGuard<"/:skuId/products", {
|
|
919
|
+
isOneTime?: string | undefined;
|
|
920
|
+
}, {
|
|
921
|
+
name: string;
|
|
922
|
+
unitPrice: number;
|
|
923
|
+
}, {
|
|
924
|
+
productId: string;
|
|
925
|
+
}>;
|
|
926
|
+
} & {
|
|
927
|
+
"/skus/basic-sku-usage-add-on-relations": import("@withtyped/server").PathGuard<"/basic-sku-usage-add-on-relations", unknown, {
|
|
928
|
+
basicSkuId: string;
|
|
929
|
+
usageKey: "tokenLimit" | "machineToMachineLimit" | "resourcesLimit" | "enterpriseSsoLimit" | "hooksLimit" | "tenantMembersLimit" | "mfaEnabled" | "organizationsEnabled" | "organizationsLimit" | "securityFeaturesEnabled" | "userRolesLimit" | "machineToMachineRolesLimit" | "thirdPartyApplicationsLimit" | "samlApplicationsLimit";
|
|
930
|
+
addOnSkuId: string;
|
|
931
|
+
}, {
|
|
932
|
+
basicSkuId: string;
|
|
933
|
+
usageKey: "tokenLimit" | "machineToMachineLimit" | "resourcesLimit" | "enterpriseSsoLimit" | "hooksLimit" | "tenantMembersLimit" | "mfaEnabled" | "organizationsEnabled" | "organizationsLimit" | "securityFeaturesEnabled" | "userRolesLimit" | "machineToMachineRolesLimit" | "thirdPartyApplicationsLimit" | "samlApplicationsLimit";
|
|
934
|
+
addOnSkuId: string;
|
|
935
|
+
}>;
|
|
375
936
|
};
|
|
376
|
-
post: {};
|
|
377
937
|
put: {};
|
|
378
|
-
delete: {
|
|
938
|
+
delete: {
|
|
939
|
+
"/skus/:skuId": import("@withtyped/server").PathGuard<"/:skuId", unknown, unknown, unknown>;
|
|
940
|
+
} & {
|
|
941
|
+
"/skus/basic-sku-usage-add-on-relations/:basicSkuId/:usageKey": import("@withtyped/server").PathGuard<"/basic-sku-usage-add-on-relations/:basicSkuId/:usageKey", unknown, unknown, unknown>;
|
|
942
|
+
};
|
|
379
943
|
copy: {};
|
|
380
944
|
head: {};
|
|
381
945
|
}, "/api">>, import("@withtyped/server").RoutesWithPrefix<{
|
|
@@ -389,17 +953,19 @@ declare const router: import("@withtyped/server").Router<RequestContext, WithAut
|
|
|
389
953
|
status: "open" | "complete" | "expired";
|
|
390
954
|
tenantId: string | null;
|
|
391
955
|
updatedAt: Date;
|
|
392
|
-
|
|
956
|
+
skuId: string | null;
|
|
957
|
+
planId: string | null;
|
|
393
958
|
}>;
|
|
394
959
|
};
|
|
395
960
|
post: {
|
|
396
961
|
"/checkout-session": import("@withtyped/server").PathGuard<"/", unknown, {
|
|
397
|
-
planId: string;
|
|
398
962
|
successCallbackUrl: string;
|
|
399
963
|
tenantId?: string | undefined;
|
|
400
|
-
|
|
401
|
-
tenantTag?: TenantTag | undefined;
|
|
964
|
+
skuId?: string | undefined;
|
|
402
965
|
tenantName?: string | undefined;
|
|
966
|
+
tenantTag?: TenantTag | undefined;
|
|
967
|
+
tenantRegionName?: string | undefined;
|
|
968
|
+
cancelCallbackUrl?: string | undefined;
|
|
403
969
|
}, {
|
|
404
970
|
sessionId: string;
|
|
405
971
|
redirectUri?: string | null | undefined;
|
|
@@ -490,8 +1056,8 @@ declare const router: import("@withtyped/server").Router<RequestContext, WithAut
|
|
|
490
1056
|
expiresAt: number;
|
|
491
1057
|
organizationRoles: OrganizationRoleEntity[];
|
|
492
1058
|
} & {
|
|
493
|
-
tenantTag: TenantTag;
|
|
494
1059
|
tenantName: string;
|
|
1060
|
+
tenantTag: TenantTag;
|
|
495
1061
|
})[]>;
|
|
496
1062
|
} & {
|
|
497
1063
|
"/invitations/:invitationId": import("@withtyped/server").PathGuard<"/:invitationId", unknown, unknown, {
|
|
@@ -513,9 +1079,31 @@ declare const router: import("@withtyped/server").Router<RequestContext, WithAut
|
|
|
513
1079
|
delete: {};
|
|
514
1080
|
copy: {};
|
|
515
1081
|
head: {};
|
|
1082
|
+
}, "/api">>, import("@withtyped/server").RoutesWithPrefix<{
|
|
1083
|
+
patch: {};
|
|
1084
|
+
options: {};
|
|
1085
|
+
get: {
|
|
1086
|
+
"/me/regions": import("@withtyped/server").PathGuard<"/regions", unknown, unknown, {
|
|
1087
|
+
regions: {
|
|
1088
|
+
id: string;
|
|
1089
|
+
name: string;
|
|
1090
|
+
country: string;
|
|
1091
|
+
isPrivate: boolean;
|
|
1092
|
+
tags: TenantTag[];
|
|
1093
|
+
}[];
|
|
1094
|
+
}>;
|
|
1095
|
+
};
|
|
1096
|
+
post: {};
|
|
1097
|
+
put: {};
|
|
1098
|
+
delete: {
|
|
1099
|
+
"/me": import("@withtyped/server").PathGuard<"/", unknown, unknown, unknown>;
|
|
1100
|
+
};
|
|
1101
|
+
copy: {};
|
|
1102
|
+
head: {};
|
|
516
1103
|
}, "/api">>, "/api">;
|
|
517
1104
|
export declare const tenantAuthRouter: import("@withtyped/server").Router<RequestContext, import("@withtyped/server").WithBodyContext<import("@withtyped/server").BaseContext & {
|
|
518
1105
|
request: {
|
|
1106
|
+
id?: string | undefined;
|
|
519
1107
|
method?: import("@withtyped/server").RequestMethod | undefined;
|
|
520
1108
|
headers: import("http").IncomingHttpHeaders;
|
|
521
1109
|
url: URL;
|
|
@@ -550,6 +1138,8 @@ export declare const tenantAuthRouter: import("@withtyped/server").Router<Reques
|
|
|
550
1138
|
avatar: string | null;
|
|
551
1139
|
organizationRoles: OrganizationRoleEntity[];
|
|
552
1140
|
}[]>;
|
|
1141
|
+
} & {
|
|
1142
|
+
"/:tenantId/members/:userId/scopes": import("@withtyped/server").PathGuard<"/:tenantId/members/:userId/scopes", unknown, unknown, OrganizationScope[]>;
|
|
553
1143
|
} & {
|
|
554
1144
|
"/:tenantId/invitations": import("@withtyped/server").PathGuard<"/:tenantId/invitations", unknown, unknown, ({
|
|
555
1145
|
id: string;
|
|
@@ -569,7 +1159,7 @@ export declare const tenantAuthRouter: import("@withtyped/server").Router<Reques
|
|
|
569
1159
|
};
|
|
570
1160
|
post: {
|
|
571
1161
|
"/:tenantId/invitations": import("@withtyped/server").PathGuard<"/:tenantId/invitations", unknown, {
|
|
572
|
-
invitee: string;
|
|
1162
|
+
invitee: string | string[];
|
|
573
1163
|
roleName: TenantRole;
|
|
574
1164
|
expiresAt?: number | undefined;
|
|
575
1165
|
}, {
|
|
@@ -584,7 +1174,19 @@ export declare const tenantAuthRouter: import("@withtyped/server").Router<Reques
|
|
|
584
1174
|
organizationId: string;
|
|
585
1175
|
expiresAt: number;
|
|
586
1176
|
organizationRoles: OrganizationRoleEntity[];
|
|
587
|
-
}
|
|
1177
|
+
} | {
|
|
1178
|
+
id: string;
|
|
1179
|
+
createdAt: number;
|
|
1180
|
+
status: OrganizationInvitationStatus;
|
|
1181
|
+
tenantId: string;
|
|
1182
|
+
updatedAt: number;
|
|
1183
|
+
inviterId: string | null;
|
|
1184
|
+
invitee: string;
|
|
1185
|
+
acceptedUserId: string | null;
|
|
1186
|
+
organizationId: string;
|
|
1187
|
+
expiresAt: number;
|
|
1188
|
+
organizationRoles: OrganizationRoleEntity[];
|
|
1189
|
+
}[]>;
|
|
588
1190
|
} & {
|
|
589
1191
|
"/:tenantId/invitations/:invitationId/message": import("@withtyped/server").PathGuard<"/:tenantId/invitations/:invitationId/message", unknown, unknown, unknown>;
|
|
590
1192
|
};
|
|
@@ -601,35 +1203,6 @@ export declare const tenantAuthRouter: import("@withtyped/server").Router<Reques
|
|
|
601
1203
|
copy: {};
|
|
602
1204
|
head: {};
|
|
603
1205
|
}, "/api/tenants">>, "/api/tenants">;
|
|
604
|
-
export declare const functionsRouter: import("@withtyped/server").Router<RequestContext, WithAuthContext<Omit<import("@withtyped/server").BaseContext & {
|
|
605
|
-
request: {
|
|
606
|
-
method?: import("@withtyped/server").RequestMethod | undefined;
|
|
607
|
-
headers: import("http").IncomingHttpHeaders;
|
|
608
|
-
url: URL;
|
|
609
|
-
body?: unknown;
|
|
610
|
-
};
|
|
611
|
-
}, "request"> & {
|
|
612
|
-
request: Record<string, unknown> & {
|
|
613
|
-
method?: import("@withtyped/server").RequestMethod | undefined;
|
|
614
|
-
headers: import("http").IncomingHttpHeaders;
|
|
615
|
-
url: URL;
|
|
616
|
-
body?: unknown;
|
|
617
|
-
} & {
|
|
618
|
-
body?: Json | undefined;
|
|
619
|
-
bodyRaw?: Buffer | undefined;
|
|
620
|
-
};
|
|
621
|
-
}>, import("@withtyped/server").MergeRoutes<import("@withtyped/server").BaseRoutes, import("@withtyped/server").RoutesWithPrefix<{
|
|
622
|
-
patch: {};
|
|
623
|
-
options: {};
|
|
624
|
-
get: {};
|
|
625
|
-
post: {
|
|
626
|
-
"/database-alteration": import("@withtyped/server").PathGuard<"/database-alteration", unknown, Json, unknown>;
|
|
627
|
-
};
|
|
628
|
-
put: {};
|
|
629
|
-
delete: {};
|
|
630
|
-
copy: {};
|
|
631
|
-
head: {};
|
|
632
|
-
}, "/functions">>, "/functions">;
|
|
633
1206
|
|
|
634
1207
|
export {
|
|
635
1208
|
router as default,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@logto/cloud",
|
|
3
|
-
"version": "0.2.5-
|
|
3
|
+
"version": "0.2.5-adb5eaf",
|
|
4
4
|
"description": "Logto Cloud service.",
|
|
5
5
|
"main": "build/index.js",
|
|
6
6
|
"author": "Silverhand Inc. <contact@silverhand.io>",
|
|
@@ -16,24 +16,24 @@
|
|
|
16
16
|
"#src/*": "./build/*"
|
|
17
17
|
},
|
|
18
18
|
"devDependencies": {
|
|
19
|
-
"@silverhand/eslint-config": "
|
|
20
|
-
"@silverhand/ts-config": "
|
|
19
|
+
"@silverhand/eslint-config": "6.0.1",
|
|
20
|
+
"@silverhand/ts-config": "6.0.0",
|
|
21
21
|
"@types/accepts": "^1.3.5",
|
|
22
22
|
"@types/http-proxy": "^1.17.9",
|
|
23
23
|
"@types/mime-types": "^2.1.1",
|
|
24
|
-
"@types/node": "^
|
|
24
|
+
"@types/node": "^22.14.0",
|
|
25
25
|
"@types/yargs": "^17.0.24",
|
|
26
26
|
"dts-bundle-generator": "^9.3.1",
|
|
27
|
-
"eslint": "^8.
|
|
27
|
+
"eslint": "^8.57.0",
|
|
28
28
|
"lint-staged": "^15.0.0",
|
|
29
29
|
"nodemon": "^3.0.0",
|
|
30
30
|
"prettier": "^3.0.0",
|
|
31
31
|
"typescript": "^5.3.3",
|
|
32
|
-
"vite-tsconfig-paths": "^
|
|
33
|
-
"vitest": "^1.
|
|
32
|
+
"vite-tsconfig-paths": "^5.0.0",
|
|
33
|
+
"vitest": "^3.1.1"
|
|
34
34
|
},
|
|
35
35
|
"engines": {
|
|
36
|
-
"node": "^
|
|
36
|
+
"node": "^22.14.0"
|
|
37
37
|
},
|
|
38
38
|
"eslintConfig": {
|
|
39
39
|
"extends": "@silverhand",
|
|
@@ -49,8 +49,8 @@
|
|
|
49
49
|
"access": "public"
|
|
50
50
|
},
|
|
51
51
|
"dependencies": {
|
|
52
|
-
"@silverhand/essentials": "^2.9.
|
|
53
|
-
"@withtyped/server": "^0.
|
|
52
|
+
"@silverhand/essentials": "^2.9.2",
|
|
53
|
+
"@withtyped/server": "^0.14.0"
|
|
54
54
|
},
|
|
55
55
|
"scripts": {
|
|
56
56
|
"precommit": "lint-staged",
|
|
@@ -63,6 +63,7 @@
|
|
|
63
63
|
"start": "NODE_ENV=production node .",
|
|
64
64
|
"test": "vitest && pnpm build:lib && pnpm test:types",
|
|
65
65
|
"test:types": "tsc -p tsconfig.test.types.json",
|
|
66
|
+
"test:only": "vitest",
|
|
66
67
|
"cli": "node ./build/cli/index.js"
|
|
67
68
|
}
|
|
68
69
|
}
|