basecamp-client 1.0.8 → 1.0.10
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/index.d.mts +1922 -713
- package/dist/index.d.ts +1922 -713
- package/dist/index.js +525 -376
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +525 -376
- package/dist/index.mjs.map +1 -1
- package/openapi.json +1380 -205
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -160,7 +160,7 @@ async function asyncPagedToArray(options) {
|
|
|
160
160
|
var import_core3 = require("@ts-rest/core");
|
|
161
161
|
|
|
162
162
|
// src/contract/index.ts
|
|
163
|
-
var
|
|
163
|
+
var import_zod71 = require("zod");
|
|
164
164
|
|
|
165
165
|
// src/contract/c.ts
|
|
166
166
|
var import_core = require("@ts-rest/core");
|
|
@@ -1219,28 +1219,54 @@ var clientVisibilityRouter = c.router({
|
|
|
1219
1219
|
}
|
|
1220
1220
|
});
|
|
1221
1221
|
|
|
1222
|
+
// src/contract/resources/blobs.ts
|
|
1223
|
+
var import_zod27 = require("zod");
|
|
1224
|
+
var blobsRouter = c.router({
|
|
1225
|
+
download: {
|
|
1226
|
+
summary: "Download a blob",
|
|
1227
|
+
description: "Download the raw file content of a blob. Blobs represent files embedded in documents and messages via bc-attachment tags.",
|
|
1228
|
+
metadata: {
|
|
1229
|
+
tag: "Blobs",
|
|
1230
|
+
operationId: "blobs.download",
|
|
1231
|
+
rawResponse: true
|
|
1232
|
+
},
|
|
1233
|
+
method: "GET",
|
|
1234
|
+
path: "/blobs/:blobId/download/:filename",
|
|
1235
|
+
pathParams: import_zod27.z.object({
|
|
1236
|
+
blobId: import_zod27.z.string().min(1),
|
|
1237
|
+
filename: import_zod27.z.string().min(1)
|
|
1238
|
+
}),
|
|
1239
|
+
responses: {
|
|
1240
|
+
200: c.otherResponse({
|
|
1241
|
+
contentType: "application/octet-stream",
|
|
1242
|
+
body: c.type()
|
|
1243
|
+
})
|
|
1244
|
+
}
|
|
1245
|
+
}
|
|
1246
|
+
});
|
|
1247
|
+
|
|
1222
1248
|
// src/contract/resources/documents/documents.ts
|
|
1223
|
-
var
|
|
1249
|
+
var import_zod32 = require("zod");
|
|
1224
1250
|
|
|
1225
1251
|
// src/contract/schemas/documents/documents.ts
|
|
1226
|
-
var
|
|
1252
|
+
var import_zod28 = require("zod");
|
|
1227
1253
|
var DocumentCoreSchema = RecordingBaseSchema.extend({
|
|
1228
|
-
type:
|
|
1254
|
+
type: import_zod28.z.literal("Document")
|
|
1229
1255
|
});
|
|
1230
1256
|
var DocumentSchema = DocumentCoreSchema.extend({
|
|
1231
1257
|
content: HtmlStringSchema
|
|
1232
1258
|
});
|
|
1233
|
-
var DocumentListResponseSchema =
|
|
1234
|
-
var DocumentListQuerySchema =
|
|
1235
|
-
page:
|
|
1259
|
+
var DocumentListResponseSchema = import_zod28.z.array(DocumentSchema);
|
|
1260
|
+
var DocumentListQuerySchema = import_zod28.z.object({
|
|
1261
|
+
page: import_zod28.z.coerce.number().int().positive().optional()
|
|
1236
1262
|
});
|
|
1237
|
-
var DocumentCreateBodySchema =
|
|
1238
|
-
title:
|
|
1263
|
+
var DocumentCreateBodySchema = import_zod28.z.object({
|
|
1264
|
+
title: import_zod28.z.string().min(1),
|
|
1239
1265
|
content: HtmlStringSchema,
|
|
1240
|
-
status:
|
|
1266
|
+
status: import_zod28.z.enum(["active", "draft"]).or(import_zod28.z.string()).optional()
|
|
1241
1267
|
});
|
|
1242
|
-
var DocumentUpdateBodySchema =
|
|
1243
|
-
title:
|
|
1268
|
+
var DocumentUpdateBodySchema = import_zod28.z.object({
|
|
1269
|
+
title: import_zod28.z.string().min(1).optional(),
|
|
1244
1270
|
content: HtmlStringSchema.optional()
|
|
1245
1271
|
}).refine(
|
|
1246
1272
|
(value) => Object.keys(value).length > 0,
|
|
@@ -1248,76 +1274,76 @@ var DocumentUpdateBodySchema = import_zod27.z.object({
|
|
|
1248
1274
|
);
|
|
1249
1275
|
|
|
1250
1276
|
// src/contract/schemas/documents/vaults.ts
|
|
1251
|
-
var
|
|
1277
|
+
var import_zod29 = require("zod");
|
|
1252
1278
|
var VaultCoreSchema = RecordingBaseSchema.extend({
|
|
1253
|
-
type:
|
|
1279
|
+
type: import_zod29.z.literal("Vault")
|
|
1254
1280
|
});
|
|
1255
1281
|
var VaultSchema = VaultCoreSchema.extend({
|
|
1256
|
-
documents_count:
|
|
1257
|
-
documents_url:
|
|
1258
|
-
uploads_count:
|
|
1259
|
-
uploads_url:
|
|
1260
|
-
vaults_count:
|
|
1261
|
-
vaults_url:
|
|
1262
|
-
});
|
|
1263
|
-
var VaultListResponseSchema =
|
|
1264
|
-
var VaultListQuerySchema =
|
|
1265
|
-
page:
|
|
1282
|
+
documents_count: import_zod29.z.number().int().nonnegative(),
|
|
1283
|
+
documents_url: import_zod29.z.string().url(),
|
|
1284
|
+
uploads_count: import_zod29.z.number().int().nonnegative(),
|
|
1285
|
+
uploads_url: import_zod29.z.string().url(),
|
|
1286
|
+
vaults_count: import_zod29.z.number().int().nonnegative(),
|
|
1287
|
+
vaults_url: import_zod29.z.string().url()
|
|
1288
|
+
});
|
|
1289
|
+
var VaultListResponseSchema = import_zod29.z.array(VaultSchema);
|
|
1290
|
+
var VaultListQuerySchema = import_zod29.z.object({
|
|
1291
|
+
page: import_zod29.z.coerce.number().int().positive().optional()
|
|
1266
1292
|
});
|
|
1267
|
-
var VaultCreateBodySchema =
|
|
1268
|
-
title:
|
|
1293
|
+
var VaultCreateBodySchema = import_zod29.z.object({
|
|
1294
|
+
title: import_zod29.z.string().min(1)
|
|
1269
1295
|
});
|
|
1270
|
-
var VaultUpdateBodySchema =
|
|
1271
|
-
title:
|
|
1296
|
+
var VaultUpdateBodySchema = import_zod29.z.object({
|
|
1297
|
+
title: import_zod29.z.string().min(1)
|
|
1272
1298
|
});
|
|
1273
1299
|
|
|
1274
1300
|
// src/contract/schemas/documents/uploads.ts
|
|
1275
|
-
var
|
|
1301
|
+
var import_zod30 = require("zod");
|
|
1276
1302
|
var UploadCoreSchema = RecordingBaseSchema.extend({
|
|
1277
|
-
type:
|
|
1303
|
+
type: import_zod30.z.literal("Upload")
|
|
1278
1304
|
});
|
|
1279
1305
|
var UploadSchema = UploadCoreSchema.extend({
|
|
1280
1306
|
description: HtmlStringSchema.optional(),
|
|
1281
|
-
content_type:
|
|
1282
|
-
byte_size:
|
|
1283
|
-
filename:
|
|
1284
|
-
download_url:
|
|
1285
|
-
app_download_url:
|
|
1286
|
-
width:
|
|
1287
|
-
height:
|
|
1288
|
-
});
|
|
1289
|
-
var UploadListResponseSchema =
|
|
1290
|
-
var UploadListQuerySchema =
|
|
1291
|
-
page:
|
|
1292
|
-
});
|
|
1293
|
-
var UploadCreateBodySchema =
|
|
1294
|
-
attachable_sgid:
|
|
1307
|
+
content_type: import_zod30.z.string(),
|
|
1308
|
+
byte_size: import_zod30.z.number().int().nonnegative(),
|
|
1309
|
+
filename: import_zod30.z.string(),
|
|
1310
|
+
download_url: import_zod30.z.string().url(),
|
|
1311
|
+
app_download_url: import_zod30.z.string().url(),
|
|
1312
|
+
width: import_zod30.z.number().int().nonnegative().optional(),
|
|
1313
|
+
height: import_zod30.z.number().int().nonnegative().optional()
|
|
1314
|
+
});
|
|
1315
|
+
var UploadListResponseSchema = import_zod30.z.array(UploadSchema);
|
|
1316
|
+
var UploadListQuerySchema = import_zod30.z.object({
|
|
1317
|
+
page: import_zod30.z.coerce.number().int().positive().optional()
|
|
1318
|
+
});
|
|
1319
|
+
var UploadCreateBodySchema = import_zod30.z.object({
|
|
1320
|
+
attachable_sgid: import_zod30.z.string().min(1),
|
|
1295
1321
|
description: HtmlStringSchema.optional(),
|
|
1296
|
-
base_name:
|
|
1322
|
+
base_name: import_zod30.z.string().optional()
|
|
1297
1323
|
});
|
|
1298
|
-
var UploadUpdateBodySchema =
|
|
1324
|
+
var UploadUpdateBodySchema = import_zod30.z.object({
|
|
1299
1325
|
description: HtmlStringSchema.optional(),
|
|
1300
|
-
base_name:
|
|
1326
|
+
base_name: import_zod30.z.string().optional()
|
|
1301
1327
|
}).refine(
|
|
1302
1328
|
(value) => Object.keys(value).length > 0,
|
|
1303
1329
|
"At least one field must be provided to update an upload."
|
|
1304
1330
|
);
|
|
1305
1331
|
|
|
1306
1332
|
// src/contract/schemas/documents/attachments.ts
|
|
1307
|
-
var
|
|
1308
|
-
var AttachmentResponseSchema =
|
|
1309
|
-
attachable_sgid:
|
|
1333
|
+
var import_zod31 = require("zod");
|
|
1334
|
+
var AttachmentResponseSchema = import_zod31.z.object({
|
|
1335
|
+
attachable_sgid: import_zod31.z.string().min(1)
|
|
1310
1336
|
});
|
|
1311
|
-
var AttachmentCreateQuerySchema =
|
|
1312
|
-
name:
|
|
1337
|
+
var AttachmentCreateQuerySchema = import_zod31.z.object({
|
|
1338
|
+
name: import_zod31.z.string().min(1)
|
|
1313
1339
|
});
|
|
1314
1340
|
|
|
1315
1341
|
// src/contract/resources/documents/documents.ts
|
|
1316
|
-
var bucketAndVaultPathParams =
|
|
1342
|
+
var bucketAndVaultPathParams = import_zod32.z.object({
|
|
1317
1343
|
bucketId: BasecampIdParamSchema,
|
|
1318
1344
|
vaultId: BasecampIdParamSchema
|
|
1319
1345
|
});
|
|
1320
|
-
var bucketAndDocumentPathParams =
|
|
1346
|
+
var bucketAndDocumentPathParams = import_zod32.z.object({
|
|
1321
1347
|
bucketId: BasecampIdParamSchema,
|
|
1322
1348
|
documentId: BasecampIdParamSchema
|
|
1323
1349
|
});
|
|
@@ -1404,12 +1430,12 @@ var documentsRouter = c.router({
|
|
|
1404
1430
|
});
|
|
1405
1431
|
|
|
1406
1432
|
// src/contract/resources/documents/vaults.ts
|
|
1407
|
-
var
|
|
1408
|
-
var bucketAndVaultPathParams2 =
|
|
1433
|
+
var import_zod33 = require("zod");
|
|
1434
|
+
var bucketAndVaultPathParams2 = import_zod33.z.object({
|
|
1409
1435
|
bucketId: BasecampIdParamSchema,
|
|
1410
1436
|
vaultId: BasecampIdParamSchema
|
|
1411
1437
|
});
|
|
1412
|
-
var bucketAndParentVaultPathParams =
|
|
1438
|
+
var bucketAndParentVaultPathParams = import_zod33.z.object({
|
|
1413
1439
|
bucketId: BasecampIdParamSchema,
|
|
1414
1440
|
parentVaultId: BasecampIdParamSchema
|
|
1415
1441
|
});
|
|
@@ -1496,12 +1522,12 @@ var vaultsRouter = c.router({
|
|
|
1496
1522
|
});
|
|
1497
1523
|
|
|
1498
1524
|
// src/contract/resources/documents/uploads.ts
|
|
1499
|
-
var
|
|
1500
|
-
var bucketAndVaultPathParams3 =
|
|
1525
|
+
var import_zod34 = require("zod");
|
|
1526
|
+
var bucketAndVaultPathParams3 = import_zod34.z.object({
|
|
1501
1527
|
bucketId: BasecampIdParamSchema,
|
|
1502
1528
|
vaultId: BasecampIdParamSchema
|
|
1503
1529
|
});
|
|
1504
|
-
var bucketAndUploadPathParams =
|
|
1530
|
+
var bucketAndUploadPathParams = import_zod34.z.object({
|
|
1505
1531
|
bucketId: BasecampIdParamSchema,
|
|
1506
1532
|
uploadId: BasecampIdParamSchema
|
|
1507
1533
|
});
|
|
@@ -1569,6 +1595,29 @@ var uploadsRouter = c.router({
|
|
|
1569
1595
|
200: UploadSchema
|
|
1570
1596
|
}
|
|
1571
1597
|
},
|
|
1598
|
+
download: {
|
|
1599
|
+
summary: "Download an upload",
|
|
1600
|
+
description: "Download the raw file content of an upload.",
|
|
1601
|
+
metadata: {
|
|
1602
|
+
tag: "Uploads",
|
|
1603
|
+
operationId: "uploads.download",
|
|
1604
|
+
docsPath: "/docs/basecamp-api-specs/sections/uploads.md",
|
|
1605
|
+
rawResponse: true
|
|
1606
|
+
},
|
|
1607
|
+
method: "GET",
|
|
1608
|
+
path: "/buckets/:bucketId/uploads/:uploadId/download/:filename",
|
|
1609
|
+
pathParams: import_zod34.z.object({
|
|
1610
|
+
bucketId: BasecampIdParamSchema,
|
|
1611
|
+
uploadId: BasecampIdParamSchema,
|
|
1612
|
+
filename: import_zod34.z.string().min(1)
|
|
1613
|
+
}),
|
|
1614
|
+
responses: {
|
|
1615
|
+
200: c.otherResponse({
|
|
1616
|
+
contentType: "application/octet-stream",
|
|
1617
|
+
body: c.type()
|
|
1618
|
+
})
|
|
1619
|
+
}
|
|
1620
|
+
},
|
|
1572
1621
|
trash: {
|
|
1573
1622
|
summary: "Trash an upload",
|
|
1574
1623
|
description: "Move an upload recording to the trash. Trashed items can be restored via the UI.",
|
|
@@ -1608,26 +1657,26 @@ var attachmentsRouter = c.router({
|
|
|
1608
1657
|
});
|
|
1609
1658
|
|
|
1610
1659
|
// src/contract/resources/events.ts
|
|
1611
|
-
var
|
|
1660
|
+
var import_zod36 = require("zod");
|
|
1612
1661
|
|
|
1613
1662
|
// src/contract/schemas/events.ts
|
|
1614
|
-
var
|
|
1615
|
-
var EventDetailsSchema =
|
|
1616
|
-
var RecordingEventSchema =
|
|
1663
|
+
var import_zod35 = require("zod");
|
|
1664
|
+
var EventDetailsSchema = import_zod35.z.object({}).passthrough();
|
|
1665
|
+
var RecordingEventSchema = import_zod35.z.object({
|
|
1617
1666
|
id: BasecampIdSchema,
|
|
1618
1667
|
recording_id: BasecampIdSchema,
|
|
1619
|
-
action:
|
|
1668
|
+
action: import_zod35.z.string(),
|
|
1620
1669
|
details: EventDetailsSchema,
|
|
1621
1670
|
created_at: IsoDateTimeSchema,
|
|
1622
1671
|
creator: PersonSummarySchema
|
|
1623
1672
|
});
|
|
1624
|
-
var RecordingEventListResponseSchema =
|
|
1625
|
-
var RecordingEventListQuerySchema =
|
|
1626
|
-
page:
|
|
1673
|
+
var RecordingEventListResponseSchema = import_zod35.z.array(RecordingEventSchema);
|
|
1674
|
+
var RecordingEventListQuerySchema = import_zod35.z.object({
|
|
1675
|
+
page: import_zod35.z.coerce.number().int().positive().optional()
|
|
1627
1676
|
});
|
|
1628
1677
|
|
|
1629
1678
|
// src/contract/resources/events.ts
|
|
1630
|
-
var RecordingEventsPathParamsSchema =
|
|
1679
|
+
var RecordingEventsPathParamsSchema = import_zod36.z.object({
|
|
1631
1680
|
bucketId: BasecampIdParamSchema,
|
|
1632
1681
|
recordingId: BasecampIdParamSchema
|
|
1633
1682
|
});
|
|
@@ -1651,23 +1700,23 @@ var eventsRouter = c.router({
|
|
|
1651
1700
|
});
|
|
1652
1701
|
|
|
1653
1702
|
// src/contract/resources/lineup-markers.ts
|
|
1654
|
-
var
|
|
1703
|
+
var import_zod38 = require("zod");
|
|
1655
1704
|
|
|
1656
1705
|
// src/contract/schemas/lineup-markers.ts
|
|
1657
|
-
var
|
|
1658
|
-
var LineupMarkerCreateBodySchema =
|
|
1659
|
-
name:
|
|
1706
|
+
var import_zod37 = require("zod");
|
|
1707
|
+
var LineupMarkerCreateBodySchema = import_zod37.z.object({
|
|
1708
|
+
name: import_zod37.z.string().min(1),
|
|
1660
1709
|
date: IsoDateSchema
|
|
1661
1710
|
});
|
|
1662
|
-
var LineupMarkerUpdateBodySchema =
|
|
1663
|
-
name:
|
|
1711
|
+
var LineupMarkerUpdateBodySchema = import_zod37.z.object({
|
|
1712
|
+
name: import_zod37.z.string().min(1).optional(),
|
|
1664
1713
|
date: IsoDateSchema.optional()
|
|
1665
1714
|
}).refine((value) => value.name !== void 0 || value.date !== void 0, {
|
|
1666
1715
|
message: "Either name or date must be provided."
|
|
1667
1716
|
});
|
|
1668
1717
|
|
|
1669
1718
|
// src/contract/resources/lineup-markers.ts
|
|
1670
|
-
var LineupMarkerPathParamsSchema =
|
|
1719
|
+
var LineupMarkerPathParamsSchema = import_zod38.z.object({
|
|
1671
1720
|
markerId: BasecampIdParamSchema
|
|
1672
1721
|
});
|
|
1673
1722
|
var lineupMarkersRouter = c.router({
|
|
@@ -1721,25 +1770,25 @@ var lineupMarkersRouter = c.router({
|
|
|
1721
1770
|
});
|
|
1722
1771
|
|
|
1723
1772
|
// src/contract/resources/people.ts
|
|
1724
|
-
var
|
|
1773
|
+
var import_zod40 = require("zod");
|
|
1725
1774
|
|
|
1726
1775
|
// src/contract/schemas/people.ts
|
|
1727
|
-
var
|
|
1776
|
+
var import_zod39 = require("zod");
|
|
1728
1777
|
var PersonSchema = PersonSummarySchema;
|
|
1729
|
-
var PeopleListQuerySchema =
|
|
1730
|
-
page:
|
|
1731
|
-
});
|
|
1732
|
-
var PeopleListResponseSchema =
|
|
1733
|
-
var ProjectAccessCreateEntrySchema =
|
|
1734
|
-
name:
|
|
1735
|
-
email_address:
|
|
1736
|
-
title:
|
|
1737
|
-
company_name:
|
|
1738
|
-
});
|
|
1739
|
-
var ProjectPeopleAccessBodySchema =
|
|
1740
|
-
grant:
|
|
1741
|
-
revoke:
|
|
1742
|
-
create:
|
|
1778
|
+
var PeopleListQuerySchema = import_zod39.z.object({
|
|
1779
|
+
page: import_zod39.z.coerce.number().int().positive().optional()
|
|
1780
|
+
});
|
|
1781
|
+
var PeopleListResponseSchema = import_zod39.z.array(PersonSchema);
|
|
1782
|
+
var ProjectAccessCreateEntrySchema = import_zod39.z.object({
|
|
1783
|
+
name: import_zod39.z.string().min(1),
|
|
1784
|
+
email_address: import_zod39.z.string().email(),
|
|
1785
|
+
title: import_zod39.z.string().optional(),
|
|
1786
|
+
company_name: import_zod39.z.string().optional()
|
|
1787
|
+
});
|
|
1788
|
+
var ProjectPeopleAccessBodySchema = import_zod39.z.object({
|
|
1789
|
+
grant: import_zod39.z.array(BasecampIdSchema).min(1).optional(),
|
|
1790
|
+
revoke: import_zod39.z.array(BasecampIdSchema).min(1).optional(),
|
|
1791
|
+
create: import_zod39.z.array(ProjectAccessCreateEntrySchema).min(1).optional()
|
|
1743
1792
|
}).refine(
|
|
1744
1793
|
(value) => value.grant !== void 0 || value.revoke !== void 0 || value.create !== void 0,
|
|
1745
1794
|
{
|
|
@@ -1747,16 +1796,16 @@ var ProjectPeopleAccessBodySchema = import_zod38.z.object({
|
|
|
1747
1796
|
path: ["grant"]
|
|
1748
1797
|
}
|
|
1749
1798
|
);
|
|
1750
|
-
var ProjectPeopleAccessResponseSchema =
|
|
1751
|
-
granted:
|
|
1752
|
-
revoked:
|
|
1799
|
+
var ProjectPeopleAccessResponseSchema = import_zod39.z.object({
|
|
1800
|
+
granted: import_zod39.z.array(PersonSchema),
|
|
1801
|
+
revoked: import_zod39.z.array(PersonSchema)
|
|
1753
1802
|
});
|
|
1754
1803
|
|
|
1755
1804
|
// src/contract/resources/people.ts
|
|
1756
|
-
var ProjectPathParamsSchema =
|
|
1805
|
+
var ProjectPathParamsSchema = import_zod40.z.object({
|
|
1757
1806
|
projectId: BasecampIdParamSchema
|
|
1758
1807
|
});
|
|
1759
|
-
var PersonPathParamsSchema =
|
|
1808
|
+
var PersonPathParamsSchema = import_zod40.z.object({
|
|
1760
1809
|
personId: BasecampIdParamSchema
|
|
1761
1810
|
});
|
|
1762
1811
|
var peopleRouter = c.router({
|
|
@@ -1852,59 +1901,59 @@ var peopleRouter = c.router({
|
|
|
1852
1901
|
});
|
|
1853
1902
|
|
|
1854
1903
|
// src/contract/resources/projects.ts
|
|
1855
|
-
var
|
|
1904
|
+
var import_zod42 = require("zod");
|
|
1856
1905
|
|
|
1857
1906
|
// src/contract/schemas/projects.ts
|
|
1858
|
-
var
|
|
1859
|
-
var ProjectDockEntrySchema =
|
|
1907
|
+
var import_zod41 = require("zod");
|
|
1908
|
+
var ProjectDockEntrySchema = import_zod41.z.object({
|
|
1860
1909
|
id: BasecampIdSchema,
|
|
1861
|
-
title:
|
|
1862
|
-
name:
|
|
1863
|
-
enabled:
|
|
1864
|
-
position:
|
|
1865
|
-
url:
|
|
1866
|
-
app_url:
|
|
1867
|
-
});
|
|
1868
|
-
var ProjectClientCompanySchema =
|
|
1910
|
+
title: import_zod41.z.string(),
|
|
1911
|
+
name: import_zod41.z.string(),
|
|
1912
|
+
enabled: import_zod41.z.boolean(),
|
|
1913
|
+
position: import_zod41.z.number().int().nullable(),
|
|
1914
|
+
url: import_zod41.z.string().url(),
|
|
1915
|
+
app_url: import_zod41.z.string().url()
|
|
1916
|
+
});
|
|
1917
|
+
var ProjectClientCompanySchema = import_zod41.z.object({
|
|
1869
1918
|
id: BasecampIdSchema,
|
|
1870
|
-
name:
|
|
1919
|
+
name: import_zod41.z.string()
|
|
1871
1920
|
});
|
|
1872
|
-
var ProjectClientsideSchema =
|
|
1873
|
-
url:
|
|
1874
|
-
app_url:
|
|
1921
|
+
var ProjectClientsideSchema = import_zod41.z.object({
|
|
1922
|
+
url: import_zod41.z.string().url(),
|
|
1923
|
+
app_url: import_zod41.z.string().url()
|
|
1875
1924
|
});
|
|
1876
|
-
var ProjectStatusSchema =
|
|
1877
|
-
var ProjectCoreSchema =
|
|
1925
|
+
var ProjectStatusSchema = import_zod41.z.enum(["active", "archived", "trashed"]).or(import_zod41.z.string());
|
|
1926
|
+
var ProjectCoreSchema = import_zod41.z.object({
|
|
1878
1927
|
id: BasecampIdSchema,
|
|
1879
1928
|
status: ProjectStatusSchema,
|
|
1880
1929
|
created_at: IsoDateTimeSchema,
|
|
1881
1930
|
updated_at: IsoDateTimeSchema,
|
|
1882
|
-
name:
|
|
1931
|
+
name: import_zod41.z.string(),
|
|
1883
1932
|
description: HtmlStringSchema.nullable().optional(),
|
|
1884
|
-
purpose:
|
|
1885
|
-
clients_enabled:
|
|
1886
|
-
bookmark_url:
|
|
1887
|
-
url:
|
|
1888
|
-
app_url:
|
|
1889
|
-
dock:
|
|
1933
|
+
purpose: import_zod41.z.string(),
|
|
1934
|
+
clients_enabled: import_zod41.z.boolean(),
|
|
1935
|
+
bookmark_url: import_zod41.z.string().url(),
|
|
1936
|
+
url: import_zod41.z.string().url(),
|
|
1937
|
+
app_url: import_zod41.z.string().url(),
|
|
1938
|
+
dock: import_zod41.z.array(ProjectDockEntrySchema),
|
|
1890
1939
|
client_company: ProjectClientCompanySchema.optional(),
|
|
1891
1940
|
clientside: ProjectClientsideSchema.optional()
|
|
1892
1941
|
});
|
|
1893
1942
|
var ProjectSchema = ProjectCoreSchema.extend({
|
|
1894
|
-
bookmarked:
|
|
1943
|
+
bookmarked: import_zod41.z.boolean().optional()
|
|
1895
1944
|
});
|
|
1896
|
-
var ProjectListResponseSchema =
|
|
1897
|
-
var ProjectListQuerySchema =
|
|
1898
|
-
status:
|
|
1899
|
-
page:
|
|
1945
|
+
var ProjectListResponseSchema = import_zod41.z.array(ProjectSchema);
|
|
1946
|
+
var ProjectListQuerySchema = import_zod41.z.object({
|
|
1947
|
+
status: import_zod41.z.enum(["active", "archived", "trashed"]).or(import_zod41.z.string()).optional(),
|
|
1948
|
+
page: import_zod41.z.coerce.number().int().positive().optional()
|
|
1900
1949
|
});
|
|
1901
|
-
var ProjectCreateBodySchema =
|
|
1902
|
-
name:
|
|
1950
|
+
var ProjectCreateBodySchema = import_zod41.z.object({
|
|
1951
|
+
name: import_zod41.z.string().min(1),
|
|
1903
1952
|
description: HtmlStringSchema.nullable().optional()
|
|
1904
1953
|
});
|
|
1905
|
-
var ScheduleAttributesSchema =
|
|
1906
|
-
start_date:
|
|
1907
|
-
end_date:
|
|
1954
|
+
var ScheduleAttributesSchema = import_zod41.z.object({
|
|
1955
|
+
start_date: import_zod41.z.string().date().optional(),
|
|
1956
|
+
end_date: import_zod41.z.string().date().optional()
|
|
1908
1957
|
}).refine(
|
|
1909
1958
|
(value) => value.start_date === void 0 && value.end_date === void 0 || value.start_date !== void 0 && value.end_date !== void 0,
|
|
1910
1959
|
{
|
|
@@ -1912,15 +1961,15 @@ var ScheduleAttributesSchema = import_zod40.z.object({
|
|
|
1912
1961
|
path: ["end_date"]
|
|
1913
1962
|
}
|
|
1914
1963
|
);
|
|
1915
|
-
var ProjectUpdateBodySchema =
|
|
1916
|
-
name:
|
|
1964
|
+
var ProjectUpdateBodySchema = import_zod41.z.object({
|
|
1965
|
+
name: import_zod41.z.string().min(1),
|
|
1917
1966
|
description: HtmlStringSchema.nullable().optional(),
|
|
1918
|
-
admissions:
|
|
1967
|
+
admissions: import_zod41.z.enum(["invite", "employee", "team"]).or(import_zod41.z.string()).optional(),
|
|
1919
1968
|
schedule_attributes: ScheduleAttributesSchema.optional()
|
|
1920
1969
|
});
|
|
1921
1970
|
|
|
1922
1971
|
// src/contract/resources/projects.ts
|
|
1923
|
-
var ProjectPathParamsSchema2 =
|
|
1972
|
+
var ProjectPathParamsSchema2 = import_zod42.z.object({
|
|
1924
1973
|
projectId: BasecampIdParamSchema
|
|
1925
1974
|
});
|
|
1926
1975
|
var projectsRouter = c.router({
|
|
@@ -1967,8 +2016,8 @@ var projectsRouter = c.router({
|
|
|
1967
2016
|
body: ProjectCreateBodySchema,
|
|
1968
2017
|
responses: {
|
|
1969
2018
|
201: ProjectSchema,
|
|
1970
|
-
507:
|
|
1971
|
-
error:
|
|
2019
|
+
507: import_zod42.z.object({
|
|
2020
|
+
error: import_zod42.z.string()
|
|
1972
2021
|
})
|
|
1973
2022
|
}
|
|
1974
2023
|
},
|
|
@@ -2007,8 +2056,8 @@ var projectsRouter = c.router({
|
|
|
2007
2056
|
});
|
|
2008
2057
|
|
|
2009
2058
|
// src/contract/resources/recordings.ts
|
|
2010
|
-
var
|
|
2011
|
-
var BucketRecordingPathParamsSchema =
|
|
2059
|
+
var import_zod43 = require("zod");
|
|
2060
|
+
var BucketRecordingPathParamsSchema = import_zod43.z.object({
|
|
2012
2061
|
bucketId: BasecampIdParamSchema,
|
|
2013
2062
|
recordingId: BasecampIdParamSchema
|
|
2014
2063
|
});
|
|
@@ -2079,14 +2128,14 @@ var recordingsRouter = c.router({
|
|
|
2079
2128
|
});
|
|
2080
2129
|
|
|
2081
2130
|
// src/contract/resources/kanban/card-tables.ts
|
|
2082
|
-
var
|
|
2131
|
+
var import_zod49 = require("zod");
|
|
2083
2132
|
|
|
2084
2133
|
// src/contract/schemas/kanban/card-tables.ts
|
|
2085
|
-
var
|
|
2134
|
+
var import_zod46 = require("zod");
|
|
2086
2135
|
|
|
2087
2136
|
// src/contract/schemas/kanban/common.ts
|
|
2088
|
-
var
|
|
2089
|
-
var KanbanColumnColorSchema =
|
|
2137
|
+
var import_zod44 = require("zod");
|
|
2138
|
+
var KanbanColumnColorSchema = import_zod44.z.enum([
|
|
2090
2139
|
"white",
|
|
2091
2140
|
"red",
|
|
2092
2141
|
"orange",
|
|
@@ -2098,22 +2147,22 @@ var KanbanColumnColorSchema = import_zod43.z.enum([
|
|
|
2098
2147
|
"gray",
|
|
2099
2148
|
"pink",
|
|
2100
2149
|
"brown"
|
|
2101
|
-
]).or(
|
|
2150
|
+
]).or(import_zod44.z.string());
|
|
2102
2151
|
|
|
2103
2152
|
// src/contract/schemas/kanban/columns.ts
|
|
2104
|
-
var
|
|
2153
|
+
var import_zod45 = require("zod");
|
|
2105
2154
|
var CardTableColumnSchema = RecordingBaseSchema.extend({
|
|
2106
|
-
type:
|
|
2155
|
+
type: import_zod45.z.enum(["Kanban::Column", "Kanban::Triage", "Kanban::NotNowColumn", "Kanban::DoneColumn"]),
|
|
2107
2156
|
description: HtmlStringSchema.nullable().optional(),
|
|
2108
|
-
subscribers:
|
|
2157
|
+
subscribers: import_zod45.z.array(PersonSummarySchema),
|
|
2109
2158
|
color: KanbanColumnColorSchema.nullable().optional(),
|
|
2110
|
-
cards_count:
|
|
2111
|
-
comment_count:
|
|
2112
|
-
cards_url:
|
|
2113
|
-
on_hold:
|
|
2159
|
+
cards_count: import_zod45.z.number().int().nonnegative().optional(),
|
|
2160
|
+
comment_count: import_zod45.z.number().int().nonnegative().optional(),
|
|
2161
|
+
cards_url: import_zod45.z.string().url(),
|
|
2162
|
+
on_hold: import_zod45.z.unknown().optional()
|
|
2114
2163
|
});
|
|
2115
|
-
var CardTableColumnCreateBodySchema =
|
|
2116
|
-
title:
|
|
2164
|
+
var CardTableColumnCreateBodySchema = import_zod45.z.object({
|
|
2165
|
+
title: import_zod45.z.string().min(1),
|
|
2117
2166
|
description: HtmlStringSchema.nullable().optional()
|
|
2118
2167
|
});
|
|
2119
2168
|
var CardTableColumnUpdateBodySchema = CardTableColumnCreateBodySchema.partial().refine(
|
|
@@ -2122,41 +2171,41 @@ var CardTableColumnUpdateBodySchema = CardTableColumnCreateBodySchema.partial().
|
|
|
2122
2171
|
message: "At least one field must be provided to update a column."
|
|
2123
2172
|
}
|
|
2124
2173
|
);
|
|
2125
|
-
var CardTableColumnMoveBodySchema =
|
|
2174
|
+
var CardTableColumnMoveBodySchema = import_zod45.z.object({
|
|
2126
2175
|
source_id: BasecampIdSchema,
|
|
2127
2176
|
target_id: BasecampIdSchema,
|
|
2128
|
-
position:
|
|
2177
|
+
position: import_zod45.z.number().int().positive().optional()
|
|
2129
2178
|
});
|
|
2130
|
-
var CardTableColumnColorBodySchema =
|
|
2179
|
+
var CardTableColumnColorBodySchema = import_zod45.z.object({
|
|
2131
2180
|
color: KanbanColumnColorSchema
|
|
2132
2181
|
});
|
|
2133
2182
|
|
|
2134
2183
|
// src/contract/schemas/kanban/card-tables.ts
|
|
2135
2184
|
var CardTableSchema = RecordingBaseSchema.extend({
|
|
2136
|
-
type:
|
|
2137
|
-
subscribers:
|
|
2138
|
-
public_link_url:
|
|
2139
|
-
lists:
|
|
2185
|
+
type: import_zod46.z.literal("Kanban::Board"),
|
|
2186
|
+
subscribers: import_zod46.z.array(PersonSummarySchema),
|
|
2187
|
+
public_link_url: import_zod46.z.string().url().optional(),
|
|
2188
|
+
lists: import_zod46.z.array(CardTableColumnSchema)
|
|
2140
2189
|
});
|
|
2141
2190
|
|
|
2142
2191
|
// src/contract/schemas/kanban/cards.ts
|
|
2143
|
-
var
|
|
2192
|
+
var import_zod48 = require("zod");
|
|
2144
2193
|
|
|
2145
2194
|
// src/contract/schemas/kanban/steps.ts
|
|
2146
|
-
var
|
|
2195
|
+
var import_zod47 = require("zod");
|
|
2147
2196
|
var CardTableStepSchema = RecordingBaseSchema.extend({
|
|
2148
|
-
type:
|
|
2149
|
-
completed:
|
|
2197
|
+
type: import_zod47.z.literal("Kanban::Step"),
|
|
2198
|
+
completed: import_zod47.z.boolean(),
|
|
2150
2199
|
due_on: IsoDateSchema.nullable().optional(),
|
|
2151
|
-
assignees:
|
|
2152
|
-
completion_url:
|
|
2153
|
-
completion_subscribers:
|
|
2200
|
+
assignees: import_zod47.z.array(PersonSummarySchema),
|
|
2201
|
+
completion_url: import_zod47.z.string().min(1),
|
|
2202
|
+
completion_subscribers: import_zod47.z.array(PersonSummarySchema).optional(),
|
|
2154
2203
|
description: HtmlStringSchema.nullable().optional()
|
|
2155
2204
|
});
|
|
2156
|
-
var CardTableStepCreateBodySchema =
|
|
2157
|
-
title:
|
|
2205
|
+
var CardTableStepCreateBodySchema = import_zod47.z.object({
|
|
2206
|
+
title: import_zod47.z.string().min(1),
|
|
2158
2207
|
due_on: IsoDateSchema.optional(),
|
|
2159
|
-
assignees:
|
|
2208
|
+
assignees: import_zod47.z.string().optional()
|
|
2160
2209
|
});
|
|
2161
2210
|
var CardTableStepUpdateBodySchema = CardTableStepCreateBodySchema.partial().refine(
|
|
2162
2211
|
(value) => value.title !== void 0 || value.due_on !== void 0 || value.assignees !== void 0,
|
|
@@ -2164,57 +2213,57 @@ var CardTableStepUpdateBodySchema = CardTableStepCreateBodySchema.partial().refi
|
|
|
2164
2213
|
message: "At least one field must be provided to update a step."
|
|
2165
2214
|
}
|
|
2166
2215
|
);
|
|
2167
|
-
var CardTableStepCompletionBodySchema =
|
|
2168
|
-
completion:
|
|
2216
|
+
var CardTableStepCompletionBodySchema = import_zod47.z.object({
|
|
2217
|
+
completion: import_zod47.z.enum(["on", "off"])
|
|
2169
2218
|
});
|
|
2170
|
-
var CardTableStepRepositionBodySchema =
|
|
2219
|
+
var CardTableStepRepositionBodySchema = import_zod47.z.object({
|
|
2171
2220
|
source_id: BasecampIdSchema,
|
|
2172
|
-
position:
|
|
2221
|
+
position: import_zod47.z.number().int().nonnegative()
|
|
2173
2222
|
});
|
|
2174
2223
|
|
|
2175
2224
|
// src/contract/schemas/kanban/cards.ts
|
|
2176
2225
|
var CardTableCardSchema = RecordingBaseSchema.extend({
|
|
2177
|
-
type:
|
|
2226
|
+
type: import_zod48.z.literal("Kanban::Card"),
|
|
2178
2227
|
description: HtmlStringSchema.nullable().optional(),
|
|
2179
|
-
completed:
|
|
2228
|
+
completed: import_zod48.z.boolean(),
|
|
2180
2229
|
content: HtmlStringSchema.nullable().optional(),
|
|
2181
2230
|
due_on: IsoDateSchema.nullable().optional(),
|
|
2182
|
-
comment_count:
|
|
2183
|
-
assignees:
|
|
2184
|
-
completion_subscribers:
|
|
2185
|
-
completion_url:
|
|
2186
|
-
steps:
|
|
2187
|
-
});
|
|
2188
|
-
var CardTableCardListResponseSchema =
|
|
2189
|
-
var CardTableCardListQuerySchema =
|
|
2190
|
-
page:
|
|
2191
|
-
});
|
|
2192
|
-
var CardTableCardCreateBodySchema =
|
|
2193
|
-
title:
|
|
2231
|
+
comment_count: import_zod48.z.number().int().nonnegative().optional(),
|
|
2232
|
+
assignees: import_zod48.z.array(PersonSummarySchema),
|
|
2233
|
+
completion_subscribers: import_zod48.z.array(PersonSummarySchema),
|
|
2234
|
+
completion_url: import_zod48.z.string().min(1),
|
|
2235
|
+
steps: import_zod48.z.array(CardTableStepSchema).optional()
|
|
2236
|
+
});
|
|
2237
|
+
var CardTableCardListResponseSchema = import_zod48.z.array(CardTableCardSchema);
|
|
2238
|
+
var CardTableCardListQuerySchema = import_zod48.z.object({
|
|
2239
|
+
page: import_zod48.z.coerce.number().int().positive().optional()
|
|
2240
|
+
});
|
|
2241
|
+
var CardTableCardCreateBodySchema = import_zod48.z.object({
|
|
2242
|
+
title: import_zod48.z.string().min(1),
|
|
2194
2243
|
content: HtmlStringSchema.nullable().optional(),
|
|
2195
2244
|
due_on: IsoDateSchema.optional(),
|
|
2196
|
-
notify:
|
|
2197
|
-
assignee_ids:
|
|
2245
|
+
notify: import_zod48.z.boolean().optional(),
|
|
2246
|
+
assignee_ids: import_zod48.z.array(BasecampIdSchema).optional()
|
|
2198
2247
|
});
|
|
2199
|
-
var CardTableCardUpdateBodySchema =
|
|
2200
|
-
title:
|
|
2248
|
+
var CardTableCardUpdateBodySchema = import_zod48.z.object({
|
|
2249
|
+
title: import_zod48.z.string().min(1).optional(),
|
|
2201
2250
|
content: HtmlStringSchema.nullable().optional(),
|
|
2202
2251
|
due_on: IsoDateSchema.nullable().optional(),
|
|
2203
|
-
assignee_ids:
|
|
2204
|
-
notify:
|
|
2252
|
+
assignee_ids: import_zod48.z.array(BasecampIdSchema).optional(),
|
|
2253
|
+
notify: import_zod48.z.boolean().optional()
|
|
2205
2254
|
}).refine(
|
|
2206
2255
|
(value) => value.title !== void 0 || value.content !== void 0 || value.due_on !== void 0 || value.assignee_ids !== void 0 || value.notify !== void 0,
|
|
2207
2256
|
{
|
|
2208
2257
|
message: "At least one field must be provided to update a card."
|
|
2209
2258
|
}
|
|
2210
2259
|
);
|
|
2211
|
-
var CardTableCardMoveBodySchema =
|
|
2260
|
+
var CardTableCardMoveBodySchema = import_zod48.z.object({
|
|
2212
2261
|
column_id: BasecampIdSchema,
|
|
2213
|
-
position:
|
|
2262
|
+
position: import_zod48.z.number().int().positive().optional()
|
|
2214
2263
|
});
|
|
2215
2264
|
|
|
2216
2265
|
// src/contract/resources/kanban/card-tables.ts
|
|
2217
|
-
var cardTablePathParams =
|
|
2266
|
+
var cardTablePathParams = import_zod49.z.object({
|
|
2218
2267
|
bucketId: BasecampIdParamSchema,
|
|
2219
2268
|
cardTableId: BasecampIdParamSchema
|
|
2220
2269
|
});
|
|
@@ -2237,8 +2286,8 @@ var cardTablesRouter = c.router({
|
|
|
2237
2286
|
});
|
|
2238
2287
|
|
|
2239
2288
|
// src/contract/resources/kanban/columns.ts
|
|
2240
|
-
var
|
|
2241
|
-
var bucketParams =
|
|
2289
|
+
var import_zod50 = require("zod");
|
|
2290
|
+
var bucketParams = import_zod50.z.object({
|
|
2242
2291
|
bucketId: BasecampIdParamSchema
|
|
2243
2292
|
});
|
|
2244
2293
|
var bucketAndCardTableParams = bucketParams.extend({
|
|
@@ -2394,8 +2443,8 @@ var cardTableColumnsRouter = c.router({
|
|
|
2394
2443
|
});
|
|
2395
2444
|
|
|
2396
2445
|
// src/contract/resources/kanban/cards.ts
|
|
2397
|
-
var
|
|
2398
|
-
var bucketParams2 =
|
|
2446
|
+
var import_zod51 = require("zod");
|
|
2447
|
+
var bucketParams2 = import_zod51.z.object({
|
|
2399
2448
|
bucketId: BasecampIdParamSchema
|
|
2400
2449
|
});
|
|
2401
2450
|
var bucketAndColumnParams2 = bucketParams2.extend({
|
|
@@ -2487,8 +2536,8 @@ var cardTableCardsRouter = c.router({
|
|
|
2487
2536
|
});
|
|
2488
2537
|
|
|
2489
2538
|
// src/contract/resources/kanban/steps.ts
|
|
2490
|
-
var
|
|
2491
|
-
var bucketParams3 =
|
|
2539
|
+
var import_zod52 = require("zod");
|
|
2540
|
+
var bucketParams3 = import_zod52.z.object({
|
|
2492
2541
|
bucketId: BasecampIdParamSchema
|
|
2493
2542
|
});
|
|
2494
2543
|
var bucketAndCardParams2 = bucketParams3.extend({
|
|
@@ -2565,22 +2614,22 @@ var cardTableStepsRouter = c.router({
|
|
|
2565
2614
|
});
|
|
2566
2615
|
|
|
2567
2616
|
// src/contract/resources/scheduling/schedules.ts
|
|
2568
|
-
var
|
|
2617
|
+
var import_zod54 = require("zod");
|
|
2569
2618
|
|
|
2570
2619
|
// src/contract/schemas/scheduling/schedules.ts
|
|
2571
|
-
var
|
|
2620
|
+
var import_zod53 = require("zod");
|
|
2572
2621
|
var ScheduleSchema = RecordingBaseSchema.extend({
|
|
2573
|
-
type:
|
|
2574
|
-
include_due_assignments:
|
|
2575
|
-
entries_count:
|
|
2576
|
-
entries_url:
|
|
2622
|
+
type: import_zod53.z.literal("Schedule"),
|
|
2623
|
+
include_due_assignments: import_zod53.z.boolean(),
|
|
2624
|
+
entries_count: import_zod53.z.number().int(),
|
|
2625
|
+
entries_url: import_zod53.z.string().url()
|
|
2577
2626
|
});
|
|
2578
|
-
var ScheduleUpdateBodySchema =
|
|
2579
|
-
include_due_assignments:
|
|
2627
|
+
var ScheduleUpdateBodySchema = import_zod53.z.object({
|
|
2628
|
+
include_due_assignments: import_zod53.z.boolean()
|
|
2580
2629
|
});
|
|
2581
2630
|
|
|
2582
2631
|
// src/contract/resources/scheduling/schedules.ts
|
|
2583
|
-
var bucketAndSchedulePathParams =
|
|
2632
|
+
var bucketAndSchedulePathParams = import_zod54.z.object({
|
|
2584
2633
|
bucketId: BasecampIdParamSchema,
|
|
2585
2634
|
scheduleId: BasecampIdParamSchema
|
|
2586
2635
|
});
|
|
@@ -2619,68 +2668,68 @@ var schedulesRouter = c.router({
|
|
|
2619
2668
|
});
|
|
2620
2669
|
|
|
2621
2670
|
// src/contract/resources/scheduling/schedule-entries.ts
|
|
2622
|
-
var
|
|
2671
|
+
var import_zod56 = require("zod");
|
|
2623
2672
|
|
|
2624
2673
|
// src/contract/schemas/scheduling/schedule-entries.ts
|
|
2625
|
-
var
|
|
2626
|
-
var RecurrenceScheduleSchema =
|
|
2627
|
-
frequency:
|
|
2628
|
-
days:
|
|
2629
|
-
hour:
|
|
2630
|
-
minute:
|
|
2631
|
-
week_instance:
|
|
2632
|
-
week_interval:
|
|
2633
|
-
month_interval:
|
|
2634
|
-
start_date:
|
|
2635
|
-
end_date:
|
|
2674
|
+
var import_zod55 = require("zod");
|
|
2675
|
+
var RecurrenceScheduleSchema = import_zod55.z.object({
|
|
2676
|
+
frequency: import_zod55.z.string(),
|
|
2677
|
+
days: import_zod55.z.array(import_zod55.z.number().int()),
|
|
2678
|
+
hour: import_zod55.z.number().int(),
|
|
2679
|
+
minute: import_zod55.z.number().int(),
|
|
2680
|
+
week_instance: import_zod55.z.number().int().nullable(),
|
|
2681
|
+
week_interval: import_zod55.z.number().int().nullable(),
|
|
2682
|
+
month_interval: import_zod55.z.number().int().nullable(),
|
|
2683
|
+
start_date: import_zod55.z.string(),
|
|
2684
|
+
end_date: import_zod55.z.string().nullable()
|
|
2636
2685
|
});
|
|
2637
2686
|
var ScheduleEntrySchema = RecordingBaseSchema.extend({
|
|
2638
|
-
type:
|
|
2687
|
+
type: import_zod55.z.literal("Schedule::Entry"),
|
|
2639
2688
|
description: HtmlStringSchema,
|
|
2640
|
-
summary:
|
|
2641
|
-
all_day:
|
|
2642
|
-
starts_at:
|
|
2643
|
-
ends_at:
|
|
2644
|
-
participants:
|
|
2689
|
+
summary: import_zod55.z.string(),
|
|
2690
|
+
all_day: import_zod55.z.boolean(),
|
|
2691
|
+
starts_at: import_zod55.z.string(),
|
|
2692
|
+
ends_at: import_zod55.z.string(),
|
|
2693
|
+
participants: import_zod55.z.array(PersonSummarySchema),
|
|
2645
2694
|
recurrence_schedule: RecurrenceScheduleSchema.optional()
|
|
2646
2695
|
});
|
|
2647
|
-
var ScheduleEntryListResponseSchema =
|
|
2648
|
-
var ScheduleEntryListQuerySchema =
|
|
2696
|
+
var ScheduleEntryListResponseSchema = import_zod55.z.array(ScheduleEntrySchema);
|
|
2697
|
+
var ScheduleEntryListQuerySchema = import_zod55.z.object({
|
|
2649
2698
|
status: RecordingStatusSchema.optional(),
|
|
2650
|
-
page:
|
|
2699
|
+
page: import_zod55.z.coerce.number().int().positive().optional()
|
|
2651
2700
|
});
|
|
2652
|
-
var ScheduleEntryCreateBodySchema =
|
|
2653
|
-
summary:
|
|
2654
|
-
starts_at:
|
|
2655
|
-
ends_at:
|
|
2701
|
+
var ScheduleEntryCreateBodySchema = import_zod55.z.object({
|
|
2702
|
+
summary: import_zod55.z.string(),
|
|
2703
|
+
starts_at: import_zod55.z.string(),
|
|
2704
|
+
ends_at: import_zod55.z.string(),
|
|
2656
2705
|
description: HtmlStringSchema.optional(),
|
|
2657
|
-
participant_ids:
|
|
2658
|
-
all_day:
|
|
2659
|
-
notify:
|
|
2660
|
-
});
|
|
2661
|
-
var ScheduleEntryUpdateBodySchema =
|
|
2662
|
-
summary:
|
|
2663
|
-
starts_at:
|
|
2664
|
-
ends_at:
|
|
2706
|
+
participant_ids: import_zod55.z.array(BasecampIdSchema).optional(),
|
|
2707
|
+
all_day: import_zod55.z.boolean().optional(),
|
|
2708
|
+
notify: import_zod55.z.boolean().optional()
|
|
2709
|
+
});
|
|
2710
|
+
var ScheduleEntryUpdateBodySchema = import_zod55.z.object({
|
|
2711
|
+
summary: import_zod55.z.string().optional(),
|
|
2712
|
+
starts_at: import_zod55.z.string().optional(),
|
|
2713
|
+
ends_at: import_zod55.z.string().optional(),
|
|
2665
2714
|
description: HtmlStringSchema.optional(),
|
|
2666
|
-
participant_ids:
|
|
2667
|
-
all_day:
|
|
2668
|
-
notify:
|
|
2715
|
+
participant_ids: import_zod55.z.array(BasecampIdSchema).optional(),
|
|
2716
|
+
all_day: import_zod55.z.boolean().optional(),
|
|
2717
|
+
notify: import_zod55.z.boolean().optional()
|
|
2669
2718
|
});
|
|
2670
2719
|
|
|
2671
2720
|
// src/contract/resources/scheduling/schedule-entries.ts
|
|
2672
|
-
var bucketAndSchedulePathParams2 =
|
|
2721
|
+
var bucketAndSchedulePathParams2 = import_zod56.z.object({
|
|
2673
2722
|
bucketId: BasecampIdParamSchema,
|
|
2674
2723
|
scheduleId: BasecampIdParamSchema
|
|
2675
2724
|
});
|
|
2676
|
-
var bucketAndEntryPathParams =
|
|
2725
|
+
var bucketAndEntryPathParams = import_zod56.z.object({
|
|
2677
2726
|
bucketId: BasecampIdParamSchema,
|
|
2678
2727
|
scheduleEntryId: BasecampIdParamSchema
|
|
2679
2728
|
});
|
|
2680
|
-
var bucketEntryOccurrencePathParams =
|
|
2729
|
+
var bucketEntryOccurrencePathParams = import_zod56.z.object({
|
|
2681
2730
|
bucketId: BasecampIdParamSchema,
|
|
2682
2731
|
scheduleEntryId: BasecampIdParamSchema,
|
|
2683
|
-
occurrenceDate:
|
|
2732
|
+
occurrenceDate: import_zod56.z.string()
|
|
2684
2733
|
});
|
|
2685
2734
|
var scheduleEntriesRouter = c.router({
|
|
2686
2735
|
list: {
|
|
@@ -2780,19 +2829,19 @@ var scheduleEntriesRouter = c.router({
|
|
|
2780
2829
|
});
|
|
2781
2830
|
|
|
2782
2831
|
// src/contract/resources/scheduling/questionnaires.ts
|
|
2783
|
-
var
|
|
2832
|
+
var import_zod58 = require("zod");
|
|
2784
2833
|
|
|
2785
2834
|
// src/contract/schemas/scheduling/questionnaires.ts
|
|
2786
|
-
var
|
|
2835
|
+
var import_zod57 = require("zod");
|
|
2787
2836
|
var QuestionnaireSchema = RecordingBaseSchema.extend({
|
|
2788
|
-
type:
|
|
2789
|
-
name:
|
|
2790
|
-
questions_count:
|
|
2791
|
-
questions_url:
|
|
2837
|
+
type: import_zod57.z.literal("Questionnaire"),
|
|
2838
|
+
name: import_zod57.z.string(),
|
|
2839
|
+
questions_count: import_zod57.z.number().int(),
|
|
2840
|
+
questions_url: import_zod57.z.string().url()
|
|
2792
2841
|
});
|
|
2793
2842
|
|
|
2794
2843
|
// src/contract/resources/scheduling/questionnaires.ts
|
|
2795
|
-
var bucketAndQuestionnairePathParams =
|
|
2844
|
+
var bucketAndQuestionnairePathParams = import_zod58.z.object({
|
|
2796
2845
|
bucketId: BasecampIdParamSchema,
|
|
2797
2846
|
questionnaireId: BasecampIdParamSchema
|
|
2798
2847
|
});
|
|
@@ -2815,39 +2864,39 @@ var questionnairesRouter = c.router({
|
|
|
2815
2864
|
});
|
|
2816
2865
|
|
|
2817
2866
|
// src/contract/resources/scheduling/questions.ts
|
|
2818
|
-
var
|
|
2867
|
+
var import_zod60 = require("zod");
|
|
2819
2868
|
|
|
2820
2869
|
// src/contract/schemas/scheduling/questions.ts
|
|
2821
|
-
var
|
|
2822
|
-
var QuestionScheduleSchema =
|
|
2823
|
-
frequency:
|
|
2824
|
-
days:
|
|
2825
|
-
hour:
|
|
2826
|
-
minute:
|
|
2827
|
-
week_instance:
|
|
2828
|
-
week_interval:
|
|
2829
|
-
month_interval:
|
|
2830
|
-
start_date:
|
|
2831
|
-
end_date:
|
|
2870
|
+
var import_zod59 = require("zod");
|
|
2871
|
+
var QuestionScheduleSchema = import_zod59.z.object({
|
|
2872
|
+
frequency: import_zod59.z.string(),
|
|
2873
|
+
days: import_zod59.z.array(import_zod59.z.number().int()),
|
|
2874
|
+
hour: import_zod59.z.number().int(),
|
|
2875
|
+
minute: import_zod59.z.number().int(),
|
|
2876
|
+
week_instance: import_zod59.z.number().int().nullable(),
|
|
2877
|
+
week_interval: import_zod59.z.number().int().nullable(),
|
|
2878
|
+
month_interval: import_zod59.z.number().int().nullable(),
|
|
2879
|
+
start_date: import_zod59.z.string(),
|
|
2880
|
+
end_date: import_zod59.z.string().nullable()
|
|
2832
2881
|
});
|
|
2833
2882
|
var QuestionSchema = RecordingBaseSchema.extend({
|
|
2834
|
-
type:
|
|
2835
|
-
paused:
|
|
2883
|
+
type: import_zod59.z.literal("Question"),
|
|
2884
|
+
paused: import_zod59.z.boolean(),
|
|
2836
2885
|
schedule: QuestionScheduleSchema,
|
|
2837
|
-
answers_count:
|
|
2838
|
-
answers_url:
|
|
2886
|
+
answers_count: import_zod59.z.number().int(),
|
|
2887
|
+
answers_url: import_zod59.z.string().url()
|
|
2839
2888
|
});
|
|
2840
|
-
var QuestionListResponseSchema =
|
|
2841
|
-
var QuestionListQuerySchema =
|
|
2842
|
-
page:
|
|
2889
|
+
var QuestionListResponseSchema = import_zod59.z.array(QuestionSchema);
|
|
2890
|
+
var QuestionListQuerySchema = import_zod59.z.object({
|
|
2891
|
+
page: import_zod59.z.coerce.number().int().positive().optional()
|
|
2843
2892
|
});
|
|
2844
2893
|
|
|
2845
2894
|
// src/contract/resources/scheduling/questions.ts
|
|
2846
|
-
var bucketAndQuestionnairePathParams2 =
|
|
2895
|
+
var bucketAndQuestionnairePathParams2 = import_zod60.z.object({
|
|
2847
2896
|
bucketId: BasecampIdParamSchema,
|
|
2848
2897
|
questionnaireId: BasecampIdParamSchema
|
|
2849
2898
|
});
|
|
2850
|
-
var bucketAndQuestionPathParams =
|
|
2899
|
+
var bucketAndQuestionPathParams = import_zod60.z.object({
|
|
2851
2900
|
bucketId: BasecampIdParamSchema,
|
|
2852
2901
|
questionId: BasecampIdParamSchema
|
|
2853
2902
|
});
|
|
@@ -2885,26 +2934,104 @@ var questionsRouter = c.router({
|
|
|
2885
2934
|
}
|
|
2886
2935
|
});
|
|
2887
2936
|
|
|
2888
|
-
// src/contract/resources/
|
|
2937
|
+
// src/contract/resources/scheduling/question-answers.ts
|
|
2938
|
+
var import_zod62 = require("zod");
|
|
2939
|
+
|
|
2940
|
+
// src/contract/schemas/scheduling/question-answers.ts
|
|
2889
2941
|
var import_zod61 = require("zod");
|
|
2942
|
+
var QuestionAnswerSchema = RecordingBaseSchema.extend({
|
|
2943
|
+
type: import_zod61.z.literal("Question::Answer"),
|
|
2944
|
+
content: HtmlStringSchema,
|
|
2945
|
+
group_on: import_zod61.z.string()
|
|
2946
|
+
});
|
|
2947
|
+
var QuestionAnswerListResponseSchema = import_zod61.z.array(QuestionAnswerSchema);
|
|
2948
|
+
var QuestionAnswerListQuerySchema = import_zod61.z.object({
|
|
2949
|
+
page: import_zod61.z.coerce.number().int().positive().optional()
|
|
2950
|
+
});
|
|
2951
|
+
var QuestionAnswerCreateBodySchema = import_zod61.z.object({
|
|
2952
|
+
content: HtmlStringSchema.min(1),
|
|
2953
|
+
group_on: import_zod61.z.string()
|
|
2954
|
+
});
|
|
2955
|
+
|
|
2956
|
+
// src/contract/resources/scheduling/question-answers.ts
|
|
2957
|
+
var bucketAndQuestionPathParams2 = import_zod62.z.object({
|
|
2958
|
+
bucketId: BasecampIdParamSchema,
|
|
2959
|
+
questionId: BasecampIdParamSchema
|
|
2960
|
+
});
|
|
2961
|
+
var bucketAndAnswerPathParams = import_zod62.z.object({
|
|
2962
|
+
bucketId: BasecampIdParamSchema,
|
|
2963
|
+
answerId: BasecampIdParamSchema
|
|
2964
|
+
});
|
|
2965
|
+
var questionAnswersRouter = c.router({
|
|
2966
|
+
list: {
|
|
2967
|
+
summary: "List question answers",
|
|
2968
|
+
description: "Returns a paginated list of answers for a specific check-in question.",
|
|
2969
|
+
metadata: {
|
|
2970
|
+
tag: "Question Answers",
|
|
2971
|
+
operationId: "questionAnswers.list",
|
|
2972
|
+
docsPath: "/docs/basecamp-api-specs/sections/question_answers.md#get-question-answers"
|
|
2973
|
+
},
|
|
2974
|
+
method: "GET",
|
|
2975
|
+
path: "/buckets/:bucketId/questions/:questionId/answers",
|
|
2976
|
+
pathParams: bucketAndQuestionPathParams2,
|
|
2977
|
+
query: QuestionAnswerListQuerySchema,
|
|
2978
|
+
responses: {
|
|
2979
|
+
200: QuestionAnswerListResponseSchema
|
|
2980
|
+
}
|
|
2981
|
+
},
|
|
2982
|
+
get: {
|
|
2983
|
+
summary: "Get a question answer",
|
|
2984
|
+
description: "Returns a single question answer by its ID.",
|
|
2985
|
+
metadata: {
|
|
2986
|
+
tag: "Question Answers",
|
|
2987
|
+
operationId: "questionAnswers.get",
|
|
2988
|
+
docsPath: "/docs/basecamp-api-specs/sections/question_answers.md#get-a-question-answer"
|
|
2989
|
+
},
|
|
2990
|
+
method: "GET",
|
|
2991
|
+
path: "/buckets/:bucketId/question_answers/:answerId",
|
|
2992
|
+
pathParams: bucketAndAnswerPathParams,
|
|
2993
|
+
responses: {
|
|
2994
|
+
200: QuestionAnswerSchema
|
|
2995
|
+
}
|
|
2996
|
+
},
|
|
2997
|
+
create: {
|
|
2998
|
+
summary: "Create a question answer",
|
|
2999
|
+
description: "Create a new answer for a check-in question.",
|
|
3000
|
+
metadata: {
|
|
3001
|
+
tag: "Question Answers",
|
|
3002
|
+
operationId: "questionAnswers.create",
|
|
3003
|
+
docsPath: "/docs/basecamp-api-specs/sections/question_answers.md#get-question-answers"
|
|
3004
|
+
},
|
|
3005
|
+
method: "POST",
|
|
3006
|
+
path: "/buckets/:bucketId/questions/:questionId/answers",
|
|
3007
|
+
pathParams: bucketAndQuestionPathParams2,
|
|
3008
|
+
body: QuestionAnswerCreateBodySchema,
|
|
3009
|
+
responses: {
|
|
3010
|
+
201: QuestionAnswerSchema
|
|
3011
|
+
}
|
|
3012
|
+
}
|
|
3013
|
+
});
|
|
3014
|
+
|
|
3015
|
+
// src/contract/resources/tasks/todosets.ts
|
|
3016
|
+
var import_zod64 = require("zod");
|
|
2890
3017
|
|
|
2891
3018
|
// src/contract/schemas/tasks/todosets.ts
|
|
2892
|
-
var
|
|
3019
|
+
var import_zod63 = require("zod");
|
|
2893
3020
|
var TodoSetSchema = RecordingBaseSchema.omit({
|
|
2894
3021
|
subscription_url: true,
|
|
2895
3022
|
comments_count: true,
|
|
2896
3023
|
comments_url: true
|
|
2897
3024
|
}).extend({
|
|
2898
|
-
completed:
|
|
2899
|
-
completed_ratio:
|
|
2900
|
-
name:
|
|
2901
|
-
todolists_count:
|
|
2902
|
-
todolists_url:
|
|
2903
|
-
app_todoslists_url:
|
|
3025
|
+
completed: import_zod63.z.boolean(),
|
|
3026
|
+
completed_ratio: import_zod63.z.string(),
|
|
3027
|
+
name: import_zod63.z.string(),
|
|
3028
|
+
todolists_count: import_zod63.z.number().int().nonnegative(),
|
|
3029
|
+
todolists_url: import_zod63.z.string().url(),
|
|
3030
|
+
app_todoslists_url: import_zod63.z.string().url()
|
|
2904
3031
|
});
|
|
2905
3032
|
|
|
2906
3033
|
// src/contract/resources/tasks/todosets.ts
|
|
2907
|
-
var bucketPathParams2 =
|
|
3034
|
+
var bucketPathParams2 = import_zod64.z.object({
|
|
2908
3035
|
bucketId: BasecampIdParamSchema
|
|
2909
3036
|
});
|
|
2910
3037
|
var bucketAndTodoSetPathParams = bucketPathParams2.extend({
|
|
@@ -2929,42 +3056,42 @@ var todoSetsRouter = c.router({
|
|
|
2929
3056
|
});
|
|
2930
3057
|
|
|
2931
3058
|
// src/contract/resources/tasks/todolists.ts
|
|
2932
|
-
var
|
|
3059
|
+
var import_zod66 = require("zod");
|
|
2933
3060
|
|
|
2934
3061
|
// src/contract/schemas/tasks/todolists.ts
|
|
2935
|
-
var
|
|
3062
|
+
var import_zod65 = require("zod");
|
|
2936
3063
|
var TodoListBaseSchema = RecordingBaseSchema.extend({
|
|
2937
|
-
type:
|
|
3064
|
+
type: import_zod65.z.literal("Todolist"),
|
|
2938
3065
|
description: HtmlStringSchema.optional(),
|
|
2939
|
-
completed:
|
|
2940
|
-
completed_ratio:
|
|
2941
|
-
name:
|
|
2942
|
-
todos_url:
|
|
2943
|
-
app_todos_url:
|
|
3066
|
+
completed: import_zod65.z.boolean(),
|
|
3067
|
+
completed_ratio: import_zod65.z.string(),
|
|
3068
|
+
name: import_zod65.z.string(),
|
|
3069
|
+
todos_url: import_zod65.z.string().url(),
|
|
3070
|
+
app_todos_url: import_zod65.z.string().url()
|
|
2944
3071
|
});
|
|
2945
3072
|
var TodoTopLevelListSchema = TodoListBaseSchema.extend({
|
|
2946
|
-
groups_url:
|
|
3073
|
+
groups_url: import_zod65.z.string().url()
|
|
2947
3074
|
});
|
|
2948
3075
|
var TodoListGroupSchema = TodoListBaseSchema.extend({
|
|
2949
|
-
group_position_url:
|
|
3076
|
+
group_position_url: import_zod65.z.string().url()
|
|
2950
3077
|
});
|
|
2951
|
-
var TodoListSchema =
|
|
2952
|
-
var TodoListsResponseSchema =
|
|
2953
|
-
var TodoListQuerySchema =
|
|
2954
|
-
status:
|
|
2955
|
-
page:
|
|
3078
|
+
var TodoListSchema = import_zod65.z.union([TodoTopLevelListSchema, TodoListGroupSchema]);
|
|
3079
|
+
var TodoListsResponseSchema = import_zod65.z.array(TodoTopLevelListSchema);
|
|
3080
|
+
var TodoListQuerySchema = import_zod65.z.object({
|
|
3081
|
+
status: import_zod65.z.enum(["active", "archived", "trashed"]).or(import_zod65.z.string()).optional(),
|
|
3082
|
+
page: import_zod65.z.coerce.number().int().positive().optional()
|
|
2956
3083
|
});
|
|
2957
|
-
var TodoListCreateBodySchema =
|
|
2958
|
-
name:
|
|
3084
|
+
var TodoListCreateBodySchema = import_zod65.z.object({
|
|
3085
|
+
name: import_zod65.z.string().min(1),
|
|
2959
3086
|
description: HtmlStringSchema.nullable().optional()
|
|
2960
3087
|
});
|
|
2961
|
-
var TodoListUpdateBodySchema =
|
|
2962
|
-
name:
|
|
3088
|
+
var TodoListUpdateBodySchema = import_zod65.z.object({
|
|
3089
|
+
name: import_zod65.z.string().min(1),
|
|
2963
3090
|
description: HtmlStringSchema.nullable().optional()
|
|
2964
3091
|
});
|
|
2965
3092
|
|
|
2966
3093
|
// src/contract/resources/tasks/todolists.ts
|
|
2967
|
-
var bucketPathParams3 =
|
|
3094
|
+
var bucketPathParams3 = import_zod66.z.object({
|
|
2968
3095
|
bucketId: BasecampIdParamSchema
|
|
2969
3096
|
});
|
|
2970
3097
|
var bucketAndTodoSetPathParams2 = bucketPathParams3.extend({
|
|
@@ -3056,31 +3183,31 @@ var todoListsRouter = c.router({
|
|
|
3056
3183
|
});
|
|
3057
3184
|
|
|
3058
3185
|
// src/contract/resources/tasks/todolist-groups.ts
|
|
3059
|
-
var
|
|
3186
|
+
var import_zod68 = require("zod");
|
|
3060
3187
|
|
|
3061
3188
|
// src/contract/schemas/tasks/todolist-groups.ts
|
|
3062
|
-
var
|
|
3189
|
+
var import_zod67 = require("zod");
|
|
3063
3190
|
var TodoListBaseSchema2 = RecordingBaseSchema.extend({
|
|
3064
|
-
type:
|
|
3191
|
+
type: import_zod67.z.literal("Todolist"),
|
|
3065
3192
|
description: HtmlStringSchema.optional(),
|
|
3066
|
-
completed:
|
|
3067
|
-
completed_ratio:
|
|
3068
|
-
name:
|
|
3069
|
-
todos_url:
|
|
3070
|
-
app_todos_url:
|
|
3193
|
+
completed: import_zod67.z.boolean(),
|
|
3194
|
+
completed_ratio: import_zod67.z.string(),
|
|
3195
|
+
name: import_zod67.z.string(),
|
|
3196
|
+
todos_url: import_zod67.z.string().url(),
|
|
3197
|
+
app_todos_url: import_zod67.z.string().url()
|
|
3071
3198
|
});
|
|
3072
3199
|
var TodoListGroupSchema2 = TodoListBaseSchema2.extend({
|
|
3073
|
-
group_position_url:
|
|
3200
|
+
group_position_url: import_zod67.z.string().url()
|
|
3074
3201
|
});
|
|
3075
3202
|
var TodoListSchema2 = TodoListGroupSchema2;
|
|
3076
|
-
var TodoListGroupsResponseSchema =
|
|
3077
|
-
var TodoListGroupQuerySchema =
|
|
3078
|
-
status:
|
|
3079
|
-
page:
|
|
3080
|
-
});
|
|
3081
|
-
var TodoListGroupCreateBodySchema =
|
|
3082
|
-
name:
|
|
3083
|
-
color:
|
|
3203
|
+
var TodoListGroupsResponseSchema = import_zod67.z.array(TodoListGroupSchema2);
|
|
3204
|
+
var TodoListGroupQuerySchema = import_zod67.z.object({
|
|
3205
|
+
status: import_zod67.z.enum(["active", "archived", "trashed"]).or(import_zod67.z.string()).optional(),
|
|
3206
|
+
page: import_zod67.z.coerce.number().int().positive().optional()
|
|
3207
|
+
});
|
|
3208
|
+
var TodoListGroupCreateBodySchema = import_zod67.z.object({
|
|
3209
|
+
name: import_zod67.z.string().min(1),
|
|
3210
|
+
color: import_zod67.z.enum([
|
|
3084
3211
|
"white",
|
|
3085
3212
|
"red",
|
|
3086
3213
|
"orange",
|
|
@@ -3092,14 +3219,14 @@ var TodoListGroupCreateBodySchema = import_zod64.z.object({
|
|
|
3092
3219
|
"gray",
|
|
3093
3220
|
"pink",
|
|
3094
3221
|
"brown"
|
|
3095
|
-
]).or(
|
|
3222
|
+
]).or(import_zod67.z.string()).optional()
|
|
3096
3223
|
});
|
|
3097
|
-
var TodoListGroupRepositionBodySchema =
|
|
3098
|
-
position:
|
|
3224
|
+
var TodoListGroupRepositionBodySchema = import_zod67.z.object({
|
|
3225
|
+
position: import_zod67.z.number().int().gte(1)
|
|
3099
3226
|
});
|
|
3100
3227
|
|
|
3101
3228
|
// src/contract/resources/tasks/todolist-groups.ts
|
|
3102
|
-
var bucketPathParams4 =
|
|
3229
|
+
var bucketPathParams4 = import_zod68.z.object({
|
|
3103
3230
|
bucketId: BasecampIdParamSchema
|
|
3104
3231
|
});
|
|
3105
3232
|
var bucketAndTodoListPathParams2 = bucketPathParams4.extend({
|
|
@@ -3160,56 +3287,56 @@ var todoListGroupsRouter = c.router({
|
|
|
3160
3287
|
});
|
|
3161
3288
|
|
|
3162
3289
|
// src/contract/resources/tasks/todos.ts
|
|
3163
|
-
var
|
|
3290
|
+
var import_zod70 = require("zod");
|
|
3164
3291
|
|
|
3165
3292
|
// src/contract/schemas/tasks/todos.ts
|
|
3166
|
-
var
|
|
3167
|
-
var TodoCompletionSchema =
|
|
3293
|
+
var import_zod69 = require("zod");
|
|
3294
|
+
var TodoCompletionSchema = import_zod69.z.object({
|
|
3168
3295
|
created_at: IsoDateTimeSchema,
|
|
3169
3296
|
creator: PersonSummarySchema
|
|
3170
3297
|
});
|
|
3171
3298
|
var TodoSchema = RecordingBaseSchema.extend({
|
|
3172
|
-
type:
|
|
3299
|
+
type: import_zod69.z.literal("Todo"),
|
|
3173
3300
|
description: HtmlStringSchema.optional(),
|
|
3174
|
-
completed:
|
|
3301
|
+
completed: import_zod69.z.boolean(),
|
|
3175
3302
|
completion: TodoCompletionSchema.optional(),
|
|
3176
|
-
content:
|
|
3177
|
-
starts_on:
|
|
3178
|
-
due_on:
|
|
3179
|
-
assignees:
|
|
3180
|
-
completion_subscribers:
|
|
3181
|
-
completion_url:
|
|
3182
|
-
});
|
|
3183
|
-
var TodoCollectionResponseSchema =
|
|
3184
|
-
var TodoQuerySchema =
|
|
3185
|
-
status:
|
|
3186
|
-
completed:
|
|
3187
|
-
page:
|
|
3188
|
-
});
|
|
3189
|
-
var TodoCreateBodySchema =
|
|
3190
|
-
content:
|
|
3303
|
+
content: import_zod69.z.string(),
|
|
3304
|
+
starts_on: import_zod69.z.string().date().nullable().optional(),
|
|
3305
|
+
due_on: import_zod69.z.string().date().nullable().optional(),
|
|
3306
|
+
assignees: import_zod69.z.array(PersonSummarySchema),
|
|
3307
|
+
completion_subscribers: import_zod69.z.array(PersonSummarySchema),
|
|
3308
|
+
completion_url: import_zod69.z.string().url()
|
|
3309
|
+
});
|
|
3310
|
+
var TodoCollectionResponseSchema = import_zod69.z.array(TodoSchema);
|
|
3311
|
+
var TodoQuerySchema = import_zod69.z.object({
|
|
3312
|
+
status: import_zod69.z.enum(["active", "archived", "trashed"]).or(import_zod69.z.string()).optional(),
|
|
3313
|
+
completed: import_zod69.z.literal(true).optional(),
|
|
3314
|
+
page: import_zod69.z.coerce.number().int().positive().optional()
|
|
3315
|
+
});
|
|
3316
|
+
var TodoCreateBodySchema = import_zod69.z.object({
|
|
3317
|
+
content: import_zod69.z.string().min(1),
|
|
3191
3318
|
description: HtmlStringSchema.nullable().optional(),
|
|
3192
|
-
assignee_ids:
|
|
3193
|
-
completion_subscriber_ids:
|
|
3194
|
-
notify:
|
|
3195
|
-
due_on:
|
|
3196
|
-
starts_on:
|
|
3197
|
-
});
|
|
3198
|
-
var TodoUpdateBodySchema =
|
|
3199
|
-
content:
|
|
3319
|
+
assignee_ids: import_zod69.z.array(BasecampIdSchema).optional(),
|
|
3320
|
+
completion_subscriber_ids: import_zod69.z.array(BasecampIdSchema).optional(),
|
|
3321
|
+
notify: import_zod69.z.boolean().optional(),
|
|
3322
|
+
due_on: import_zod69.z.string().date().nullable().optional(),
|
|
3323
|
+
starts_on: import_zod69.z.string().date().nullable().optional()
|
|
3324
|
+
});
|
|
3325
|
+
var TodoUpdateBodySchema = import_zod69.z.object({
|
|
3326
|
+
content: import_zod69.z.string().min(1),
|
|
3200
3327
|
description: HtmlStringSchema.nullable().optional(),
|
|
3201
|
-
assignee_ids:
|
|
3202
|
-
completion_subscriber_ids:
|
|
3203
|
-
notify:
|
|
3204
|
-
due_on:
|
|
3205
|
-
starts_on:
|
|
3328
|
+
assignee_ids: import_zod69.z.array(BasecampIdSchema).optional(),
|
|
3329
|
+
completion_subscriber_ids: import_zod69.z.array(BasecampIdSchema).optional(),
|
|
3330
|
+
notify: import_zod69.z.boolean().optional(),
|
|
3331
|
+
due_on: import_zod69.z.string().date().nullable().optional(),
|
|
3332
|
+
starts_on: import_zod69.z.string().date().nullable().optional()
|
|
3206
3333
|
});
|
|
3207
|
-
var TodoRepositionBodySchema =
|
|
3208
|
-
position:
|
|
3334
|
+
var TodoRepositionBodySchema = import_zod69.z.object({
|
|
3335
|
+
position: import_zod69.z.number().int().gte(1)
|
|
3209
3336
|
});
|
|
3210
3337
|
|
|
3211
3338
|
// src/contract/resources/tasks/todos.ts
|
|
3212
|
-
var bucketPathParams5 =
|
|
3339
|
+
var bucketPathParams5 = import_zod70.z.object({
|
|
3213
3340
|
bucketId: BasecampIdParamSchema
|
|
3214
3341
|
});
|
|
3215
3342
|
var bucketAndTodoListPathParams3 = bucketPathParams5.extend({
|
|
@@ -3380,17 +3507,19 @@ var contract = c.router(
|
|
|
3380
3507
|
scheduleEntries: scheduleEntriesRouter,
|
|
3381
3508
|
questionnaires: questionnairesRouter,
|
|
3382
3509
|
questions: questionsRouter,
|
|
3510
|
+
questionAnswers: questionAnswersRouter,
|
|
3383
3511
|
documents: documentsRouter,
|
|
3384
3512
|
vaults: vaultsRouter,
|
|
3385
3513
|
uploads: uploadsRouter,
|
|
3386
|
-
attachments: attachmentsRouter
|
|
3514
|
+
attachments: attachmentsRouter,
|
|
3515
|
+
blobs: blobsRouter
|
|
3387
3516
|
},
|
|
3388
3517
|
{
|
|
3389
3518
|
strictStatusCodes: true,
|
|
3390
|
-
baseHeaders:
|
|
3391
|
-
Authorization:
|
|
3392
|
-
"User-Agent":
|
|
3393
|
-
Accept:
|
|
3519
|
+
baseHeaders: import_zod71.z.object({
|
|
3520
|
+
Authorization: import_zod71.z.string().min(1),
|
|
3521
|
+
"User-Agent": import_zod71.z.string().min(1).optional(),
|
|
3522
|
+
Accept: import_zod71.z.literal("application/json").optional()
|
|
3394
3523
|
})
|
|
3395
3524
|
}
|
|
3396
3525
|
);
|
|
@@ -3427,15 +3556,35 @@ var computeBackoffDelay = (attempt, retryAfterMs) => {
|
|
|
3427
3556
|
};
|
|
3428
3557
|
async function fetcher(args) {
|
|
3429
3558
|
const url = new URL(args.path);
|
|
3430
|
-
|
|
3559
|
+
const isRaw = args.route.metadata?.rawResponse === true;
|
|
3560
|
+
if (!isRaw && !url.pathname.endsWith(".json")) {
|
|
3431
3561
|
url.pathname = `${url.pathname}.json`;
|
|
3432
3562
|
}
|
|
3563
|
+
const headers = { ...args.headers };
|
|
3564
|
+
if (isRaw) {
|
|
3565
|
+
delete headers.accept;
|
|
3566
|
+
delete headers.Accept;
|
|
3567
|
+
}
|
|
3433
3568
|
const pathWithSuffix = url.toString();
|
|
3434
3569
|
for (let attempt = 0; attempt <= MAX_RETRIES; attempt += 1) {
|
|
3435
|
-
|
|
3436
|
-
|
|
3437
|
-
|
|
3438
|
-
|
|
3570
|
+
let response;
|
|
3571
|
+
if (isRaw) {
|
|
3572
|
+
const result = await fetch(pathWithSuffix, {
|
|
3573
|
+
method: args.method,
|
|
3574
|
+
headers
|
|
3575
|
+
});
|
|
3576
|
+
response = {
|
|
3577
|
+
status: result.status,
|
|
3578
|
+
body: await result.arrayBuffer(),
|
|
3579
|
+
headers: result.headers
|
|
3580
|
+
};
|
|
3581
|
+
} else {
|
|
3582
|
+
response = await (0, import_core2.tsRestFetchApi)({
|
|
3583
|
+
...args,
|
|
3584
|
+
path: pathWithSuffix,
|
|
3585
|
+
headers
|
|
3586
|
+
});
|
|
3587
|
+
}
|
|
3439
3588
|
if (response.status !== 429) {
|
|
3440
3589
|
return response;
|
|
3441
3590
|
}
|