@middlewr/contracts 0.0.10 → 0.0.12

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