@logto/cloud 0.2.5-4d5e389 → 0.2.5-5a698db

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,417 @@
1
+ // Generated by dts-bundle-generator v8.0.1
2
+
3
+ import { RequestContext } from '@withtyped/server';
4
+ import { InferModelType } from '@withtyped/server/model';
5
+
6
+ export type WithAuthContext<Context = RequestContext> = Context & {
7
+ auth: {
8
+ id: string;
9
+ scopes: string[];
10
+ };
11
+ };
12
+ declare enum VerificationCodeType {
13
+ SignIn = "SignIn",
14
+ Register = "Register",
15
+ ForgotPassword = "ForgotPassword",
16
+ Generic = "Generic",
17
+ /** @deprecated Use `Generic` type template for sending test sms/email use case */
18
+ Test = "Test"
19
+ }
20
+ declare enum TenantTag {
21
+ Development = "development",
22
+ Staging = "staging",
23
+ Production = "production"
24
+ }
25
+ declare const AffiliateProperties: import("@withtyped/server/model").default<"affiliate_properties", {
26
+ createdAt: Date;
27
+ affiliateId: string;
28
+ type: "hostname" | "query";
29
+ value: string;
30
+ }, "createdAt", "createdAt">;
31
+ export type AffiliateProperty = InferModelType<typeof AffiliateProperties>;
32
+ declare const Affiliates: import("@withtyped/server/model").default<"affiliates", {
33
+ id: string;
34
+ createdAt: Date;
35
+ name: string;
36
+ }, "createdAt" | "id", "createdAt" | "id">;
37
+ export type Affiliate = InferModelType<typeof Affiliates>;
38
+ export type AffiliateData = Affiliate & {
39
+ properties: Array<Pick<AffiliateProperty, "type" | "value">>;
40
+ };
41
+ declare const router: import("@withtyped/server").Router<WithAuthContext, 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<{
42
+ options: {};
43
+ patch: {
44
+ "/tenants/:tenantId": import("@withtyped/server").PathGuard<"/:tenantId", unknown, {
45
+ name?: string | undefined;
46
+ }, {
47
+ id: string;
48
+ name: string;
49
+ indicator: string;
50
+ isSuspended: boolean;
51
+ planId: string;
52
+ subscription: {
53
+ status: "incomplete" | "incomplete_expired" | "trialing" | "active" | "past_due" | "canceled" | "unpaid" | "paused";
54
+ planId: string;
55
+ currentPeriodStart: Date;
56
+ currentPeriodEnd: Date;
57
+ };
58
+ tag: TenantTag;
59
+ usage: {
60
+ activeUsers: number;
61
+ cost: number;
62
+ };
63
+ openInvoices: {
64
+ status: "void" | "open" | "draft" | "paid" | "uncollectible" | null;
65
+ createdAt: Date;
66
+ id: string;
67
+ updatedAt: Date;
68
+ customerId: string | null;
69
+ billingReason: string | null;
70
+ periodStart: Date;
71
+ periodEnd: Date;
72
+ amountDue: number;
73
+ amountPaid: number;
74
+ subscriptionId: string | null;
75
+ hostedInvoiceUrl: string | null;
76
+ invoicePdf: string | null;
77
+ }[];
78
+ }>;
79
+ };
80
+ get: {
81
+ "/tenants": import("@withtyped/server").PathGuard<"/", unknown, unknown, {
82
+ id: string;
83
+ name: string;
84
+ indicator: string;
85
+ isSuspended: boolean;
86
+ planId: string;
87
+ subscription: {
88
+ status: "incomplete" | "incomplete_expired" | "trialing" | "active" | "past_due" | "canceled" | "unpaid" | "paused";
89
+ planId: string;
90
+ currentPeriodStart: Date;
91
+ currentPeriodEnd: Date;
92
+ };
93
+ tag: TenantTag;
94
+ usage: {
95
+ activeUsers: number;
96
+ cost: number;
97
+ };
98
+ openInvoices: {
99
+ status: "void" | "open" | "draft" | "paid" | "uncollectible" | null;
100
+ createdAt: Date;
101
+ id: string;
102
+ updatedAt: Date;
103
+ customerId: string | null;
104
+ billingReason: string | null;
105
+ periodStart: Date;
106
+ periodEnd: Date;
107
+ amountDue: number;
108
+ amountPaid: number;
109
+ subscriptionId: string | null;
110
+ hostedInvoiceUrl: string | null;
111
+ invoicePdf: string | null;
112
+ }[];
113
+ }[]>;
114
+ };
115
+ post: {
116
+ "/tenants": import("@withtyped/server").PathGuard<"/", unknown, {
117
+ name?: string | undefined;
118
+ tag?: TenantTag | undefined;
119
+ }, {
120
+ id: string;
121
+ name: string;
122
+ indicator: string;
123
+ isSuspended: boolean;
124
+ planId: string;
125
+ subscription: {
126
+ status: "incomplete" | "incomplete_expired" | "trialing" | "active" | "past_due" | "canceled" | "unpaid" | "paused";
127
+ planId: string;
128
+ currentPeriodStart: Date;
129
+ currentPeriodEnd: Date;
130
+ };
131
+ tag: TenantTag;
132
+ usage: {
133
+ activeUsers: number;
134
+ cost: number;
135
+ };
136
+ openInvoices: {
137
+ status: "void" | "open" | "draft" | "paid" | "uncollectible" | null;
138
+ createdAt: Date;
139
+ id: string;
140
+ updatedAt: Date;
141
+ customerId: string | null;
142
+ billingReason: string | null;
143
+ periodStart: Date;
144
+ periodEnd: Date;
145
+ amountDue: number;
146
+ amountPaid: number;
147
+ subscriptionId: string | null;
148
+ hostedInvoiceUrl: string | null;
149
+ invoicePdf: string | null;
150
+ }[];
151
+ }>;
152
+ };
153
+ put: {};
154
+ delete: {
155
+ "/tenants/:tenantId": import("@withtyped/server").PathGuard<"/:tenantId", unknown, unknown, unknown>;
156
+ };
157
+ copy: {};
158
+ head: {};
159
+ }, "/api">>, import("@withtyped/server").RoutesWithPrefix<{
160
+ options: {};
161
+ patch: {};
162
+ get: {
163
+ "/tenants/my/subscription": import("@withtyped/server").PathGuard<"/my/subscription", unknown, unknown, {
164
+ status: "incomplete" | "incomplete_expired" | "trialing" | "active" | "past_due" | "canceled" | "unpaid" | "paused";
165
+ planId: string;
166
+ currentPeriodStart: Date;
167
+ currentPeriodEnd: Date;
168
+ }>;
169
+ } & {
170
+ "/tenants/:tenantId/subscription": import("@withtyped/server").PathGuard<"/:tenantId/subscription", unknown, unknown, {
171
+ status: "incomplete" | "incomplete_expired" | "trialing" | "active" | "past_due" | "canceled" | "unpaid" | "paused";
172
+ planId: string;
173
+ currentPeriodStart: Date;
174
+ currentPeriodEnd: Date;
175
+ }>;
176
+ } & {
177
+ "/tenants/:tenantId/invoices": import("@withtyped/server").PathGuard<"/:tenantId/invoices", unknown, unknown, {
178
+ invoices: {
179
+ status: "void" | "open" | "draft" | "paid" | "uncollectible" | null;
180
+ createdAt: Date;
181
+ id: string;
182
+ updatedAt: Date;
183
+ customerId: string | null;
184
+ billingReason: string | null;
185
+ periodStart: Date;
186
+ periodEnd: Date;
187
+ amountDue: number;
188
+ amountPaid: number;
189
+ subscriptionId: string | null;
190
+ hostedInvoiceUrl: string | null;
191
+ invoicePdf: string | null;
192
+ planName: string | null;
193
+ }[];
194
+ }>;
195
+ } & {
196
+ "/tenants/:tenantId/invoices/:invoiceId/hosted-invoice-url": import("@withtyped/server").PathGuard<"/:tenantId/invoices/:invoiceId/hosted-invoice-url", unknown, unknown, {
197
+ hostedInvoiceUrl: string;
198
+ }>;
199
+ } & {
200
+ "/tenants/:tenantId/usage": import("@withtyped/server").PathGuard<"/:tenantId/usage", unknown, unknown, {
201
+ activeUsers: number;
202
+ cost: number;
203
+ }>;
204
+ };
205
+ post: {
206
+ "/tenants/:tenantId/stripe-customer-portal": import("@withtyped/server").PathGuard<"/:tenantId/stripe-customer-portal", unknown, {
207
+ callbackUrl?: string | undefined;
208
+ }, {
209
+ redirectUri: string;
210
+ }>;
211
+ };
212
+ put: {};
213
+ delete: {
214
+ "/tenants/:tenantId/subscription": import("@withtyped/server").PathGuard<"/:tenantId/subscription", unknown, unknown, unknown>;
215
+ };
216
+ copy: {};
217
+ head: {};
218
+ }, "/api">>, import("@withtyped/server").RoutesWithPrefix<{
219
+ options: {};
220
+ patch: {};
221
+ get: {
222
+ "/services/mails/usage": import("@withtyped/server").PathGuard<"/mails/usage", {
223
+ from?: string | undefined;
224
+ }, unknown, {
225
+ count: number;
226
+ }>;
227
+ };
228
+ post: {
229
+ "/services/mails": import("@withtyped/server").PathGuard<"/mails", unknown, {
230
+ data: {
231
+ type: VerificationCodeType;
232
+ payload: {
233
+ code: string;
234
+ senderName?: string | undefined;
235
+ companyInformation?: string | undefined;
236
+ appLogo?: string | undefined;
237
+ };
238
+ to: string;
239
+ };
240
+ }, unknown>;
241
+ } & {
242
+ "/services/send-sms": import("@withtyped/server").PathGuard<"/send-sms", unknown, {
243
+ data: {
244
+ type: VerificationCodeType;
245
+ to: string;
246
+ payload: {
247
+ code: string;
248
+ };
249
+ };
250
+ }, unknown>;
251
+ };
252
+ put: {};
253
+ delete: {};
254
+ copy: {};
255
+ head: {};
256
+ }, "/api">>, import("@withtyped/server").RoutesWithPrefix<{
257
+ options: {};
258
+ patch: {};
259
+ get: {
260
+ "/subscription-plans": import("@withtyped/server").PathGuard<"/", unknown, unknown, {
261
+ createdAt: Date;
262
+ id: string;
263
+ name: string;
264
+ quota: {
265
+ mauLimit: number | null;
266
+ applicationsLimit: number | null;
267
+ machineToMachineLimit: number | null;
268
+ resourcesLimit: number | null;
269
+ scopesPerResourceLimit: number | null;
270
+ customDomainEnabled: boolean;
271
+ omniSignInEnabled: boolean;
272
+ builtInEmailConnectorEnabled: boolean;
273
+ socialConnectorsLimit: number | null;
274
+ standardConnectorsLimit: number | null;
275
+ rolesLimit: number | null;
276
+ scopesPerRoleLimit: number | null;
277
+ hooksLimit: number | null;
278
+ auditLogsRetentionDays: number | null;
279
+ mfaEnabled: boolean;
280
+ organizationsEnabled: boolean;
281
+ ssoEnabled: boolean;
282
+ };
283
+ stripeProducts: {
284
+ type: "flat" | "tier1" | "tier2" | "tier3";
285
+ id: string;
286
+ name: string;
287
+ price: {
288
+ id: string;
289
+ unitAmountDecimal: string;
290
+ quantity?: 1 | undefined;
291
+ unitAmount?: number | null | undefined;
292
+ };
293
+ description?: string | undefined;
294
+ }[];
295
+ updatedAt: Date;
296
+ }[]>;
297
+ };
298
+ post: {};
299
+ put: {};
300
+ delete: {};
301
+ copy: {};
302
+ head: {};
303
+ }, "/api">>, import("@withtyped/server").RoutesWithPrefix<{
304
+ options: {};
305
+ patch: {};
306
+ get: {
307
+ "/my/tenant": import("@withtyped/server").PathGuard<"/tenant", unknown, unknown, {
308
+ name: string;
309
+ id: string;
310
+ indicator: string;
311
+ isSuspended: boolean;
312
+ tag: TenantTag;
313
+ }>;
314
+ };
315
+ post: {};
316
+ put: {};
317
+ delete: {};
318
+ copy: {};
319
+ head: {};
320
+ }, "/api">>, import("@withtyped/server").RoutesWithPrefix<{
321
+ options: {};
322
+ patch: {};
323
+ get: {
324
+ "/checkout-session/:id": import("@withtyped/server").PathGuard<"/:id", unknown, unknown, {
325
+ status: "open" | "complete" | "expired";
326
+ createdAt: Date;
327
+ id: string;
328
+ userId: string;
329
+ updatedAt: Date;
330
+ tenantId: string | null;
331
+ planId: string;
332
+ }>;
333
+ };
334
+ post: {
335
+ "/checkout-session": import("@withtyped/server").PathGuard<"/", unknown, {
336
+ planId: string;
337
+ successCallbackUrl: string;
338
+ tenantId?: string | undefined;
339
+ cancelCallbackUrl?: string | undefined;
340
+ tenantTag?: TenantTag | undefined;
341
+ tenantName?: string | undefined;
342
+ }, {
343
+ sessionId: string;
344
+ redirectUri?: string | null | undefined;
345
+ }>;
346
+ };
347
+ put: {};
348
+ delete: {};
349
+ copy: {};
350
+ head: {};
351
+ }, "/api">>, import("@withtyped/server").RoutesWithPrefix<{
352
+ options: {};
353
+ patch: {};
354
+ get: {
355
+ "/affiliates": import("@withtyped/server").PathGuard<"/", unknown, unknown, AffiliateData[]>;
356
+ };
357
+ post: {
358
+ "/affiliates": import("@withtyped/server").PathGuard<"/", unknown, {
359
+ name: string;
360
+ }, {
361
+ createdAt: Date;
362
+ id: string;
363
+ name: string;
364
+ }>;
365
+ } & {
366
+ "/affiliates/:id/properties": import("@withtyped/server").PathGuard<"/:id/properties", unknown, {
367
+ value: string;
368
+ type: "hostname" | "query";
369
+ }, {
370
+ value: string;
371
+ type: "hostname" | "query";
372
+ createdAt: Date;
373
+ affiliateId: string;
374
+ }>;
375
+ };
376
+ put: {};
377
+ delete: {
378
+ "/affiliates/:id/properties": import("@withtyped/server").PathGuard<"/:id/properties", unknown, {
379
+ value: string;
380
+ type: "hostname" | "query";
381
+ }, unknown>;
382
+ };
383
+ copy: {};
384
+ head: {};
385
+ }, "/api">>, import("@withtyped/server").RoutesWithPrefix<{
386
+ options: {};
387
+ patch: {};
388
+ get: {};
389
+ post: {
390
+ "/affiliate-logs": import("@withtyped/server").PathGuard<"/", unknown, {
391
+ createdAt: string;
392
+ userId: string;
393
+ hostname?: string | undefined;
394
+ query?: string | undefined;
395
+ }, {
396
+ createdAt: Date;
397
+ id: string;
398
+ affiliateId: string | null;
399
+ userId: string;
400
+ createdVia: {
401
+ createdAt: string;
402
+ hostname?: string | undefined;
403
+ query?: string | undefined;
404
+ };
405
+ }>;
406
+ };
407
+ put: {};
408
+ delete: {};
409
+ copy: {};
410
+ head: {};
411
+ }, "/api">>, "/api">;
412
+
413
+ export {
414
+ router as default,
415
+ };
416
+
417
+ export {};
package/package.json CHANGED
@@ -1,24 +1,24 @@
1
1
  {
2
2
  "name": "@logto/cloud",
3
- "version": "0.2.5-4d5e389",
3
+ "version": "0.2.5-5a698db",
4
4
  "description": "Logto Cloud service.",
5
5
  "main": "build/index.js",
6
6
  "author": "Silverhand Inc. <contact@silverhand.io>",
7
7
  "license": "Elastic-2.0",
8
8
  "type": "module",
9
9
  "files": [
10
- "build"
10
+ "lib"
11
11
  ],
12
12
  "exports": {
13
- "./routes": "./build/routes/index.js"
13
+ "./routes": "./lib/routes/index.js"
14
14
  },
15
15
  "imports": {
16
16
  "#src/*": "./build/*"
17
17
  },
18
18
  "devDependencies": {
19
- "@silverhand/eslint-config": "3.0.1",
20
- "@silverhand/jest-config": "3.0.0",
21
- "@silverhand/ts-config": "3.0.0",
19
+ "@silverhand/eslint-config": "4.0.1",
20
+ "@silverhand/jest-config": "4.0.0",
21
+ "@silverhand/ts-config": "4.0.0",
22
22
  "@types/accepts": "^1.3.5",
23
23
  "@types/http-proxy": "^1.17.9",
24
24
  "@types/jest": "^29.4.0",
@@ -26,11 +26,11 @@
26
26
  "@types/node": "^18.11.18",
27
27
  "@types/yargs": "^17.0.24",
28
28
  "dts-bundle-generator": "^8.0.1",
29
- "eslint": "^8.21.0",
29
+ "eslint": "^8.44.0",
30
30
  "jest": "^29.5.0",
31
- "lint-staged": "^13.0.0",
31
+ "lint-staged": "^15.0.0",
32
32
  "nodemon": "^3.0.0",
33
- "prettier": "^2.8.1",
33
+ "prettier": "^3.0.0",
34
34
  "typescript": "^5.0.0"
35
35
  },
36
36
  "engines": {
@@ -41,16 +41,6 @@
41
41
  "rules": {
42
42
  "no-console": "error"
43
43
  },
44
- "overrides": [
45
- {
46
- "files": [
47
- "src/cli/**/*"
48
- ],
49
- "rules": {
50
- "no-console": "off"
51
- }
52
- }
53
- ],
54
44
  "ignorePatterns": [
55
45
  "types.test.ts"
56
46
  ]
@@ -60,14 +50,14 @@
60
50
  "access": "public"
61
51
  },
62
52
  "dependencies": {
63
- "@silverhand/essentials": "^2.7.0",
53
+ "@silverhand/essentials": "^2.8.5",
64
54
  "@withtyped/server": "^0.12.7"
65
55
  },
66
56
  "scripts": {
67
57
  "precommit": "lint-staged",
68
- "build": "rm -rf build/ && tsc -p tsconfig.build.json",
58
+ "build": "rm -rf build/ && tsc -p tsconfig.build.json && pnpm build:lib",
69
59
  "//": "It is not used to build the service itself.",
70
- "build:lib": "rm -rf build/ && dts-bundle-generator src/routes/index.ts --project tsconfig.build.json -o build/routes/index.d.ts",
60
+ "build:lib": "rm -rf lib/ && dts-bundle-generator src/routes/index.ts --project tsconfig.build.json -o lib/routes/index.d.ts",
71
61
  "build:test": "rm -rf build/ && tsc -p tsconfig.test.json --sourcemap",
72
62
  "lint": "eslint --ext .ts src",
73
63
  "lint:report": "pnpm lint --format json --output-file report.json",
@@ -1,214 +0,0 @@
1
- // Generated by dts-bundle-generator v8.0.1
2
-
3
- import { RequestContext } from '@withtyped/server';
4
-
5
- export type WithAuthContext<Context = RequestContext> = Context & {
6
- auth: {
7
- id: string;
8
- scopes: string[];
9
- };
10
- };
11
- declare enum TenantTag {
12
- Development = "development",
13
- Staging = "staging",
14
- Production = "production"
15
- }
16
- declare enum VerificationCodeType {
17
- SignIn = "SignIn",
18
- Register = "Register",
19
- ForgotPassword = "ForgotPassword",
20
- /** @deprecated */
21
- Continue = "Continue",
22
- Generic = "Generic",
23
- /** @deprecated Use `Generic` type template for sending test sms/email use case */
24
- Test = "Test"
25
- }
26
- declare const router: import("@withtyped/server").Router<WithAuthContext, import("@withtyped/server").MergeRoutes<import("@withtyped/server").MergeRoutes<import("@withtyped/server").MergeRoutes<import("@withtyped/server").MergeRoutes<import("@withtyped/server").BaseRoutes, import("@withtyped/server").RoutesWithPrefix<{
27
- options: {};
28
- patch: {
29
- "/tenants/:tenantId": import("@withtyped/server").PathGuard<"/:tenantId", unknown, {
30
- name?: string | undefined;
31
- tag?: TenantTag | undefined;
32
- }, {
33
- name: string;
34
- id: string;
35
- indicator: string;
36
- tag: TenantTag;
37
- }>;
38
- };
39
- get: {
40
- "/tenants": import("@withtyped/server").PathGuard<"/", unknown, unknown, {
41
- name: string;
42
- id: string;
43
- indicator: string;
44
- tag: TenantTag;
45
- }[]>;
46
- } & {
47
- "/tenants/my/subscription": import("@withtyped/server").PathGuard<"/my/subscription", unknown, unknown, {
48
- id: string;
49
- status: "incomplete" | "incomplete_expired" | "trialing" | "active" | "past_due" | "canceled" | "unpaid";
50
- createdAt: Date;
51
- updatedAt: Date;
52
- tenantId: string;
53
- planId: string;
54
- currentPeriodStart: Date;
55
- currentPeriodEnd: Date;
56
- customerId: string;
57
- latestInvoiceId: string | null;
58
- canceledAt: Date | null;
59
- }>;
60
- } & {
61
- "/tenants/:tenantId/subscription": import("@withtyped/server").PathGuard<"/:tenantId/subscription", unknown, unknown, {
62
- id: string;
63
- status: "incomplete" | "incomplete_expired" | "trialing" | "active" | "past_due" | "canceled" | "unpaid";
64
- createdAt: Date;
65
- updatedAt: Date;
66
- tenantId: string;
67
- planId: string;
68
- currentPeriodStart: Date;
69
- currentPeriodEnd: Date;
70
- customerId: string;
71
- latestInvoiceId: string | null;
72
- canceledAt: Date | null;
73
- }>;
74
- } & {
75
- "/tenants/:tenantId/usage": import("@withtyped/server").PathGuard<"/:tenantId/usage", unknown, unknown, {
76
- activeUsers: number;
77
- }>;
78
- };
79
- post: {
80
- "/tenants": import("@withtyped/server").PathGuard<"/", unknown, {
81
- name?: string | undefined;
82
- tag?: TenantTag | undefined;
83
- }, {
84
- name: string;
85
- id: string;
86
- indicator: string;
87
- tag: TenantTag;
88
- }>;
89
- };
90
- put: {};
91
- head: {};
92
- delete: {
93
- "/tenants/:tenantId": import("@withtyped/server").PathGuard<"/:tenantId", unknown, unknown, unknown>;
94
- };
95
- copy: {};
96
- }, "/api">>, import("@withtyped/server").RoutesWithPrefix<{
97
- options: {};
98
- patch: {};
99
- get: {
100
- "/services/mails/usage": import("@withtyped/server").PathGuard<"/mails/usage", {
101
- from?: string | undefined;
102
- }, unknown, unknown>;
103
- };
104
- post: {
105
- "/services/send-email": import("@withtyped/server").PathGuard<"/send-email", unknown, {
106
- data: {
107
- type: VerificationCodeType;
108
- to: string;
109
- payload: {
110
- senderName?: string | undefined;
111
- companyInformation?: string | undefined;
112
- appLogo?: string | undefined;
113
- code: string;
114
- };
115
- };
116
- }, unknown>;
117
- } & {
118
- "/services/mails": import("@withtyped/server").PathGuard<"/mails", unknown, {
119
- data: {
120
- type: VerificationCodeType;
121
- to: string;
122
- payload: {
123
- senderName?: string | undefined;
124
- companyInformation?: string | undefined;
125
- appLogo?: string | undefined;
126
- code: string;
127
- };
128
- };
129
- }, unknown>;
130
- } & {
131
- "/services/send-sms": import("@withtyped/server").PathGuard<"/send-sms", unknown, {
132
- data: {
133
- type: VerificationCodeType;
134
- to: string;
135
- payload: {
136
- senderName?: string | undefined;
137
- companyInformation?: string | undefined;
138
- appLogo?: string | undefined;
139
- code: string;
140
- };
141
- };
142
- }, unknown>;
143
- };
144
- put: {};
145
- head: {};
146
- delete: {};
147
- copy: {};
148
- }, "/api">>, import("@withtyped/server").RoutesWithPrefix<{
149
- options: {};
150
- patch: {};
151
- get: {
152
- "/subscription-plans": import("@withtyped/server").PathGuard<"/", unknown, unknown, {
153
- id: string;
154
- name: string;
155
- quota: {
156
- mauLimit: number | null;
157
- applicationsLimit: number;
158
- machineToMachineLimit: number;
159
- resourcesLimit: number;
160
- scopesPerResourceLimit: number;
161
- customDomainEnabled: boolean;
162
- omniSignInEnabled: boolean;
163
- builtInEmailConnectorEnabled: boolean;
164
- socialConnectorsLimit: number | null;
165
- standardConnectorsLimit: number;
166
- rolesLimit: number;
167
- scopesPerRoleLimit: number | null;
168
- hooksLimit: number;
169
- auditLogsRetentionDays: number;
170
- };
171
- stripeProducts: {
172
- description?: string | undefined;
173
- id: string;
174
- name: string;
175
- type: "flat" | "tier1" | "tier2" | "tier3";
176
- price: {
177
- quantity?: 1 | undefined;
178
- unitAmount?: number | null | undefined;
179
- id: string;
180
- unitAmountDecimal: string;
181
- };
182
- }[];
183
- createdAt: Date;
184
- updatedAt: Date;
185
- }[]>;
186
- };
187
- post: {};
188
- put: {};
189
- head: {};
190
- delete: {};
191
- copy: {};
192
- }, "/api">>, import("@withtyped/server").RoutesWithPrefix<{
193
- options: {};
194
- patch: {};
195
- get: {};
196
- post: {
197
- "/checkout-session": import("@withtyped/server").PathGuard<"/", unknown, {
198
- tenantId?: string | undefined;
199
- cancelCallbackUrl?: string | undefined;
200
- planId: string;
201
- successCallbackUrl: string;
202
- }, unknown>;
203
- };
204
- put: {};
205
- head: {};
206
- delete: {};
207
- copy: {};
208
- }, "/api">>, "/api">;
209
-
210
- export {
211
- router as default,
212
- };
213
-
214
- export {};