@dazl/internal-api-client 1.7.0 → 1.9.0

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/src/types.gen.ts CHANGED
@@ -89,11 +89,24 @@ export type ProjectRaw = {
89
89
  id: string;
90
90
  name: string;
91
91
  userId: number;
92
+ dazlUserId: string | null;
92
93
  createdAt: string;
93
94
  lastOpenedAt: string | null;
94
95
  latestScreenshot: string | null;
95
96
  originTemplateId: string | null;
96
97
  archivedAt: string | null;
98
+ members: Array<{
99
+ role: 'admin' | 'contributor' | 'viewer';
100
+ type: 'user';
101
+ /**
102
+ * Dazl ID for the type = "user"
103
+ */
104
+ id: string;
105
+ /**
106
+ * Time when it was updated in milliseconds since epoch
107
+ */
108
+ updatedAt?: number;
109
+ }>;
97
110
  };
98
111
 
99
112
  export type OwnerDazlId = {
@@ -133,52 +146,54 @@ export type UploadConfiguration = {
133
146
 
134
147
  export type MediaFileList = {
135
148
  /**
136
- * Token for fetching the next page, undefined if no more pages
149
+ * Array of media items
137
150
  */
138
- nextPageToken?: string;
151
+ items: Array<MediaItem>;
139
152
  /**
140
- * Array of file descriptors
153
+ * Cursor token for fetching the next page, null if no more pages
141
154
  */
142
- files: Array<MediaFile>;
155
+ nextCursor: string | null;
156
+ /**
157
+ * Total number of matching items (independent of pagination)
158
+ */
159
+ total: number;
143
160
  };
144
161
 
145
- export type MediaFile = {
162
+ export type MediaItem = {
146
163
  /**
147
- * Unique file identifier
164
+ * Unique media identifier
148
165
  */
149
166
  id: string;
150
- /**
151
- * File path within the project
152
- */
153
- path: string;
154
167
  /**
155
168
  * MIME type of the file
156
169
  */
157
170
  mimeType: string;
158
171
  /**
159
- * File type: '-' for file, 'd' for directory
172
+ * URL where the file is accessible
160
173
  */
161
- type: '-' | 'd';
174
+ url: string;
162
175
  /**
163
- * File size in bytes, null for directories
176
+ * Project identifier
164
177
  */
165
- size: number | null;
178
+ projectId: string;
166
179
  /**
167
- * Access control level of the file
180
+ * Git commit hash, null if not a screenshot
168
181
  */
169
- acl: 'public' | 'private';
182
+ gitCommit: string | null;
170
183
  /**
171
- * Content hash of the file
184
+ * Additional metadata
172
185
  */
173
- hash: string | null;
186
+ descriptor: {
187
+ [key: string]: unknown;
188
+ } | null;
174
189
  /**
175
190
  * ISO 8601 creation timestamp
176
191
  */
177
- dateCreated: string;
192
+ createdAt: string;
178
193
  /**
179
194
  * ISO 8601 last update timestamp
180
195
  */
181
- dateUpdated: string;
196
+ updatedAt: string;
182
197
  };
183
198
 
184
199
  export type ProjectWithScreenshot = {
@@ -191,9 +206,9 @@ export type ProjectWithScreenshot = {
191
206
  */
192
207
  name: string;
193
208
  /**
194
- * User ID who owns the project
209
+ * User's Dazl ID
195
210
  */
196
- userId: number;
211
+ dazlUserId: string;
197
212
  /**
198
213
  * ISO 8601 creation timestamp
199
214
  */
@@ -233,8 +248,6 @@ export type ProjectWithScreenshot = {
233
248
  */
234
249
  createdAt: string;
235
250
  id: string;
236
- projectId?: string;
237
- userId?: number;
238
251
  } | null;
239
252
  };
240
253
 
@@ -251,6 +264,14 @@ export type Screenshot = {
251
264
  * URL where the screenshot is accessible
252
265
  */
253
266
  url: string;
267
+ /**
268
+ * Project identifier
269
+ */
270
+ projectId: string;
271
+ /**
272
+ * User's Dazl ID
273
+ */
274
+ dazlUserId: string;
254
275
  /**
255
276
  * Git commit hash when screenshot was taken
256
277
  */
@@ -2268,6 +2289,182 @@ export type GetUserProjectsResponses = {
2268
2289
 
2269
2290
  export type GetUserProjectsResponse = GetUserProjectsResponses[keyof GetUserProjectsResponses];
2270
2291
 
2292
+ export type InviteProjectMemberData = {
2293
+ body: {
2294
+ role: 'admin' | 'contributor' | 'viewer';
2295
+ email: string;
2296
+ invitedByDazlId: string;
2297
+ };
2298
+ path: {
2299
+ projectId: string;
2300
+ };
2301
+ query?: never;
2302
+ url: '/project/{projectId}/members/invite';
2303
+ };
2304
+
2305
+ export type InviteProjectMemberErrors = {
2306
+ /**
2307
+ * Bad request - Invalid parameters or malformed JSON
2308
+ */
2309
+ 400: {
2310
+ message: string;
2311
+ issues?: string;
2312
+ };
2313
+ /**
2314
+ * Unauthorized
2315
+ */
2316
+ 401: ErrorResponse;
2317
+ /**
2318
+ * Forbidden
2319
+ */
2320
+ 403: ErrorResponse;
2321
+ /**
2322
+ * Not Found
2323
+ */
2324
+ 404: ErrorResponse;
2325
+ /**
2326
+ * Conflict
2327
+ */
2328
+ 409: ErrorResponse;
2329
+ /**
2330
+ * Internal server error
2331
+ */
2332
+ 500: ErrorResponse;
2333
+ /**
2334
+ * Service Unavailable
2335
+ */
2336
+ 503: ErrorResponse;
2337
+ };
2338
+
2339
+ export type InviteProjectMemberError = InviteProjectMemberErrors[keyof InviteProjectMemberErrors];
2340
+
2341
+ export type InviteProjectMemberResponses = {
2342
+ /**
2343
+ * Returns the invitation token
2344
+ */
2345
+ 200: {
2346
+ token: string;
2347
+ };
2348
+ };
2349
+
2350
+ export type InviteProjectMemberResponse = InviteProjectMemberResponses[keyof InviteProjectMemberResponses];
2351
+
2352
+ export type AcceptProjectInvitationData = {
2353
+ body: {
2354
+ token: string;
2355
+ userDazlId: string;
2356
+ };
2357
+ path?: never;
2358
+ query?: never;
2359
+ url: '/project/members/accept-invitation';
2360
+ };
2361
+
2362
+ export type AcceptProjectInvitationErrors = {
2363
+ /**
2364
+ * Bad request - Invalid parameters or malformed JSON
2365
+ */
2366
+ 400: {
2367
+ message: string;
2368
+ issues?: string;
2369
+ };
2370
+ /**
2371
+ * Unauthorized
2372
+ */
2373
+ 401: ErrorResponse;
2374
+ /**
2375
+ * Forbidden
2376
+ */
2377
+ 403: ErrorResponse;
2378
+ /**
2379
+ * Not Found
2380
+ */
2381
+ 404: ErrorResponse;
2382
+ /**
2383
+ * Conflict
2384
+ */
2385
+ 409: ErrorResponse;
2386
+ /**
2387
+ * Internal server error
2388
+ */
2389
+ 500: ErrorResponse;
2390
+ /**
2391
+ * Service Unavailable
2392
+ */
2393
+ 503: ErrorResponse;
2394
+ };
2395
+
2396
+ export type AcceptProjectInvitationError = AcceptProjectInvitationErrors[keyof AcceptProjectInvitationErrors];
2397
+
2398
+ export type AcceptProjectInvitationResponses = {
2399
+ /**
2400
+ * Acknowledges that the invitation was accepted
2401
+ */
2402
+ 200: {
2403
+ status: 'accepted';
2404
+ };
2405
+ };
2406
+
2407
+ export type AcceptProjectInvitationResponse = AcceptProjectInvitationResponses[keyof AcceptProjectInvitationResponses];
2408
+
2409
+ export type GetPublicTemplatesData = {
2410
+ body?: never;
2411
+ path?: never;
2412
+ query?: {
2413
+ withScreenshot?: boolean | null;
2414
+ };
2415
+ url: '/template/public-templates';
2416
+ };
2417
+
2418
+ export type GetPublicTemplatesErrors = {
2419
+ /**
2420
+ * Bad request - Invalid parameters or malformed JSON
2421
+ */
2422
+ 400: {
2423
+ message: string;
2424
+ issues?: string;
2425
+ };
2426
+ /**
2427
+ * Unauthorized
2428
+ */
2429
+ 401: ErrorResponse;
2430
+ /**
2431
+ * Forbidden
2432
+ */
2433
+ 403: ErrorResponse;
2434
+ /**
2435
+ * Not Found
2436
+ */
2437
+ 404: ErrorResponse;
2438
+ /**
2439
+ * Conflict
2440
+ */
2441
+ 409: ErrorResponse;
2442
+ /**
2443
+ * Internal server error
2444
+ */
2445
+ 500: ErrorResponse;
2446
+ /**
2447
+ * Service Unavailable
2448
+ */
2449
+ 503: ErrorResponse;
2450
+ };
2451
+
2452
+ export type GetPublicTemplatesError = GetPublicTemplatesErrors[keyof GetPublicTemplatesErrors];
2453
+
2454
+ export type GetPublicTemplatesResponses = {
2455
+ /**
2456
+ * Returns all public templates. Optionally includes screenshots when `withScreenshot` is true. Templates are ordered by the greatest of createdAt and lastUsedAt in descending order.
2457
+ */
2458
+ 200: {
2459
+ templates: Array<{
2460
+ screenshotUrl: string | null;
2461
+ originProjectName: string | null;
2462
+ } & TemplateRaw>;
2463
+ };
2464
+ };
2465
+
2466
+ export type GetPublicTemplatesResponse = GetPublicTemplatesResponses[keyof GetPublicTemplatesResponses];
2467
+
2271
2468
  export type GetUserTemplatesData = {
2272
2469
  body?: never;
2273
2470
  path: {
@@ -2664,29 +2861,17 @@ export type ListFilesData = {
2664
2861
  */
2665
2862
  projectId: string;
2666
2863
  /**
2667
- * Path within the project to list files from
2668
- */
2669
- path?: string;
2670
- /**
2671
- * Filter by type: '-' for files, 'd' for directories
2864
+ * Filter by MIME type prefix (e.g., 'image/' for all images)
2672
2865
  */
2673
- type?: '-' | 'd';
2674
- /**
2675
- * Field to order results by
2676
- */
2677
- orderBy?: 'dateUpdated' | 'name';
2866
+ mimeType?: string;
2678
2867
  /**
2679
- * Sort direction
2868
+ * Cursor token for fetching the next page of results
2680
2869
  */
2681
- orderDirection?: 'asc' | 'desc';
2870
+ cursor?: string;
2682
2871
  /**
2683
2872
  * Number of items per page
2684
2873
  */
2685
2874
  pageSize?: number;
2686
- /**
2687
- * Token for fetching the next page of results
2688
- */
2689
- nextPageToken?: string;
2690
2875
  };
2691
2876
  url: '/media/list';
2692
2877
  };