@middlewr/contracts 0.0.12 → 0.0.13

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/dist/esm/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  // src/index.ts
2
2
  import { oc } from "@orpc/contract";
3
- import { z as z9 } from "zod";
3
+ import { z as z10 } from "zod";
4
4
 
5
5
  // src/api-keys.schema.ts
6
6
  import { z } from "zod";
@@ -20,294 +20,322 @@ var CreateApiKeyResponseSchema = ApiKeySchema.extend({
20
20
  key: z.string()
21
21
  });
22
22
 
23
- // src/common.schema.ts
23
+ // src/billing.schema.ts
24
24
  import { z as z2 } from "zod";
25
- var WorkspaceIdParamSchema = z2.object({
26
- workspace_id: z2.string().uuid()
25
+ var BillingStatusSchema = z2.object({
26
+ billing_plan: z2.string(),
27
+ billing_status: z2.string(),
28
+ billing_email: z2.string().nullable(),
29
+ billing_current_period_end: z2.coerce.date().nullable(),
30
+ billing_cancel_at_period_end: z2.boolean(),
31
+ billing_customer_id: z2.string().nullable(),
32
+ billing_subscription_id: z2.string().nullable()
33
+ });
34
+ var CreateCheckoutInputSchema = z2.object({
35
+ plan: z2.enum(["pro", "business"]),
36
+ success_url: z2.string().url().optional(),
37
+ billing_email: z2.string().email().optional()
38
+ });
39
+ var CheckoutSessionSchema = z2.object({
40
+ url: z2.string().url()
41
+ });
42
+ var CustomerPortalSchema = z2.object({
43
+ url: z2.string().url()
27
44
  });
28
- var LinkIdParamSchema = z2.object({
29
- workspace_id: z2.string().uuid(),
30
- link_id: z2.string().uuid()
45
+
46
+ // src/common.schema.ts
47
+ import { z as z3 } from "zod";
48
+ var WorkspaceIdParamSchema = z3.object({
49
+ workspace_id: z3.string().uuid()
50
+ });
51
+ var LinkIdParamSchema = z3.object({
52
+ workspace_id: z3.string().uuid(),
53
+ link_id: z3.string().uuid()
31
54
  });
32
- var TagIdParamSchema = z2.object({
33
- workspace_id: z2.string().uuid(),
34
- tag_id: z2.string().uuid()
55
+ var TagIdParamSchema = z3.object({
56
+ workspace_id: z3.string().uuid(),
57
+ tag_id: z3.string().uuid()
35
58
  });
36
- var MemberIdParamSchema = z2.object({
37
- workspace_id: z2.string().uuid(),
38
- user_id: z2.string().uuid()
59
+ var MemberIdParamSchema = z3.object({
60
+ workspace_id: z3.string().uuid(),
61
+ user_id: z3.string().uuid()
39
62
  });
40
- var InvitationIdParamSchema = z2.object({
41
- workspace_id: z2.string().uuid(),
42
- invitation_id: z2.string().uuid()
63
+ var InvitationIdParamSchema = z3.object({
64
+ workspace_id: z3.string().uuid(),
65
+ invitation_id: z3.string().uuid()
43
66
  });
44
- var DomainIdParamSchema = z2.object({
45
- workspace_id: z2.string().uuid(),
46
- domain_id: z2.string().uuid()
67
+ var DomainIdParamSchema = z3.object({
68
+ workspace_id: z3.string().uuid(),
69
+ domain_id: z3.string().uuid()
47
70
  });
48
- var UserIdParamSchema = z2.object({
49
- user_id: z2.string().uuid()
71
+ var UserIdParamSchema = z3.object({
72
+ user_id: z3.string().uuid()
50
73
  });
51
- var ApiKeyIdParamSchema = z2.object({
52
- api_key_id: z2.string().uuid()
74
+ var ApiKeyIdParamSchema = z3.object({
75
+ api_key_id: z3.string().uuid()
53
76
  });
54
- var TokenParamSchema = z2.object({
55
- token: z2.string()
77
+ var TokenParamSchema = z3.object({
78
+ token: z3.string()
56
79
  });
57
80
 
58
81
  // src/domains.schema.ts
59
- import { z as z3 } from "zod";
60
- var DomainSchema = z3.object({
61
- id: z3.string().uuid(),
62
- workspace_id: z3.string().uuid().nullable(),
63
- created_by_id: z3.string().uuid().nullable(),
64
- domain: z3.string(),
65
- is_verified: z3.boolean(),
66
- cf_hostname_id: z3.string().nullable(),
67
- cf_ssl_status: z3.string().nullable(),
68
- cf_ownership_status: z3.string().nullable(),
69
- cf_txt_name: z3.string().nullable(),
70
- cf_txt_value: z3.string().nullable(),
71
- cf_ssl_txt_name: z3.string().nullable(),
72
- cf_ssl_txt_value: z3.string().nullable(),
73
- cf_last_checked_at: z3.coerce.date().nullable(),
74
- created_at: z3.coerce.date(),
75
- updated_at: z3.coerce.date().nullable()
76
- });
77
- var CreateDomainInputSchema = z3.object({
78
- domain: z3.string().min(1).max(253).regex(/^(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/, {
82
+ import { z as z4 } from "zod";
83
+ var DomainSchema = z4.object({
84
+ id: z4.string().uuid(),
85
+ workspace_id: z4.string().uuid().nullable(),
86
+ created_by_id: z4.string().uuid().nullable(),
87
+ domain: z4.string(),
88
+ is_verified: z4.boolean(),
89
+ cf_hostname_id: z4.string().nullable(),
90
+ cf_ssl_status: z4.string().nullable(),
91
+ cf_ownership_status: z4.string().nullable(),
92
+ cf_txt_name: z4.string().nullable(),
93
+ cf_txt_value: z4.string().nullable(),
94
+ cf_ssl_txt_name: z4.string().nullable(),
95
+ cf_ssl_txt_value: z4.string().nullable(),
96
+ cf_last_checked_at: z4.coerce.date().nullable(),
97
+ created_at: z4.coerce.date(),
98
+ updated_at: z4.coerce.date().nullable()
99
+ });
100
+ var CreateDomainInputSchema = z4.object({
101
+ domain: z4.string().min(1).max(253).regex(/^(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/, {
79
102
  message: "Invalid domain format"
80
103
  })
81
104
  });
82
- var UpdateDomainInputSchema = z3.object({
83
- domain: z3.string().min(1).max(253).regex(/^(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/, {
105
+ var UpdateDomainInputSchema = z4.object({
106
+ domain: z4.string().min(1).max(253).regex(/^(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/, {
84
107
  message: "Invalid domain format"
85
108
  }).optional()
86
109
  });
87
110
 
88
111
  // src/links.schema.ts
89
- import { z as z5 } from "zod";
112
+ import { z as z6 } from "zod";
90
113
 
91
114
  // src/tags.schema.ts
92
- import { z as z4 } from "zod";
93
- var TagSchema = z4.object({
94
- id: z4.string().uuid(),
95
- workspace_id: z4.string().uuid(),
96
- name: z4.string(),
97
- color: z4.string().nullable(),
98
- created_at: z4.coerce.date(),
99
- updated_at: z4.coerce.date().nullable()
100
- });
101
- var CreateTagInputSchema = z4.object({
102
- name: z4.string().min(1).max(50),
103
- color: z4.string().regex(/^#[0-9A-Fa-f]{6}$/).optional()
104
- });
105
- var UpdateTagInputSchema = z4.object({
106
- name: z4.string().min(1).max(50).optional(),
107
- color: z4.string().regex(/^#[0-9A-Fa-f]{6}$/).nullable().optional()
108
- });
109
-
110
- // src/links.schema.ts
111
- var LinkSchema = z5.object({
115
+ import { z as z5 } from "zod";
116
+ var TagSchema = z5.object({
112
117
  id: z5.string().uuid(),
113
118
  workspace_id: z5.string().uuid(),
114
- domain_id: z5.string().uuid(),
115
- created_by_id: z5.string().uuid(),
116
- original_url: z5.string().url(),
117
- short_code: z5.string(),
118
- title: z5.string().nullable(),
119
- description: z5.string().nullable(),
120
- utm_source: z5.string().nullable(),
121
- utm_medium: z5.string().nullable(),
122
- utm_campaign: z5.string().nullable(),
123
- utm_term: z5.string().nullable(),
124
- utm_content: z5.string().nullable(),
125
- password: z5.string().nullable(),
126
- starts_at: z5.coerce.date().nullable(),
127
- expires_at: z5.coerce.date().nullable(),
128
- is_active: z5.boolean(),
129
- redirect_type: z5.number().int(),
130
- click_count: z5.coerce.number().int(),
131
- click_count_updated_at: z5.coerce.date().nullable(),
119
+ name: z5.string(),
120
+ color: z5.string().nullable(),
132
121
  created_at: z5.coerce.date(),
133
- updated_at: z5.coerce.date().nullable(),
134
- tags: z5.array(TagSchema)
135
- });
136
- var CreateLinkInputSchema = z5.object({
137
- original_url: z5.string().url().max(2048),
138
- domain_id: z5.string().uuid().optional(),
139
- short_code: z5.string().min(3).max(50).regex(/^[a-zA-Z0-9-]+$/).optional(),
140
- title: z5.string().max(255).optional(),
141
- description: z5.string().max(2e3).optional(),
142
- utm_source: z5.string().max(255).optional(),
143
- utm_medium: z5.string().max(255).optional(),
144
- utm_campaign: z5.string().max(255).optional(),
145
- utm_term: z5.string().max(255).optional(),
146
- utm_content: z5.string().max(255).optional(),
147
- password: z5.string().min(4).max(100).optional(),
148
- starts_at: z5.coerce.date().optional(),
149
- expires_at: z5.coerce.date().optional(),
150
- redirect_type: z5.coerce.number().refine((v) => [301, 302, 307, 308].includes(v)).optional(),
151
- tag_ids: z5.array(z5.string().uuid()).optional()
152
- });
153
- var UpdateLinkInputSchema = z5.object({
154
- original_url: z5.string().url().max(2048).optional(),
155
- domain_id: z5.string().uuid().optional(),
156
- short_code: z5.string().min(3).max(50).regex(/^[a-zA-Z0-9-]+$/).optional(),
157
- title: z5.string().max(255).nullable().optional(),
158
- description: z5.string().max(2e3).nullable().optional(),
159
- utm_source: z5.string().max(255).nullable().optional(),
160
- utm_medium: z5.string().max(255).nullable().optional(),
161
- utm_campaign: z5.string().max(255).nullable().optional(),
162
- utm_term: z5.string().max(255).nullable().optional(),
163
- utm_content: z5.string().max(255).nullable().optional(),
164
- password: z5.string().min(4).max(100).nullable().optional(),
165
- starts_at: z5.coerce.date().nullable().optional(),
166
- expires_at: z5.coerce.date().nullable().optional(),
167
- is_active: z5.boolean().optional(),
168
- redirect_type: z5.coerce.number().refine((v) => [301, 302, 307, 308].includes(v)).optional(),
169
- tag_ids: z5.array(z5.string().uuid()).optional()
170
- });
171
- var LinkFiltersSchema = z5.object({
172
- search: z5.string().optional(),
173
- domain_id: z5.string().uuid().optional(),
174
- is_active: z5.coerce.boolean().optional(),
175
- has_expiration: z5.coerce.boolean().optional(),
176
- expired: z5.coerce.boolean().optional(),
177
- created_from: z5.coerce.date().optional(),
178
- created_to: z5.coerce.date().optional(),
179
- expires_from: z5.coerce.date().optional(),
180
- expires_to: z5.coerce.date().optional(),
181
- tag_ids: z5.array(z5.string().uuid()).optional(),
182
- sort_by: z5.enum(["created_at", "title", "click_count"]).default("created_at"),
183
- sort_order: z5.enum(["asc", "desc"]).default("desc"),
184
- page: z5.coerce.number().int().min(1).default(1),
185
- per_page: z5.coerce.number().int().min(1).max(100).default(20)
186
- });
187
- var PaginatedLinksSchema = z5.object({
188
- links: z5.array(LinkSchema),
189
- total: z5.number().int(),
190
- page: z5.number().int(),
191
- per_page: z5.number().int(),
192
- total_pages: z5.number().int()
122
+ updated_at: z5.coerce.date().nullable()
123
+ });
124
+ var CreateTagInputSchema = z5.object({
125
+ name: z5.string().min(1).max(50),
126
+ color: z5.string().regex(/^#[0-9A-Fa-f]{6}$/).optional()
127
+ });
128
+ var UpdateTagInputSchema = z5.object({
129
+ name: z5.string().min(1).max(50).optional(),
130
+ color: z5.string().regex(/^#[0-9A-Fa-f]{6}$/).nullable().optional()
193
131
  });
194
132
 
195
- // src/users.schema.ts
196
- import { z as z6 } from "zod";
197
- var UserSchema = z6.object({
133
+ // src/links.schema.ts
134
+ var LinkSchema = z6.object({
198
135
  id: z6.string().uuid(),
199
- external_id: z6.string(),
200
- email: z6.string().email(),
201
- email_verified_at: z6.coerce.date().nullable(),
202
- first_name: z6.string().nullable(),
203
- last_name: z6.string().nullable(),
136
+ workspace_id: z6.string().uuid(),
137
+ domain_id: z6.string().uuid(),
138
+ created_by_id: z6.string().uuid(),
139
+ original_url: z6.string().url(),
140
+ short_code: z6.string(),
141
+ title: z6.string().nullable(),
142
+ description: z6.string().nullable(),
143
+ utm_source: z6.string().nullable(),
144
+ utm_medium: z6.string().nullable(),
145
+ utm_campaign: z6.string().nullable(),
146
+ utm_term: z6.string().nullable(),
147
+ utm_content: z6.string().nullable(),
148
+ password: z6.string().nullable(),
149
+ starts_at: z6.coerce.date().nullable(),
150
+ expires_at: z6.coerce.date().nullable(),
151
+ is_active: z6.boolean(),
152
+ redirect_type: z6.number().int(),
153
+ click_count: z6.coerce.number().int(),
154
+ click_count_updated_at: z6.coerce.date().nullable(),
204
155
  created_at: z6.coerce.date(),
205
- updated_at: z6.coerce.date().nullable()
206
- });
207
- var SignInInputSchema = z6.object({
208
- first_name: z6.string().min(1).max(100).optional(),
209
- last_name: z6.string().min(1).max(100).optional()
210
- });
211
- var UpdateUserInputSchema = z6.object({
212
- first_name: z6.string().min(1).max(100).optional(),
213
- last_name: z6.string().min(1).max(100).optional()
156
+ updated_at: z6.coerce.date().nullable(),
157
+ tags: z6.array(TagSchema)
158
+ });
159
+ var CreateLinkInputSchema = z6.object({
160
+ original_url: z6.string().url().max(2048),
161
+ domain_id: z6.string().uuid().optional(),
162
+ short_code: z6.string().min(3).max(50).regex(/^[a-zA-Z0-9-]+$/).optional(),
163
+ title: z6.string().max(255).optional(),
164
+ description: z6.string().max(2e3).optional(),
165
+ utm_source: z6.string().max(255).optional(),
166
+ utm_medium: z6.string().max(255).optional(),
167
+ utm_campaign: z6.string().max(255).optional(),
168
+ utm_term: z6.string().max(255).optional(),
169
+ utm_content: z6.string().max(255).optional(),
170
+ password: z6.string().min(4).max(100).optional(),
171
+ starts_at: z6.coerce.date().optional(),
172
+ expires_at: z6.coerce.date().optional(),
173
+ redirect_type: z6.coerce.number().refine((v) => [301, 302, 307, 308].includes(v)).optional(),
174
+ tag_ids: z6.array(z6.string().uuid()).optional()
175
+ });
176
+ var UpdateLinkInputSchema = z6.object({
177
+ original_url: z6.string().url().max(2048).optional(),
178
+ domain_id: z6.string().uuid().optional(),
179
+ short_code: z6.string().min(3).max(50).regex(/^[a-zA-Z0-9-]+$/).optional(),
180
+ title: z6.string().max(255).nullable().optional(),
181
+ description: z6.string().max(2e3).nullable().optional(),
182
+ utm_source: z6.string().max(255).nullable().optional(),
183
+ utm_medium: z6.string().max(255).nullable().optional(),
184
+ utm_campaign: z6.string().max(255).nullable().optional(),
185
+ utm_term: z6.string().max(255).nullable().optional(),
186
+ utm_content: z6.string().max(255).nullable().optional(),
187
+ password: z6.string().min(4).max(100).nullable().optional(),
188
+ starts_at: z6.coerce.date().nullable().optional(),
189
+ expires_at: z6.coerce.date().nullable().optional(),
190
+ is_active: z6.boolean().optional(),
191
+ redirect_type: z6.coerce.number().refine((v) => [301, 302, 307, 308].includes(v)).optional(),
192
+ tag_ids: z6.array(z6.string().uuid()).optional()
193
+ });
194
+ var LinkFiltersSchema = z6.object({
195
+ search: z6.string().optional(),
196
+ domain_id: z6.string().uuid().optional(),
197
+ is_active: z6.coerce.boolean().optional(),
198
+ has_expiration: z6.coerce.boolean().optional(),
199
+ expired: z6.coerce.boolean().optional(),
200
+ created_from: z6.coerce.date().optional(),
201
+ created_to: z6.coerce.date().optional(),
202
+ expires_from: z6.coerce.date().optional(),
203
+ expires_to: z6.coerce.date().optional(),
204
+ tag_ids: z6.array(z6.string().uuid()).optional(),
205
+ sort_by: z6.enum(["created_at", "title", "click_count"]).default("created_at"),
206
+ sort_order: z6.enum(["asc", "desc"]).default("desc"),
207
+ page: z6.coerce.number().int().min(1).default(1),
208
+ per_page: z6.coerce.number().int().min(1).max(100).default(20)
209
+ });
210
+ var PaginatedLinksSchema = z6.object({
211
+ links: z6.array(LinkSchema),
212
+ total: z6.number().int(),
213
+ page: z6.number().int(),
214
+ per_page: z6.number().int(),
215
+ total_pages: z6.number().int()
214
216
  });
215
217
 
216
- // src/workspaces.schema.ts
218
+ // src/users.schema.ts
217
219
  import { z as z7 } from "zod";
218
- var WorkspaceSchema = z7.object({
220
+ var UserSchema = z7.object({
219
221
  id: z7.string().uuid(),
220
- name: z7.string(),
222
+ external_id: z7.string(),
223
+ email: z7.string().email(),
224
+ email_verified_at: z7.coerce.date().nullable(),
225
+ first_name: z7.string().nullable(),
226
+ last_name: z7.string().nullable(),
221
227
  created_at: z7.coerce.date(),
222
228
  updated_at: z7.coerce.date().nullable()
223
229
  });
224
- var WorkspaceWithCountSchema = WorkspaceSchema.extend({
225
- member_count: z7.number().int()
226
- });
227
- var CreateWorkspaceInputSchema = z7.object({
228
- name: z7.string().min(1).max(100)
230
+ var SignInInputSchema = z7.object({
231
+ first_name: z7.string().min(1).max(100).optional(),
232
+ last_name: z7.string().min(1).max(100).optional()
229
233
  });
230
- var UpdateWorkspaceInputSchema = z7.object({
231
- name: z7.string().min(1).max(100).optional()
234
+ var UpdateUserInputSchema = z7.object({
235
+ first_name: z7.string().min(1).max(100).optional(),
236
+ last_name: z7.string().min(1).max(100).optional()
232
237
  });
233
- var TransferOwnershipInputSchema = z7.object({
234
- to_user_id: z7.string().uuid()
238
+
239
+ // src/workspaces.schema.ts
240
+ import { z as z8 } from "zod";
241
+ var WorkspaceSchema = z8.object({
242
+ id: z8.string().uuid(),
243
+ name: z8.string(),
244
+ billing_plan: z8.string(),
245
+ billing_status: z8.string(),
246
+ billing_email: z8.string().nullable(),
247
+ billing_current_period_end: z8.coerce.date().nullable(),
248
+ billing_cancel_at_period_end: z8.boolean(),
249
+ created_at: z8.coerce.date(),
250
+ updated_at: z8.coerce.date().nullable()
235
251
  });
236
- var WorkspaceMemberUserSchema = z7.object({
237
- id: z7.string().uuid(),
238
- email: z7.string().email(),
239
- first_name: z7.string().nullable(),
240
- last_name: z7.string().nullable()
252
+ var WorkspaceWithCountSchema = WorkspaceSchema.extend({
253
+ member_count: z8.number().int()
241
254
  });
242
- var WorkspaceMemberSchema = z7.object({
243
- id: z7.string().uuid(),
244
- workspace_id: z7.string().uuid(),
245
- user_id: z7.string().uuid(),
246
- user: WorkspaceMemberUserSchema,
247
- permissions: z7.number().int(),
248
- joined_at: z7.coerce.date(),
249
- created_at: z7.coerce.date(),
250
- updated_at: z7.coerce.date().nullable()
255
+ var CreateWorkspaceInputSchema = z8.object({
256
+ name: z8.string().min(1).max(100)
251
257
  });
252
- var UpdateMemberInputSchema = z7.object({
253
- permissions: z7.number().int().min(1)
258
+ var UpdateWorkspaceInputSchema = z8.object({
259
+ name: z8.string().min(1).max(100).optional()
254
260
  });
255
- var WorkspaceInvitationSchema = z7.object({
256
- id: z7.string().uuid(),
257
- workspace_id: z7.string().uuid(),
258
- email: z7.string().email(),
259
- token: z7.string(),
260
- permissions: z7.number().int(),
261
- invited_by_id: z7.string().uuid(),
262
- expires_at: z7.coerce.date(),
263
- created_at: z7.coerce.date()
261
+ var TransferOwnershipInputSchema = z8.object({
262
+ to_user_id: z8.string().uuid()
264
263
  });
265
- var CreateInvitationInputSchema = z7.object({
266
- email: z7.string().email(),
267
- permissions: z7.number().int().min(1)
264
+ var WorkspaceMemberUserSchema = z8.object({
265
+ id: z8.string().uuid(),
266
+ email: z8.string().email(),
267
+ first_name: z8.string().nullable(),
268
+ last_name: z8.string().nullable()
268
269
  });
269
- var WorkspaceRoleSchema = z7.object({
270
- name: z7.string(),
271
- description: z7.string(),
272
- permissions: z7.number().int()
270
+ var WorkspaceMemberSchema = z8.object({
271
+ id: z8.string().uuid(),
272
+ workspace_id: z8.string().uuid(),
273
+ user_id: z8.string().uuid(),
274
+ user: WorkspaceMemberUserSchema,
275
+ permissions: z8.number().int(),
276
+ joined_at: z8.coerce.date(),
277
+ created_at: z8.coerce.date(),
278
+ updated_at: z8.coerce.date().nullable()
279
+ });
280
+ var UpdateMemberInputSchema = z8.object({
281
+ permissions: z8.number().int().min(1)
282
+ });
283
+ var WorkspaceInvitationSchema = z8.object({
284
+ id: z8.string().uuid(),
285
+ workspace_id: z8.string().uuid(),
286
+ email: z8.string().email(),
287
+ token: z8.string(),
288
+ permissions: z8.number().int(),
289
+ invited_by_id: z8.string().uuid(),
290
+ expires_at: z8.coerce.date(),
291
+ created_at: z8.coerce.date()
292
+ });
293
+ var CreateInvitationInputSchema = z8.object({
294
+ email: z8.string().email(),
295
+ permissions: z8.number().int().min(1)
296
+ });
297
+ var WorkspaceRoleSchema = z8.object({
298
+ name: z8.string(),
299
+ description: z8.string(),
300
+ permissions: z8.number().int()
273
301
  });
274
302
 
275
303
  // src/analytics.schema.ts
276
- import { z as z8 } from "zod";
277
- var LinkAnalyticsQuerySchema = z8.object({
278
- link_id: z8.string().uuid(),
279
- from: z8.coerce.date(),
280
- to: z8.coerce.date()
304
+ import { z as z9 } from "zod";
305
+ var LinkAnalyticsQuerySchema = z9.object({
306
+ link_id: z9.string().uuid(),
307
+ from: z9.coerce.date(),
308
+ to: z9.coerce.date()
281
309
  });
282
310
 
283
311
  // src/index.ts
284
312
  var usersContract = {
285
- me: oc.route({ method: "GET", path: "/api/users/me" }).output(z9.object({ user: UserSchema })),
286
- signIn: oc.route({ method: "POST", path: "/api/users" }).input(SignInInputSchema).output(z9.object({ user: UserSchema, status: z9.enum(["created", "existing"]) })),
287
- update: oc.route({ method: "PATCH", path: "/api/users/me" }).input(UpdateUserInputSchema).output(z9.object({ user: UserSchema }))
313
+ me: oc.route({ method: "GET", path: "/api/users/me" }).output(z10.object({ user: UserSchema })),
314
+ signIn: oc.route({ method: "POST", path: "/api/users" }).input(SignInInputSchema).output(z10.object({ user: UserSchema, status: z10.enum(["created", "existing"]) })),
315
+ update: oc.route({ method: "PATCH", path: "/api/users/me" }).input(UpdateUserInputSchema).output(z10.object({ user: UserSchema }))
288
316
  };
289
317
  var apiKeysContract = {
290
318
  create: oc.route({ method: "POST", path: "/api/api-keys" }).input(CreateApiKeyInputSchema).output(CreateApiKeyResponseSchema),
291
- list: oc.route({ method: "GET", path: "/api/api-keys" }).output(z9.array(ApiKeySchema)),
292
- delete: oc.route({ method: "DELETE", path: "/api/api-keys/{api_key_id}" }).input(ApiKeyIdParamSchema).output(z9.void())
319
+ list: oc.route({ method: "GET", path: "/api/api-keys" }).output(z10.array(ApiKeySchema)),
320
+ delete: oc.route({ method: "DELETE", path: "/api/api-keys/{api_key_id}" }).input(ApiKeyIdParamSchema).output(z10.void())
293
321
  };
294
322
  var workspacesContract = {
295
323
  create: oc.route({ method: "POST", path: "/api/workspaces" }).input(CreateWorkspaceInputSchema).output(WorkspaceSchema),
296
- list: oc.route({ method: "GET", path: "/api/workspaces" }).output(z9.array(WorkspaceWithCountSchema)),
324
+ list: oc.route({ method: "GET", path: "/api/workspaces" }).output(z10.array(WorkspaceWithCountSchema)),
297
325
  get: oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}" }).input(WorkspaceIdParamSchema).output(WorkspaceWithCountSchema),
298
326
  update: oc.route({ method: "PATCH", path: "/api/workspaces/{workspace_id}" }).input(WorkspaceIdParamSchema.merge(UpdateWorkspaceInputSchema)).output(WorkspaceSchema),
299
- delete: oc.route({ method: "DELETE", path: "/api/workspaces/{workspace_id}" }).input(WorkspaceIdParamSchema).output(z9.void()),
300
- transfer: oc.route({ method: "POST", path: "/api/workspaces/{workspace_id}/transfer" }).input(WorkspaceIdParamSchema.merge(TransferOwnershipInputSchema)).output(z9.void()),
327
+ delete: oc.route({ method: "DELETE", path: "/api/workspaces/{workspace_id}" }).input(WorkspaceIdParamSchema).output(z10.void()),
328
+ transfer: oc.route({ method: "POST", path: "/api/workspaces/{workspace_id}/transfer" }).input(WorkspaceIdParamSchema.merge(TransferOwnershipInputSchema)).output(z10.void()),
301
329
  // Roles
302
- listRoles: oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/roles" }).input(WorkspaceIdParamSchema).output(z9.array(WorkspaceRoleSchema)),
330
+ listRoles: oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/roles" }).input(WorkspaceIdParamSchema).output(z10.array(WorkspaceRoleSchema)),
303
331
  // Members
304
- listMembers: oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/members" }).input(WorkspaceIdParamSchema).output(z9.array(WorkspaceMemberSchema)),
332
+ listMembers: oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/members" }).input(WorkspaceIdParamSchema).output(z10.array(WorkspaceMemberSchema)),
305
333
  updateMember: oc.route({ method: "PATCH", path: "/api/workspaces/{workspace_id}/members/{user_id}" }).input(MemberIdParamSchema.merge(UpdateMemberInputSchema)).output(WorkspaceMemberSchema),
306
- removeMember: oc.route({ method: "DELETE", path: "/api/workspaces/{workspace_id}/members/{user_id}" }).input(MemberIdParamSchema).output(z9.void()),
334
+ removeMember: oc.route({ method: "DELETE", path: "/api/workspaces/{workspace_id}/members/{user_id}" }).input(MemberIdParamSchema).output(z10.void()),
307
335
  // Invitations
308
- listInvitations: oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/invitations" }).input(WorkspaceIdParamSchema).output(z9.array(WorkspaceInvitationSchema)),
336
+ listInvitations: oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/invitations" }).input(WorkspaceIdParamSchema).output(z10.array(WorkspaceInvitationSchema)),
309
337
  createInvitation: oc.route({ method: "POST", path: "/api/workspaces/{workspace_id}/invitations" }).input(WorkspaceIdParamSchema.merge(CreateInvitationInputSchema)).output(WorkspaceInvitationSchema),
310
- revokeInvitation: oc.route({ method: "DELETE", path: "/api/workspaces/{workspace_id}/invitations/{invitation_id}" }).input(InvitationIdParamSchema).output(z9.void())
338
+ revokeInvitation: oc.route({ method: "DELETE", path: "/api/workspaces/{workspace_id}/invitations/{invitation_id}" }).input(InvitationIdParamSchema).output(z10.void())
311
339
  };
312
340
  var invitationsContract = {
313
341
  get: oc.route({ method: "GET", path: "/api/invitations/{token}" }).input(TokenParamSchema).output(WorkspaceInvitationSchema),
@@ -318,23 +346,28 @@ var linksContract = {
318
346
  list: oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/links" }).input(WorkspaceIdParamSchema.merge(LinkFiltersSchema)).output(PaginatedLinksSchema),
319
347
  get: oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/links/{link_id}" }).input(LinkIdParamSchema).output(LinkSchema),
320
348
  update: oc.route({ method: "PATCH", path: "/api/workspaces/{workspace_id}/links/{link_id}" }).input(LinkIdParamSchema.merge(UpdateLinkInputSchema)).output(LinkSchema),
321
- delete: oc.route({ method: "DELETE", path: "/api/workspaces/{workspace_id}/links/{link_id}" }).input(LinkIdParamSchema).output(z9.void())
349
+ delete: oc.route({ method: "DELETE", path: "/api/workspaces/{workspace_id}/links/{link_id}" }).input(LinkIdParamSchema).output(z10.void())
322
350
  };
323
351
  var tagsContract = {
324
352
  create: oc.route({ method: "POST", path: "/api/workspaces/{workspace_id}/tags" }).input(WorkspaceIdParamSchema.merge(CreateTagInputSchema)).output(TagSchema),
325
- list: oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/tags" }).input(WorkspaceIdParamSchema).output(z9.array(TagSchema)),
353
+ list: oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/tags" }).input(WorkspaceIdParamSchema).output(z10.array(TagSchema)),
326
354
  get: oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/tags/{tag_id}" }).input(TagIdParamSchema).output(TagSchema),
327
355
  update: oc.route({ method: "PATCH", path: "/api/workspaces/{workspace_id}/tags/{tag_id}" }).input(TagIdParamSchema.merge(UpdateTagInputSchema)).output(TagSchema),
328
- delete: oc.route({ method: "DELETE", path: "/api/workspaces/{workspace_id}/tags/{tag_id}" }).input(TagIdParamSchema).output(z9.void())
356
+ delete: oc.route({ method: "DELETE", path: "/api/workspaces/{workspace_id}/tags/{tag_id}" }).input(TagIdParamSchema).output(z10.void())
329
357
  };
330
358
  var domainsContract = {
331
359
  create: oc.route({ method: "POST", path: "/api/workspaces/{workspace_id}/domains" }).input(WorkspaceIdParamSchema.merge(CreateDomainInputSchema)).output(DomainSchema),
332
- list: oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/domains" }).input(WorkspaceIdParamSchema).output(z9.array(DomainSchema)),
360
+ list: oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/domains" }).input(WorkspaceIdParamSchema).output(z10.array(DomainSchema)),
333
361
  get: oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/domains/{domain_id}" }).input(DomainIdParamSchema).output(DomainSchema),
334
362
  update: oc.route({ method: "PATCH", path: "/api/workspaces/{workspace_id}/domains/{domain_id}" }).input(DomainIdParamSchema.merge(UpdateDomainInputSchema)).output(DomainSchema),
335
- delete: oc.route({ method: "DELETE", path: "/api/workspaces/{workspace_id}/domains/{domain_id}" }).input(DomainIdParamSchema).output(z9.void()),
363
+ delete: oc.route({ method: "DELETE", path: "/api/workspaces/{workspace_id}/domains/{domain_id}" }).input(DomainIdParamSchema).output(z10.void()),
336
364
  verify: oc.route({ method: "POST", path: "/api/workspaces/{workspace_id}/domains/{domain_id}/verify" }).input(DomainIdParamSchema).output(DomainSchema)
337
365
  };
366
+ var billingContract = {
367
+ status: oc.route({ method: "GET", path: "/api/workspaces/{workspace_id}/billing" }).input(WorkspaceIdParamSchema).output(BillingStatusSchema),
368
+ checkout: oc.route({ method: "POST", path: "/api/workspaces/{workspace_id}/billing/checkout" }).input(WorkspaceIdParamSchema.merge(CreateCheckoutInputSchema)).output(CheckoutSessionSchema),
369
+ portal: oc.route({ method: "POST", path: "/api/workspaces/{workspace_id}/billing/portal" }).input(WorkspaceIdParamSchema).output(CustomerPortalSchema)
370
+ };
338
371
  var contract = {
339
372
  users: usersContract,
340
373
  apiKeys: apiKeysContract,
@@ -342,18 +375,23 @@ var contract = {
342
375
  invitations: invitationsContract,
343
376
  links: linksContract,
344
377
  tags: tagsContract,
345
- domains: domainsContract
378
+ domains: domainsContract,
379
+ billing: billingContract
346
380
  };
347
381
  export {
348
382
  ApiKeyIdParamSchema,
349
383
  ApiKeySchema,
384
+ BillingStatusSchema,
385
+ CheckoutSessionSchema,
350
386
  CreateApiKeyInputSchema,
351
387
  CreateApiKeyResponseSchema,
388
+ CreateCheckoutInputSchema,
352
389
  CreateDomainInputSchema,
353
390
  CreateInvitationInputSchema,
354
391
  CreateLinkInputSchema,
355
392
  CreateTagInputSchema,
356
393
  CreateWorkspaceInputSchema,
394
+ CustomerPortalSchema,
357
395
  DomainIdParamSchema,
358
396
  DomainSchema,
359
397
  InvitationIdParamSchema,
@@ -384,6 +422,7 @@ export {
384
422
  WorkspaceSchema,
385
423
  WorkspaceWithCountSchema,
386
424
  apiKeysContract,
425
+ billingContract,
387
426
  contract,
388
427
  domainsContract,
389
428
  invitationsContract,
@@ -2,12 +2,22 @@ import { z } from 'zod';
2
2
  export declare const WorkspaceSchema: z.ZodObject<{
3
3
  id: z.ZodString;
4
4
  name: z.ZodString;
5
+ billing_plan: z.ZodString;
6
+ billing_status: z.ZodString;
7
+ billing_email: z.ZodNullable<z.ZodString>;
8
+ billing_current_period_end: z.ZodNullable<z.ZodCoercedDate<unknown>>;
9
+ billing_cancel_at_period_end: z.ZodBoolean;
5
10
  created_at: z.ZodCoercedDate<unknown>;
6
11
  updated_at: z.ZodNullable<z.ZodCoercedDate<unknown>>;
7
12
  }, z.core.$strip>;
8
13
  export declare const WorkspaceWithCountSchema: z.ZodObject<{
9
14
  id: z.ZodString;
10
15
  name: z.ZodString;
16
+ billing_plan: z.ZodString;
17
+ billing_status: z.ZodString;
18
+ billing_email: z.ZodNullable<z.ZodString>;
19
+ billing_current_period_end: z.ZodNullable<z.ZodCoercedDate<unknown>>;
20
+ billing_cancel_at_period_end: z.ZodBoolean;
11
21
  created_at: z.ZodCoercedDate<unknown>;
12
22
  updated_at: z.ZodNullable<z.ZodCoercedDate<unknown>>;
13
23
  member_count: z.ZodNumber;
@@ -1 +1 @@
1
- {"version":3,"file":"workspaces.schema.d.ts","sourceRoot":"","sources":["../../src/workspaces.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,eAAe;;;;;iBAK1B,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;iBAEnC,CAAC;AAEH,eAAO,MAAM,0BAA0B;;iBAErC,CAAC;AAEH,eAAO,MAAM,0BAA0B;;iBAErC,CAAC;AAEH,eAAO,MAAM,4BAA4B;;iBAEvC,CAAC;AAGH,eAAO,MAAM,yBAAyB;;;;;iBAKpC,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;iBAShC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;iBAElC,CAAC;AAGH,eAAO,MAAM,yBAAyB;;;;;;;;;iBASpC,CAAC;AAEH,eAAO,MAAM,2BAA2B;;;iBAGtC,CAAC;AAGH,eAAO,MAAM,mBAAmB;;;;iBAI9B,CAAC"}
1
+ {"version":3,"file":"workspaces.schema.d.ts","sourceRoot":"","sources":["../../src/workspaces.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,eAAe;;;;;;;;;;iBAU1B,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;iBAEnC,CAAC;AAEH,eAAO,MAAM,0BAA0B;;iBAErC,CAAC;AAEH,eAAO,MAAM,0BAA0B;;iBAErC,CAAC;AAEH,eAAO,MAAM,4BAA4B;;iBAEvC,CAAC;AAGH,eAAO,MAAM,yBAAyB;;;;;iBAKpC,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;iBAShC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;iBAElC,CAAC;AAGH,eAAO,MAAM,yBAAyB;;;;;;;;;iBASpC,CAAC;AAEH,eAAO,MAAM,2BAA2B;;;iBAGtC,CAAC;AAGH,eAAO,MAAM,mBAAmB;;;;iBAI9B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@middlewr/contracts",
3
- "version": "0.0.12",
3
+ "version": "0.0.13",
4
4
  "type": "module",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "module": "./dist/esm/index.js",