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.mjs
CHANGED
|
@@ -130,7 +130,7 @@ async function asyncPagedToArray(options) {
|
|
|
130
130
|
import { initClient as tsRestInitClient } from "@ts-rest/core";
|
|
131
131
|
|
|
132
132
|
// src/contract/index.ts
|
|
133
|
-
import { z as
|
|
133
|
+
import { z as z71 } from "zod";
|
|
134
134
|
|
|
135
135
|
// src/contract/c.ts
|
|
136
136
|
import { initContract } from "@ts-rest/core";
|
|
@@ -1189,28 +1189,54 @@ var clientVisibilityRouter = c.router({
|
|
|
1189
1189
|
}
|
|
1190
1190
|
});
|
|
1191
1191
|
|
|
1192
|
+
// src/contract/resources/blobs.ts
|
|
1193
|
+
import { z as z27 } from "zod";
|
|
1194
|
+
var blobsRouter = c.router({
|
|
1195
|
+
download: {
|
|
1196
|
+
summary: "Download a blob",
|
|
1197
|
+
description: "Download the raw file content of a blob. Blobs represent files embedded in documents and messages via bc-attachment tags.",
|
|
1198
|
+
metadata: {
|
|
1199
|
+
tag: "Blobs",
|
|
1200
|
+
operationId: "blobs.download",
|
|
1201
|
+
rawResponse: true
|
|
1202
|
+
},
|
|
1203
|
+
method: "GET",
|
|
1204
|
+
path: "/blobs/:blobId/download/:filename",
|
|
1205
|
+
pathParams: z27.object({
|
|
1206
|
+
blobId: z27.string().min(1),
|
|
1207
|
+
filename: z27.string().min(1)
|
|
1208
|
+
}),
|
|
1209
|
+
responses: {
|
|
1210
|
+
200: c.otherResponse({
|
|
1211
|
+
contentType: "application/octet-stream",
|
|
1212
|
+
body: c.type()
|
|
1213
|
+
})
|
|
1214
|
+
}
|
|
1215
|
+
}
|
|
1216
|
+
});
|
|
1217
|
+
|
|
1192
1218
|
// src/contract/resources/documents/documents.ts
|
|
1193
|
-
import { z as
|
|
1219
|
+
import { z as z32 } from "zod";
|
|
1194
1220
|
|
|
1195
1221
|
// src/contract/schemas/documents/documents.ts
|
|
1196
|
-
import { z as
|
|
1222
|
+
import { z as z28 } from "zod";
|
|
1197
1223
|
var DocumentCoreSchema = RecordingBaseSchema.extend({
|
|
1198
|
-
type:
|
|
1224
|
+
type: z28.literal("Document")
|
|
1199
1225
|
});
|
|
1200
1226
|
var DocumentSchema = DocumentCoreSchema.extend({
|
|
1201
1227
|
content: HtmlStringSchema
|
|
1202
1228
|
});
|
|
1203
|
-
var DocumentListResponseSchema =
|
|
1204
|
-
var DocumentListQuerySchema =
|
|
1205
|
-
page:
|
|
1229
|
+
var DocumentListResponseSchema = z28.array(DocumentSchema);
|
|
1230
|
+
var DocumentListQuerySchema = z28.object({
|
|
1231
|
+
page: z28.coerce.number().int().positive().optional()
|
|
1206
1232
|
});
|
|
1207
|
-
var DocumentCreateBodySchema =
|
|
1208
|
-
title:
|
|
1233
|
+
var DocumentCreateBodySchema = z28.object({
|
|
1234
|
+
title: z28.string().min(1),
|
|
1209
1235
|
content: HtmlStringSchema,
|
|
1210
|
-
status:
|
|
1236
|
+
status: z28.enum(["active", "draft"]).or(z28.string()).optional()
|
|
1211
1237
|
});
|
|
1212
|
-
var DocumentUpdateBodySchema =
|
|
1213
|
-
title:
|
|
1238
|
+
var DocumentUpdateBodySchema = z28.object({
|
|
1239
|
+
title: z28.string().min(1).optional(),
|
|
1214
1240
|
content: HtmlStringSchema.optional()
|
|
1215
1241
|
}).refine(
|
|
1216
1242
|
(value) => Object.keys(value).length > 0,
|
|
@@ -1218,76 +1244,76 @@ var DocumentUpdateBodySchema = z27.object({
|
|
|
1218
1244
|
);
|
|
1219
1245
|
|
|
1220
1246
|
// src/contract/schemas/documents/vaults.ts
|
|
1221
|
-
import { z as
|
|
1247
|
+
import { z as z29 } from "zod";
|
|
1222
1248
|
var VaultCoreSchema = RecordingBaseSchema.extend({
|
|
1223
|
-
type:
|
|
1249
|
+
type: z29.literal("Vault")
|
|
1224
1250
|
});
|
|
1225
1251
|
var VaultSchema = VaultCoreSchema.extend({
|
|
1226
|
-
documents_count:
|
|
1227
|
-
documents_url:
|
|
1228
|
-
uploads_count:
|
|
1229
|
-
uploads_url:
|
|
1230
|
-
vaults_count:
|
|
1231
|
-
vaults_url:
|
|
1232
|
-
});
|
|
1233
|
-
var VaultListResponseSchema =
|
|
1234
|
-
var VaultListQuerySchema =
|
|
1235
|
-
page:
|
|
1252
|
+
documents_count: z29.number().int().nonnegative(),
|
|
1253
|
+
documents_url: z29.string().url(),
|
|
1254
|
+
uploads_count: z29.number().int().nonnegative(),
|
|
1255
|
+
uploads_url: z29.string().url(),
|
|
1256
|
+
vaults_count: z29.number().int().nonnegative(),
|
|
1257
|
+
vaults_url: z29.string().url()
|
|
1258
|
+
});
|
|
1259
|
+
var VaultListResponseSchema = z29.array(VaultSchema);
|
|
1260
|
+
var VaultListQuerySchema = z29.object({
|
|
1261
|
+
page: z29.coerce.number().int().positive().optional()
|
|
1236
1262
|
});
|
|
1237
|
-
var VaultCreateBodySchema =
|
|
1238
|
-
title:
|
|
1263
|
+
var VaultCreateBodySchema = z29.object({
|
|
1264
|
+
title: z29.string().min(1)
|
|
1239
1265
|
});
|
|
1240
|
-
var VaultUpdateBodySchema =
|
|
1241
|
-
title:
|
|
1266
|
+
var VaultUpdateBodySchema = z29.object({
|
|
1267
|
+
title: z29.string().min(1)
|
|
1242
1268
|
});
|
|
1243
1269
|
|
|
1244
1270
|
// src/contract/schemas/documents/uploads.ts
|
|
1245
|
-
import { z as
|
|
1271
|
+
import { z as z30 } from "zod";
|
|
1246
1272
|
var UploadCoreSchema = RecordingBaseSchema.extend({
|
|
1247
|
-
type:
|
|
1273
|
+
type: z30.literal("Upload")
|
|
1248
1274
|
});
|
|
1249
1275
|
var UploadSchema = UploadCoreSchema.extend({
|
|
1250
1276
|
description: HtmlStringSchema.optional(),
|
|
1251
|
-
content_type:
|
|
1252
|
-
byte_size:
|
|
1253
|
-
filename:
|
|
1254
|
-
download_url:
|
|
1255
|
-
app_download_url:
|
|
1256
|
-
width:
|
|
1257
|
-
height:
|
|
1258
|
-
});
|
|
1259
|
-
var UploadListResponseSchema =
|
|
1260
|
-
var UploadListQuerySchema =
|
|
1261
|
-
page:
|
|
1262
|
-
});
|
|
1263
|
-
var UploadCreateBodySchema =
|
|
1264
|
-
attachable_sgid:
|
|
1277
|
+
content_type: z30.string(),
|
|
1278
|
+
byte_size: z30.number().int().nonnegative(),
|
|
1279
|
+
filename: z30.string(),
|
|
1280
|
+
download_url: z30.string().url(),
|
|
1281
|
+
app_download_url: z30.string().url(),
|
|
1282
|
+
width: z30.number().int().nonnegative().optional(),
|
|
1283
|
+
height: z30.number().int().nonnegative().optional()
|
|
1284
|
+
});
|
|
1285
|
+
var UploadListResponseSchema = z30.array(UploadSchema);
|
|
1286
|
+
var UploadListQuerySchema = z30.object({
|
|
1287
|
+
page: z30.coerce.number().int().positive().optional()
|
|
1288
|
+
});
|
|
1289
|
+
var UploadCreateBodySchema = z30.object({
|
|
1290
|
+
attachable_sgid: z30.string().min(1),
|
|
1265
1291
|
description: HtmlStringSchema.optional(),
|
|
1266
|
-
base_name:
|
|
1292
|
+
base_name: z30.string().optional()
|
|
1267
1293
|
});
|
|
1268
|
-
var UploadUpdateBodySchema =
|
|
1294
|
+
var UploadUpdateBodySchema = z30.object({
|
|
1269
1295
|
description: HtmlStringSchema.optional(),
|
|
1270
|
-
base_name:
|
|
1296
|
+
base_name: z30.string().optional()
|
|
1271
1297
|
}).refine(
|
|
1272
1298
|
(value) => Object.keys(value).length > 0,
|
|
1273
1299
|
"At least one field must be provided to update an upload."
|
|
1274
1300
|
);
|
|
1275
1301
|
|
|
1276
1302
|
// src/contract/schemas/documents/attachments.ts
|
|
1277
|
-
import { z as
|
|
1278
|
-
var AttachmentResponseSchema =
|
|
1279
|
-
attachable_sgid:
|
|
1303
|
+
import { z as z31 } from "zod";
|
|
1304
|
+
var AttachmentResponseSchema = z31.object({
|
|
1305
|
+
attachable_sgid: z31.string().min(1)
|
|
1280
1306
|
});
|
|
1281
|
-
var AttachmentCreateQuerySchema =
|
|
1282
|
-
name:
|
|
1307
|
+
var AttachmentCreateQuerySchema = z31.object({
|
|
1308
|
+
name: z31.string().min(1)
|
|
1283
1309
|
});
|
|
1284
1310
|
|
|
1285
1311
|
// src/contract/resources/documents/documents.ts
|
|
1286
|
-
var bucketAndVaultPathParams =
|
|
1312
|
+
var bucketAndVaultPathParams = z32.object({
|
|
1287
1313
|
bucketId: BasecampIdParamSchema,
|
|
1288
1314
|
vaultId: BasecampIdParamSchema
|
|
1289
1315
|
});
|
|
1290
|
-
var bucketAndDocumentPathParams =
|
|
1316
|
+
var bucketAndDocumentPathParams = z32.object({
|
|
1291
1317
|
bucketId: BasecampIdParamSchema,
|
|
1292
1318
|
documentId: BasecampIdParamSchema
|
|
1293
1319
|
});
|
|
@@ -1374,12 +1400,12 @@ var documentsRouter = c.router({
|
|
|
1374
1400
|
});
|
|
1375
1401
|
|
|
1376
1402
|
// src/contract/resources/documents/vaults.ts
|
|
1377
|
-
import { z as
|
|
1378
|
-
var bucketAndVaultPathParams2 =
|
|
1403
|
+
import { z as z33 } from "zod";
|
|
1404
|
+
var bucketAndVaultPathParams2 = z33.object({
|
|
1379
1405
|
bucketId: BasecampIdParamSchema,
|
|
1380
1406
|
vaultId: BasecampIdParamSchema
|
|
1381
1407
|
});
|
|
1382
|
-
var bucketAndParentVaultPathParams =
|
|
1408
|
+
var bucketAndParentVaultPathParams = z33.object({
|
|
1383
1409
|
bucketId: BasecampIdParamSchema,
|
|
1384
1410
|
parentVaultId: BasecampIdParamSchema
|
|
1385
1411
|
});
|
|
@@ -1466,12 +1492,12 @@ var vaultsRouter = c.router({
|
|
|
1466
1492
|
});
|
|
1467
1493
|
|
|
1468
1494
|
// src/contract/resources/documents/uploads.ts
|
|
1469
|
-
import { z as
|
|
1470
|
-
var bucketAndVaultPathParams3 =
|
|
1495
|
+
import { z as z34 } from "zod";
|
|
1496
|
+
var bucketAndVaultPathParams3 = z34.object({
|
|
1471
1497
|
bucketId: BasecampIdParamSchema,
|
|
1472
1498
|
vaultId: BasecampIdParamSchema
|
|
1473
1499
|
});
|
|
1474
|
-
var bucketAndUploadPathParams =
|
|
1500
|
+
var bucketAndUploadPathParams = z34.object({
|
|
1475
1501
|
bucketId: BasecampIdParamSchema,
|
|
1476
1502
|
uploadId: BasecampIdParamSchema
|
|
1477
1503
|
});
|
|
@@ -1539,6 +1565,29 @@ var uploadsRouter = c.router({
|
|
|
1539
1565
|
200: UploadSchema
|
|
1540
1566
|
}
|
|
1541
1567
|
},
|
|
1568
|
+
download: {
|
|
1569
|
+
summary: "Download an upload",
|
|
1570
|
+
description: "Download the raw file content of an upload.",
|
|
1571
|
+
metadata: {
|
|
1572
|
+
tag: "Uploads",
|
|
1573
|
+
operationId: "uploads.download",
|
|
1574
|
+
docsPath: "/docs/basecamp-api-specs/sections/uploads.md",
|
|
1575
|
+
rawResponse: true
|
|
1576
|
+
},
|
|
1577
|
+
method: "GET",
|
|
1578
|
+
path: "/buckets/:bucketId/uploads/:uploadId/download/:filename",
|
|
1579
|
+
pathParams: z34.object({
|
|
1580
|
+
bucketId: BasecampIdParamSchema,
|
|
1581
|
+
uploadId: BasecampIdParamSchema,
|
|
1582
|
+
filename: z34.string().min(1)
|
|
1583
|
+
}),
|
|
1584
|
+
responses: {
|
|
1585
|
+
200: c.otherResponse({
|
|
1586
|
+
contentType: "application/octet-stream",
|
|
1587
|
+
body: c.type()
|
|
1588
|
+
})
|
|
1589
|
+
}
|
|
1590
|
+
},
|
|
1542
1591
|
trash: {
|
|
1543
1592
|
summary: "Trash an upload",
|
|
1544
1593
|
description: "Move an upload recording to the trash. Trashed items can be restored via the UI.",
|
|
@@ -1578,26 +1627,26 @@ var attachmentsRouter = c.router({
|
|
|
1578
1627
|
});
|
|
1579
1628
|
|
|
1580
1629
|
// src/contract/resources/events.ts
|
|
1581
|
-
import { z as
|
|
1630
|
+
import { z as z36 } from "zod";
|
|
1582
1631
|
|
|
1583
1632
|
// src/contract/schemas/events.ts
|
|
1584
|
-
import { z as
|
|
1585
|
-
var EventDetailsSchema =
|
|
1586
|
-
var RecordingEventSchema =
|
|
1633
|
+
import { z as z35 } from "zod";
|
|
1634
|
+
var EventDetailsSchema = z35.object({}).passthrough();
|
|
1635
|
+
var RecordingEventSchema = z35.object({
|
|
1587
1636
|
id: BasecampIdSchema,
|
|
1588
1637
|
recording_id: BasecampIdSchema,
|
|
1589
|
-
action:
|
|
1638
|
+
action: z35.string(),
|
|
1590
1639
|
details: EventDetailsSchema,
|
|
1591
1640
|
created_at: IsoDateTimeSchema,
|
|
1592
1641
|
creator: PersonSummarySchema
|
|
1593
1642
|
});
|
|
1594
|
-
var RecordingEventListResponseSchema =
|
|
1595
|
-
var RecordingEventListQuerySchema =
|
|
1596
|
-
page:
|
|
1643
|
+
var RecordingEventListResponseSchema = z35.array(RecordingEventSchema);
|
|
1644
|
+
var RecordingEventListQuerySchema = z35.object({
|
|
1645
|
+
page: z35.coerce.number().int().positive().optional()
|
|
1597
1646
|
});
|
|
1598
1647
|
|
|
1599
1648
|
// src/contract/resources/events.ts
|
|
1600
|
-
var RecordingEventsPathParamsSchema =
|
|
1649
|
+
var RecordingEventsPathParamsSchema = z36.object({
|
|
1601
1650
|
bucketId: BasecampIdParamSchema,
|
|
1602
1651
|
recordingId: BasecampIdParamSchema
|
|
1603
1652
|
});
|
|
@@ -1621,23 +1670,23 @@ var eventsRouter = c.router({
|
|
|
1621
1670
|
});
|
|
1622
1671
|
|
|
1623
1672
|
// src/contract/resources/lineup-markers.ts
|
|
1624
|
-
import { z as
|
|
1673
|
+
import { z as z38 } from "zod";
|
|
1625
1674
|
|
|
1626
1675
|
// src/contract/schemas/lineup-markers.ts
|
|
1627
|
-
import { z as
|
|
1628
|
-
var LineupMarkerCreateBodySchema =
|
|
1629
|
-
name:
|
|
1676
|
+
import { z as z37 } from "zod";
|
|
1677
|
+
var LineupMarkerCreateBodySchema = z37.object({
|
|
1678
|
+
name: z37.string().min(1),
|
|
1630
1679
|
date: IsoDateSchema
|
|
1631
1680
|
});
|
|
1632
|
-
var LineupMarkerUpdateBodySchema =
|
|
1633
|
-
name:
|
|
1681
|
+
var LineupMarkerUpdateBodySchema = z37.object({
|
|
1682
|
+
name: z37.string().min(1).optional(),
|
|
1634
1683
|
date: IsoDateSchema.optional()
|
|
1635
1684
|
}).refine((value) => value.name !== void 0 || value.date !== void 0, {
|
|
1636
1685
|
message: "Either name or date must be provided."
|
|
1637
1686
|
});
|
|
1638
1687
|
|
|
1639
1688
|
// src/contract/resources/lineup-markers.ts
|
|
1640
|
-
var LineupMarkerPathParamsSchema =
|
|
1689
|
+
var LineupMarkerPathParamsSchema = z38.object({
|
|
1641
1690
|
markerId: BasecampIdParamSchema
|
|
1642
1691
|
});
|
|
1643
1692
|
var lineupMarkersRouter = c.router({
|
|
@@ -1691,25 +1740,25 @@ var lineupMarkersRouter = c.router({
|
|
|
1691
1740
|
});
|
|
1692
1741
|
|
|
1693
1742
|
// src/contract/resources/people.ts
|
|
1694
|
-
import { z as
|
|
1743
|
+
import { z as z40 } from "zod";
|
|
1695
1744
|
|
|
1696
1745
|
// src/contract/schemas/people.ts
|
|
1697
|
-
import { z as
|
|
1746
|
+
import { z as z39 } from "zod";
|
|
1698
1747
|
var PersonSchema = PersonSummarySchema;
|
|
1699
|
-
var PeopleListQuerySchema =
|
|
1700
|
-
page:
|
|
1701
|
-
});
|
|
1702
|
-
var PeopleListResponseSchema =
|
|
1703
|
-
var ProjectAccessCreateEntrySchema =
|
|
1704
|
-
name:
|
|
1705
|
-
email_address:
|
|
1706
|
-
title:
|
|
1707
|
-
company_name:
|
|
1708
|
-
});
|
|
1709
|
-
var ProjectPeopleAccessBodySchema =
|
|
1710
|
-
grant:
|
|
1711
|
-
revoke:
|
|
1712
|
-
create:
|
|
1748
|
+
var PeopleListQuerySchema = z39.object({
|
|
1749
|
+
page: z39.coerce.number().int().positive().optional()
|
|
1750
|
+
});
|
|
1751
|
+
var PeopleListResponseSchema = z39.array(PersonSchema);
|
|
1752
|
+
var ProjectAccessCreateEntrySchema = z39.object({
|
|
1753
|
+
name: z39.string().min(1),
|
|
1754
|
+
email_address: z39.string().email(),
|
|
1755
|
+
title: z39.string().optional(),
|
|
1756
|
+
company_name: z39.string().optional()
|
|
1757
|
+
});
|
|
1758
|
+
var ProjectPeopleAccessBodySchema = z39.object({
|
|
1759
|
+
grant: z39.array(BasecampIdSchema).min(1).optional(),
|
|
1760
|
+
revoke: z39.array(BasecampIdSchema).min(1).optional(),
|
|
1761
|
+
create: z39.array(ProjectAccessCreateEntrySchema).min(1).optional()
|
|
1713
1762
|
}).refine(
|
|
1714
1763
|
(value) => value.grant !== void 0 || value.revoke !== void 0 || value.create !== void 0,
|
|
1715
1764
|
{
|
|
@@ -1717,16 +1766,16 @@ var ProjectPeopleAccessBodySchema = z38.object({
|
|
|
1717
1766
|
path: ["grant"]
|
|
1718
1767
|
}
|
|
1719
1768
|
);
|
|
1720
|
-
var ProjectPeopleAccessResponseSchema =
|
|
1721
|
-
granted:
|
|
1722
|
-
revoked:
|
|
1769
|
+
var ProjectPeopleAccessResponseSchema = z39.object({
|
|
1770
|
+
granted: z39.array(PersonSchema),
|
|
1771
|
+
revoked: z39.array(PersonSchema)
|
|
1723
1772
|
});
|
|
1724
1773
|
|
|
1725
1774
|
// src/contract/resources/people.ts
|
|
1726
|
-
var ProjectPathParamsSchema =
|
|
1775
|
+
var ProjectPathParamsSchema = z40.object({
|
|
1727
1776
|
projectId: BasecampIdParamSchema
|
|
1728
1777
|
});
|
|
1729
|
-
var PersonPathParamsSchema =
|
|
1778
|
+
var PersonPathParamsSchema = z40.object({
|
|
1730
1779
|
personId: BasecampIdParamSchema
|
|
1731
1780
|
});
|
|
1732
1781
|
var peopleRouter = c.router({
|
|
@@ -1822,59 +1871,59 @@ var peopleRouter = c.router({
|
|
|
1822
1871
|
});
|
|
1823
1872
|
|
|
1824
1873
|
// src/contract/resources/projects.ts
|
|
1825
|
-
import { z as
|
|
1874
|
+
import { z as z42 } from "zod";
|
|
1826
1875
|
|
|
1827
1876
|
// src/contract/schemas/projects.ts
|
|
1828
|
-
import { z as
|
|
1829
|
-
var ProjectDockEntrySchema =
|
|
1877
|
+
import { z as z41 } from "zod";
|
|
1878
|
+
var ProjectDockEntrySchema = z41.object({
|
|
1830
1879
|
id: BasecampIdSchema,
|
|
1831
|
-
title:
|
|
1832
|
-
name:
|
|
1833
|
-
enabled:
|
|
1834
|
-
position:
|
|
1835
|
-
url:
|
|
1836
|
-
app_url:
|
|
1837
|
-
});
|
|
1838
|
-
var ProjectClientCompanySchema =
|
|
1880
|
+
title: z41.string(),
|
|
1881
|
+
name: z41.string(),
|
|
1882
|
+
enabled: z41.boolean(),
|
|
1883
|
+
position: z41.number().int().nullable(),
|
|
1884
|
+
url: z41.string().url(),
|
|
1885
|
+
app_url: z41.string().url()
|
|
1886
|
+
});
|
|
1887
|
+
var ProjectClientCompanySchema = z41.object({
|
|
1839
1888
|
id: BasecampIdSchema,
|
|
1840
|
-
name:
|
|
1889
|
+
name: z41.string()
|
|
1841
1890
|
});
|
|
1842
|
-
var ProjectClientsideSchema =
|
|
1843
|
-
url:
|
|
1844
|
-
app_url:
|
|
1891
|
+
var ProjectClientsideSchema = z41.object({
|
|
1892
|
+
url: z41.string().url(),
|
|
1893
|
+
app_url: z41.string().url()
|
|
1845
1894
|
});
|
|
1846
|
-
var ProjectStatusSchema =
|
|
1847
|
-
var ProjectCoreSchema =
|
|
1895
|
+
var ProjectStatusSchema = z41.enum(["active", "archived", "trashed"]).or(z41.string());
|
|
1896
|
+
var ProjectCoreSchema = z41.object({
|
|
1848
1897
|
id: BasecampIdSchema,
|
|
1849
1898
|
status: ProjectStatusSchema,
|
|
1850
1899
|
created_at: IsoDateTimeSchema,
|
|
1851
1900
|
updated_at: IsoDateTimeSchema,
|
|
1852
|
-
name:
|
|
1901
|
+
name: z41.string(),
|
|
1853
1902
|
description: HtmlStringSchema.nullable().optional(),
|
|
1854
|
-
purpose:
|
|
1855
|
-
clients_enabled:
|
|
1856
|
-
bookmark_url:
|
|
1857
|
-
url:
|
|
1858
|
-
app_url:
|
|
1859
|
-
dock:
|
|
1903
|
+
purpose: z41.string(),
|
|
1904
|
+
clients_enabled: z41.boolean(),
|
|
1905
|
+
bookmark_url: z41.string().url(),
|
|
1906
|
+
url: z41.string().url(),
|
|
1907
|
+
app_url: z41.string().url(),
|
|
1908
|
+
dock: z41.array(ProjectDockEntrySchema),
|
|
1860
1909
|
client_company: ProjectClientCompanySchema.optional(),
|
|
1861
1910
|
clientside: ProjectClientsideSchema.optional()
|
|
1862
1911
|
});
|
|
1863
1912
|
var ProjectSchema = ProjectCoreSchema.extend({
|
|
1864
|
-
bookmarked:
|
|
1913
|
+
bookmarked: z41.boolean().optional()
|
|
1865
1914
|
});
|
|
1866
|
-
var ProjectListResponseSchema =
|
|
1867
|
-
var ProjectListQuerySchema =
|
|
1868
|
-
status:
|
|
1869
|
-
page:
|
|
1915
|
+
var ProjectListResponseSchema = z41.array(ProjectSchema);
|
|
1916
|
+
var ProjectListQuerySchema = z41.object({
|
|
1917
|
+
status: z41.enum(["active", "archived", "trashed"]).or(z41.string()).optional(),
|
|
1918
|
+
page: z41.coerce.number().int().positive().optional()
|
|
1870
1919
|
});
|
|
1871
|
-
var ProjectCreateBodySchema =
|
|
1872
|
-
name:
|
|
1920
|
+
var ProjectCreateBodySchema = z41.object({
|
|
1921
|
+
name: z41.string().min(1),
|
|
1873
1922
|
description: HtmlStringSchema.nullable().optional()
|
|
1874
1923
|
});
|
|
1875
|
-
var ScheduleAttributesSchema =
|
|
1876
|
-
start_date:
|
|
1877
|
-
end_date:
|
|
1924
|
+
var ScheduleAttributesSchema = z41.object({
|
|
1925
|
+
start_date: z41.string().date().optional(),
|
|
1926
|
+
end_date: z41.string().date().optional()
|
|
1878
1927
|
}).refine(
|
|
1879
1928
|
(value) => value.start_date === void 0 && value.end_date === void 0 || value.start_date !== void 0 && value.end_date !== void 0,
|
|
1880
1929
|
{
|
|
@@ -1882,15 +1931,15 @@ var ScheduleAttributesSchema = z40.object({
|
|
|
1882
1931
|
path: ["end_date"]
|
|
1883
1932
|
}
|
|
1884
1933
|
);
|
|
1885
|
-
var ProjectUpdateBodySchema =
|
|
1886
|
-
name:
|
|
1934
|
+
var ProjectUpdateBodySchema = z41.object({
|
|
1935
|
+
name: z41.string().min(1),
|
|
1887
1936
|
description: HtmlStringSchema.nullable().optional(),
|
|
1888
|
-
admissions:
|
|
1937
|
+
admissions: z41.enum(["invite", "employee", "team"]).or(z41.string()).optional(),
|
|
1889
1938
|
schedule_attributes: ScheduleAttributesSchema.optional()
|
|
1890
1939
|
});
|
|
1891
1940
|
|
|
1892
1941
|
// src/contract/resources/projects.ts
|
|
1893
|
-
var ProjectPathParamsSchema2 =
|
|
1942
|
+
var ProjectPathParamsSchema2 = z42.object({
|
|
1894
1943
|
projectId: BasecampIdParamSchema
|
|
1895
1944
|
});
|
|
1896
1945
|
var projectsRouter = c.router({
|
|
@@ -1937,8 +1986,8 @@ var projectsRouter = c.router({
|
|
|
1937
1986
|
body: ProjectCreateBodySchema,
|
|
1938
1987
|
responses: {
|
|
1939
1988
|
201: ProjectSchema,
|
|
1940
|
-
507:
|
|
1941
|
-
error:
|
|
1989
|
+
507: z42.object({
|
|
1990
|
+
error: z42.string()
|
|
1942
1991
|
})
|
|
1943
1992
|
}
|
|
1944
1993
|
},
|
|
@@ -1977,8 +2026,8 @@ var projectsRouter = c.router({
|
|
|
1977
2026
|
});
|
|
1978
2027
|
|
|
1979
2028
|
// src/contract/resources/recordings.ts
|
|
1980
|
-
import { z as
|
|
1981
|
-
var BucketRecordingPathParamsSchema =
|
|
2029
|
+
import { z as z43 } from "zod";
|
|
2030
|
+
var BucketRecordingPathParamsSchema = z43.object({
|
|
1982
2031
|
bucketId: BasecampIdParamSchema,
|
|
1983
2032
|
recordingId: BasecampIdParamSchema
|
|
1984
2033
|
});
|
|
@@ -2049,14 +2098,14 @@ var recordingsRouter = c.router({
|
|
|
2049
2098
|
});
|
|
2050
2099
|
|
|
2051
2100
|
// src/contract/resources/kanban/card-tables.ts
|
|
2052
|
-
import { z as
|
|
2101
|
+
import { z as z49 } from "zod";
|
|
2053
2102
|
|
|
2054
2103
|
// src/contract/schemas/kanban/card-tables.ts
|
|
2055
|
-
import { z as
|
|
2104
|
+
import { z as z46 } from "zod";
|
|
2056
2105
|
|
|
2057
2106
|
// src/contract/schemas/kanban/common.ts
|
|
2058
|
-
import { z as
|
|
2059
|
-
var KanbanColumnColorSchema =
|
|
2107
|
+
import { z as z44 } from "zod";
|
|
2108
|
+
var KanbanColumnColorSchema = z44.enum([
|
|
2060
2109
|
"white",
|
|
2061
2110
|
"red",
|
|
2062
2111
|
"orange",
|
|
@@ -2068,22 +2117,22 @@ var KanbanColumnColorSchema = z43.enum([
|
|
|
2068
2117
|
"gray",
|
|
2069
2118
|
"pink",
|
|
2070
2119
|
"brown"
|
|
2071
|
-
]).or(
|
|
2120
|
+
]).or(z44.string());
|
|
2072
2121
|
|
|
2073
2122
|
// src/contract/schemas/kanban/columns.ts
|
|
2074
|
-
import { z as
|
|
2123
|
+
import { z as z45 } from "zod";
|
|
2075
2124
|
var CardTableColumnSchema = RecordingBaseSchema.extend({
|
|
2076
|
-
type:
|
|
2125
|
+
type: z45.enum(["Kanban::Column", "Kanban::Triage", "Kanban::NotNowColumn", "Kanban::DoneColumn"]),
|
|
2077
2126
|
description: HtmlStringSchema.nullable().optional(),
|
|
2078
|
-
subscribers:
|
|
2127
|
+
subscribers: z45.array(PersonSummarySchema),
|
|
2079
2128
|
color: KanbanColumnColorSchema.nullable().optional(),
|
|
2080
|
-
cards_count:
|
|
2081
|
-
comment_count:
|
|
2082
|
-
cards_url:
|
|
2083
|
-
on_hold:
|
|
2129
|
+
cards_count: z45.number().int().nonnegative().optional(),
|
|
2130
|
+
comment_count: z45.number().int().nonnegative().optional(),
|
|
2131
|
+
cards_url: z45.string().url(),
|
|
2132
|
+
on_hold: z45.unknown().optional()
|
|
2084
2133
|
});
|
|
2085
|
-
var CardTableColumnCreateBodySchema =
|
|
2086
|
-
title:
|
|
2134
|
+
var CardTableColumnCreateBodySchema = z45.object({
|
|
2135
|
+
title: z45.string().min(1),
|
|
2087
2136
|
description: HtmlStringSchema.nullable().optional()
|
|
2088
2137
|
});
|
|
2089
2138
|
var CardTableColumnUpdateBodySchema = CardTableColumnCreateBodySchema.partial().refine(
|
|
@@ -2092,41 +2141,41 @@ var CardTableColumnUpdateBodySchema = CardTableColumnCreateBodySchema.partial().
|
|
|
2092
2141
|
message: "At least one field must be provided to update a column."
|
|
2093
2142
|
}
|
|
2094
2143
|
);
|
|
2095
|
-
var CardTableColumnMoveBodySchema =
|
|
2144
|
+
var CardTableColumnMoveBodySchema = z45.object({
|
|
2096
2145
|
source_id: BasecampIdSchema,
|
|
2097
2146
|
target_id: BasecampIdSchema,
|
|
2098
|
-
position:
|
|
2147
|
+
position: z45.number().int().positive().optional()
|
|
2099
2148
|
});
|
|
2100
|
-
var CardTableColumnColorBodySchema =
|
|
2149
|
+
var CardTableColumnColorBodySchema = z45.object({
|
|
2101
2150
|
color: KanbanColumnColorSchema
|
|
2102
2151
|
});
|
|
2103
2152
|
|
|
2104
2153
|
// src/contract/schemas/kanban/card-tables.ts
|
|
2105
2154
|
var CardTableSchema = RecordingBaseSchema.extend({
|
|
2106
|
-
type:
|
|
2107
|
-
subscribers:
|
|
2108
|
-
public_link_url:
|
|
2109
|
-
lists:
|
|
2155
|
+
type: z46.literal("Kanban::Board"),
|
|
2156
|
+
subscribers: z46.array(PersonSummarySchema),
|
|
2157
|
+
public_link_url: z46.string().url().optional(),
|
|
2158
|
+
lists: z46.array(CardTableColumnSchema)
|
|
2110
2159
|
});
|
|
2111
2160
|
|
|
2112
2161
|
// src/contract/schemas/kanban/cards.ts
|
|
2113
|
-
import { z as
|
|
2162
|
+
import { z as z48 } from "zod";
|
|
2114
2163
|
|
|
2115
2164
|
// src/contract/schemas/kanban/steps.ts
|
|
2116
|
-
import { z as
|
|
2165
|
+
import { z as z47 } from "zod";
|
|
2117
2166
|
var CardTableStepSchema = RecordingBaseSchema.extend({
|
|
2118
|
-
type:
|
|
2119
|
-
completed:
|
|
2167
|
+
type: z47.literal("Kanban::Step"),
|
|
2168
|
+
completed: z47.boolean(),
|
|
2120
2169
|
due_on: IsoDateSchema.nullable().optional(),
|
|
2121
|
-
assignees:
|
|
2122
|
-
completion_url:
|
|
2123
|
-
completion_subscribers:
|
|
2170
|
+
assignees: z47.array(PersonSummarySchema),
|
|
2171
|
+
completion_url: z47.string().min(1),
|
|
2172
|
+
completion_subscribers: z47.array(PersonSummarySchema).optional(),
|
|
2124
2173
|
description: HtmlStringSchema.nullable().optional()
|
|
2125
2174
|
});
|
|
2126
|
-
var CardTableStepCreateBodySchema =
|
|
2127
|
-
title:
|
|
2175
|
+
var CardTableStepCreateBodySchema = z47.object({
|
|
2176
|
+
title: z47.string().min(1),
|
|
2128
2177
|
due_on: IsoDateSchema.optional(),
|
|
2129
|
-
assignees:
|
|
2178
|
+
assignees: z47.string().optional()
|
|
2130
2179
|
});
|
|
2131
2180
|
var CardTableStepUpdateBodySchema = CardTableStepCreateBodySchema.partial().refine(
|
|
2132
2181
|
(value) => value.title !== void 0 || value.due_on !== void 0 || value.assignees !== void 0,
|
|
@@ -2134,57 +2183,57 @@ var CardTableStepUpdateBodySchema = CardTableStepCreateBodySchema.partial().refi
|
|
|
2134
2183
|
message: "At least one field must be provided to update a step."
|
|
2135
2184
|
}
|
|
2136
2185
|
);
|
|
2137
|
-
var CardTableStepCompletionBodySchema =
|
|
2138
|
-
completion:
|
|
2186
|
+
var CardTableStepCompletionBodySchema = z47.object({
|
|
2187
|
+
completion: z47.enum(["on", "off"])
|
|
2139
2188
|
});
|
|
2140
|
-
var CardTableStepRepositionBodySchema =
|
|
2189
|
+
var CardTableStepRepositionBodySchema = z47.object({
|
|
2141
2190
|
source_id: BasecampIdSchema,
|
|
2142
|
-
position:
|
|
2191
|
+
position: z47.number().int().nonnegative()
|
|
2143
2192
|
});
|
|
2144
2193
|
|
|
2145
2194
|
// src/contract/schemas/kanban/cards.ts
|
|
2146
2195
|
var CardTableCardSchema = RecordingBaseSchema.extend({
|
|
2147
|
-
type:
|
|
2196
|
+
type: z48.literal("Kanban::Card"),
|
|
2148
2197
|
description: HtmlStringSchema.nullable().optional(),
|
|
2149
|
-
completed:
|
|
2198
|
+
completed: z48.boolean(),
|
|
2150
2199
|
content: HtmlStringSchema.nullable().optional(),
|
|
2151
2200
|
due_on: IsoDateSchema.nullable().optional(),
|
|
2152
|
-
comment_count:
|
|
2153
|
-
assignees:
|
|
2154
|
-
completion_subscribers:
|
|
2155
|
-
completion_url:
|
|
2156
|
-
steps:
|
|
2157
|
-
});
|
|
2158
|
-
var CardTableCardListResponseSchema =
|
|
2159
|
-
var CardTableCardListQuerySchema =
|
|
2160
|
-
page:
|
|
2161
|
-
});
|
|
2162
|
-
var CardTableCardCreateBodySchema =
|
|
2163
|
-
title:
|
|
2201
|
+
comment_count: z48.number().int().nonnegative().optional(),
|
|
2202
|
+
assignees: z48.array(PersonSummarySchema),
|
|
2203
|
+
completion_subscribers: z48.array(PersonSummarySchema),
|
|
2204
|
+
completion_url: z48.string().min(1),
|
|
2205
|
+
steps: z48.array(CardTableStepSchema).optional()
|
|
2206
|
+
});
|
|
2207
|
+
var CardTableCardListResponseSchema = z48.array(CardTableCardSchema);
|
|
2208
|
+
var CardTableCardListQuerySchema = z48.object({
|
|
2209
|
+
page: z48.coerce.number().int().positive().optional()
|
|
2210
|
+
});
|
|
2211
|
+
var CardTableCardCreateBodySchema = z48.object({
|
|
2212
|
+
title: z48.string().min(1),
|
|
2164
2213
|
content: HtmlStringSchema.nullable().optional(),
|
|
2165
2214
|
due_on: IsoDateSchema.optional(),
|
|
2166
|
-
notify:
|
|
2167
|
-
assignee_ids:
|
|
2215
|
+
notify: z48.boolean().optional(),
|
|
2216
|
+
assignee_ids: z48.array(BasecampIdSchema).optional()
|
|
2168
2217
|
});
|
|
2169
|
-
var CardTableCardUpdateBodySchema =
|
|
2170
|
-
title:
|
|
2218
|
+
var CardTableCardUpdateBodySchema = z48.object({
|
|
2219
|
+
title: z48.string().min(1).optional(),
|
|
2171
2220
|
content: HtmlStringSchema.nullable().optional(),
|
|
2172
2221
|
due_on: IsoDateSchema.nullable().optional(),
|
|
2173
|
-
assignee_ids:
|
|
2174
|
-
notify:
|
|
2222
|
+
assignee_ids: z48.array(BasecampIdSchema).optional(),
|
|
2223
|
+
notify: z48.boolean().optional()
|
|
2175
2224
|
}).refine(
|
|
2176
2225
|
(value) => value.title !== void 0 || value.content !== void 0 || value.due_on !== void 0 || value.assignee_ids !== void 0 || value.notify !== void 0,
|
|
2177
2226
|
{
|
|
2178
2227
|
message: "At least one field must be provided to update a card."
|
|
2179
2228
|
}
|
|
2180
2229
|
);
|
|
2181
|
-
var CardTableCardMoveBodySchema =
|
|
2230
|
+
var CardTableCardMoveBodySchema = z48.object({
|
|
2182
2231
|
column_id: BasecampIdSchema,
|
|
2183
|
-
position:
|
|
2232
|
+
position: z48.number().int().positive().optional()
|
|
2184
2233
|
});
|
|
2185
2234
|
|
|
2186
2235
|
// src/contract/resources/kanban/card-tables.ts
|
|
2187
|
-
var cardTablePathParams =
|
|
2236
|
+
var cardTablePathParams = z49.object({
|
|
2188
2237
|
bucketId: BasecampIdParamSchema,
|
|
2189
2238
|
cardTableId: BasecampIdParamSchema
|
|
2190
2239
|
});
|
|
@@ -2207,8 +2256,8 @@ var cardTablesRouter = c.router({
|
|
|
2207
2256
|
});
|
|
2208
2257
|
|
|
2209
2258
|
// src/contract/resources/kanban/columns.ts
|
|
2210
|
-
import { z as
|
|
2211
|
-
var bucketParams =
|
|
2259
|
+
import { z as z50 } from "zod";
|
|
2260
|
+
var bucketParams = z50.object({
|
|
2212
2261
|
bucketId: BasecampIdParamSchema
|
|
2213
2262
|
});
|
|
2214
2263
|
var bucketAndCardTableParams = bucketParams.extend({
|
|
@@ -2364,8 +2413,8 @@ var cardTableColumnsRouter = c.router({
|
|
|
2364
2413
|
});
|
|
2365
2414
|
|
|
2366
2415
|
// src/contract/resources/kanban/cards.ts
|
|
2367
|
-
import { z as
|
|
2368
|
-
var bucketParams2 =
|
|
2416
|
+
import { z as z51 } from "zod";
|
|
2417
|
+
var bucketParams2 = z51.object({
|
|
2369
2418
|
bucketId: BasecampIdParamSchema
|
|
2370
2419
|
});
|
|
2371
2420
|
var bucketAndColumnParams2 = bucketParams2.extend({
|
|
@@ -2457,8 +2506,8 @@ var cardTableCardsRouter = c.router({
|
|
|
2457
2506
|
});
|
|
2458
2507
|
|
|
2459
2508
|
// src/contract/resources/kanban/steps.ts
|
|
2460
|
-
import { z as
|
|
2461
|
-
var bucketParams3 =
|
|
2509
|
+
import { z as z52 } from "zod";
|
|
2510
|
+
var bucketParams3 = z52.object({
|
|
2462
2511
|
bucketId: BasecampIdParamSchema
|
|
2463
2512
|
});
|
|
2464
2513
|
var bucketAndCardParams2 = bucketParams3.extend({
|
|
@@ -2535,22 +2584,22 @@ var cardTableStepsRouter = c.router({
|
|
|
2535
2584
|
});
|
|
2536
2585
|
|
|
2537
2586
|
// src/contract/resources/scheduling/schedules.ts
|
|
2538
|
-
import { z as
|
|
2587
|
+
import { z as z54 } from "zod";
|
|
2539
2588
|
|
|
2540
2589
|
// src/contract/schemas/scheduling/schedules.ts
|
|
2541
|
-
import { z as
|
|
2590
|
+
import { z as z53 } from "zod";
|
|
2542
2591
|
var ScheduleSchema = RecordingBaseSchema.extend({
|
|
2543
|
-
type:
|
|
2544
|
-
include_due_assignments:
|
|
2545
|
-
entries_count:
|
|
2546
|
-
entries_url:
|
|
2592
|
+
type: z53.literal("Schedule"),
|
|
2593
|
+
include_due_assignments: z53.boolean(),
|
|
2594
|
+
entries_count: z53.number().int(),
|
|
2595
|
+
entries_url: z53.string().url()
|
|
2547
2596
|
});
|
|
2548
|
-
var ScheduleUpdateBodySchema =
|
|
2549
|
-
include_due_assignments:
|
|
2597
|
+
var ScheduleUpdateBodySchema = z53.object({
|
|
2598
|
+
include_due_assignments: z53.boolean()
|
|
2550
2599
|
});
|
|
2551
2600
|
|
|
2552
2601
|
// src/contract/resources/scheduling/schedules.ts
|
|
2553
|
-
var bucketAndSchedulePathParams =
|
|
2602
|
+
var bucketAndSchedulePathParams = z54.object({
|
|
2554
2603
|
bucketId: BasecampIdParamSchema,
|
|
2555
2604
|
scheduleId: BasecampIdParamSchema
|
|
2556
2605
|
});
|
|
@@ -2589,68 +2638,68 @@ var schedulesRouter = c.router({
|
|
|
2589
2638
|
});
|
|
2590
2639
|
|
|
2591
2640
|
// src/contract/resources/scheduling/schedule-entries.ts
|
|
2592
|
-
import { z as
|
|
2641
|
+
import { z as z56 } from "zod";
|
|
2593
2642
|
|
|
2594
2643
|
// src/contract/schemas/scheduling/schedule-entries.ts
|
|
2595
|
-
import { z as
|
|
2596
|
-
var RecurrenceScheduleSchema =
|
|
2597
|
-
frequency:
|
|
2598
|
-
days:
|
|
2599
|
-
hour:
|
|
2600
|
-
minute:
|
|
2601
|
-
week_instance:
|
|
2602
|
-
week_interval:
|
|
2603
|
-
month_interval:
|
|
2604
|
-
start_date:
|
|
2605
|
-
end_date:
|
|
2644
|
+
import { z as z55 } from "zod";
|
|
2645
|
+
var RecurrenceScheduleSchema = z55.object({
|
|
2646
|
+
frequency: z55.string(),
|
|
2647
|
+
days: z55.array(z55.number().int()),
|
|
2648
|
+
hour: z55.number().int(),
|
|
2649
|
+
minute: z55.number().int(),
|
|
2650
|
+
week_instance: z55.number().int().nullable(),
|
|
2651
|
+
week_interval: z55.number().int().nullable(),
|
|
2652
|
+
month_interval: z55.number().int().nullable(),
|
|
2653
|
+
start_date: z55.string(),
|
|
2654
|
+
end_date: z55.string().nullable()
|
|
2606
2655
|
});
|
|
2607
2656
|
var ScheduleEntrySchema = RecordingBaseSchema.extend({
|
|
2608
|
-
type:
|
|
2657
|
+
type: z55.literal("Schedule::Entry"),
|
|
2609
2658
|
description: HtmlStringSchema,
|
|
2610
|
-
summary:
|
|
2611
|
-
all_day:
|
|
2612
|
-
starts_at:
|
|
2613
|
-
ends_at:
|
|
2614
|
-
participants:
|
|
2659
|
+
summary: z55.string(),
|
|
2660
|
+
all_day: z55.boolean(),
|
|
2661
|
+
starts_at: z55.string(),
|
|
2662
|
+
ends_at: z55.string(),
|
|
2663
|
+
participants: z55.array(PersonSummarySchema),
|
|
2615
2664
|
recurrence_schedule: RecurrenceScheduleSchema.optional()
|
|
2616
2665
|
});
|
|
2617
|
-
var ScheduleEntryListResponseSchema =
|
|
2618
|
-
var ScheduleEntryListQuerySchema =
|
|
2666
|
+
var ScheduleEntryListResponseSchema = z55.array(ScheduleEntrySchema);
|
|
2667
|
+
var ScheduleEntryListQuerySchema = z55.object({
|
|
2619
2668
|
status: RecordingStatusSchema.optional(),
|
|
2620
|
-
page:
|
|
2669
|
+
page: z55.coerce.number().int().positive().optional()
|
|
2621
2670
|
});
|
|
2622
|
-
var ScheduleEntryCreateBodySchema =
|
|
2623
|
-
summary:
|
|
2624
|
-
starts_at:
|
|
2625
|
-
ends_at:
|
|
2671
|
+
var ScheduleEntryCreateBodySchema = z55.object({
|
|
2672
|
+
summary: z55.string(),
|
|
2673
|
+
starts_at: z55.string(),
|
|
2674
|
+
ends_at: z55.string(),
|
|
2626
2675
|
description: HtmlStringSchema.optional(),
|
|
2627
|
-
participant_ids:
|
|
2628
|
-
all_day:
|
|
2629
|
-
notify:
|
|
2630
|
-
});
|
|
2631
|
-
var ScheduleEntryUpdateBodySchema =
|
|
2632
|
-
summary:
|
|
2633
|
-
starts_at:
|
|
2634
|
-
ends_at:
|
|
2676
|
+
participant_ids: z55.array(BasecampIdSchema).optional(),
|
|
2677
|
+
all_day: z55.boolean().optional(),
|
|
2678
|
+
notify: z55.boolean().optional()
|
|
2679
|
+
});
|
|
2680
|
+
var ScheduleEntryUpdateBodySchema = z55.object({
|
|
2681
|
+
summary: z55.string().optional(),
|
|
2682
|
+
starts_at: z55.string().optional(),
|
|
2683
|
+
ends_at: z55.string().optional(),
|
|
2635
2684
|
description: HtmlStringSchema.optional(),
|
|
2636
|
-
participant_ids:
|
|
2637
|
-
all_day:
|
|
2638
|
-
notify:
|
|
2685
|
+
participant_ids: z55.array(BasecampIdSchema).optional(),
|
|
2686
|
+
all_day: z55.boolean().optional(),
|
|
2687
|
+
notify: z55.boolean().optional()
|
|
2639
2688
|
});
|
|
2640
2689
|
|
|
2641
2690
|
// src/contract/resources/scheduling/schedule-entries.ts
|
|
2642
|
-
var bucketAndSchedulePathParams2 =
|
|
2691
|
+
var bucketAndSchedulePathParams2 = z56.object({
|
|
2643
2692
|
bucketId: BasecampIdParamSchema,
|
|
2644
2693
|
scheduleId: BasecampIdParamSchema
|
|
2645
2694
|
});
|
|
2646
|
-
var bucketAndEntryPathParams =
|
|
2695
|
+
var bucketAndEntryPathParams = z56.object({
|
|
2647
2696
|
bucketId: BasecampIdParamSchema,
|
|
2648
2697
|
scheduleEntryId: BasecampIdParamSchema
|
|
2649
2698
|
});
|
|
2650
|
-
var bucketEntryOccurrencePathParams =
|
|
2699
|
+
var bucketEntryOccurrencePathParams = z56.object({
|
|
2651
2700
|
bucketId: BasecampIdParamSchema,
|
|
2652
2701
|
scheduleEntryId: BasecampIdParamSchema,
|
|
2653
|
-
occurrenceDate:
|
|
2702
|
+
occurrenceDate: z56.string()
|
|
2654
2703
|
});
|
|
2655
2704
|
var scheduleEntriesRouter = c.router({
|
|
2656
2705
|
list: {
|
|
@@ -2750,19 +2799,19 @@ var scheduleEntriesRouter = c.router({
|
|
|
2750
2799
|
});
|
|
2751
2800
|
|
|
2752
2801
|
// src/contract/resources/scheduling/questionnaires.ts
|
|
2753
|
-
import { z as
|
|
2802
|
+
import { z as z58 } from "zod";
|
|
2754
2803
|
|
|
2755
2804
|
// src/contract/schemas/scheduling/questionnaires.ts
|
|
2756
|
-
import { z as
|
|
2805
|
+
import { z as z57 } from "zod";
|
|
2757
2806
|
var QuestionnaireSchema = RecordingBaseSchema.extend({
|
|
2758
|
-
type:
|
|
2759
|
-
name:
|
|
2760
|
-
questions_count:
|
|
2761
|
-
questions_url:
|
|
2807
|
+
type: z57.literal("Questionnaire"),
|
|
2808
|
+
name: z57.string(),
|
|
2809
|
+
questions_count: z57.number().int(),
|
|
2810
|
+
questions_url: z57.string().url()
|
|
2762
2811
|
});
|
|
2763
2812
|
|
|
2764
2813
|
// src/contract/resources/scheduling/questionnaires.ts
|
|
2765
|
-
var bucketAndQuestionnairePathParams =
|
|
2814
|
+
var bucketAndQuestionnairePathParams = z58.object({
|
|
2766
2815
|
bucketId: BasecampIdParamSchema,
|
|
2767
2816
|
questionnaireId: BasecampIdParamSchema
|
|
2768
2817
|
});
|
|
@@ -2785,39 +2834,39 @@ var questionnairesRouter = c.router({
|
|
|
2785
2834
|
});
|
|
2786
2835
|
|
|
2787
2836
|
// src/contract/resources/scheduling/questions.ts
|
|
2788
|
-
import { z as
|
|
2837
|
+
import { z as z60 } from "zod";
|
|
2789
2838
|
|
|
2790
2839
|
// src/contract/schemas/scheduling/questions.ts
|
|
2791
|
-
import { z as
|
|
2792
|
-
var QuestionScheduleSchema =
|
|
2793
|
-
frequency:
|
|
2794
|
-
days:
|
|
2795
|
-
hour:
|
|
2796
|
-
minute:
|
|
2797
|
-
week_instance:
|
|
2798
|
-
week_interval:
|
|
2799
|
-
month_interval:
|
|
2800
|
-
start_date:
|
|
2801
|
-
end_date:
|
|
2840
|
+
import { z as z59 } from "zod";
|
|
2841
|
+
var QuestionScheduleSchema = z59.object({
|
|
2842
|
+
frequency: z59.string(),
|
|
2843
|
+
days: z59.array(z59.number().int()),
|
|
2844
|
+
hour: z59.number().int(),
|
|
2845
|
+
minute: z59.number().int(),
|
|
2846
|
+
week_instance: z59.number().int().nullable(),
|
|
2847
|
+
week_interval: z59.number().int().nullable(),
|
|
2848
|
+
month_interval: z59.number().int().nullable(),
|
|
2849
|
+
start_date: z59.string(),
|
|
2850
|
+
end_date: z59.string().nullable()
|
|
2802
2851
|
});
|
|
2803
2852
|
var QuestionSchema = RecordingBaseSchema.extend({
|
|
2804
|
-
type:
|
|
2805
|
-
paused:
|
|
2853
|
+
type: z59.literal("Question"),
|
|
2854
|
+
paused: z59.boolean(),
|
|
2806
2855
|
schedule: QuestionScheduleSchema,
|
|
2807
|
-
answers_count:
|
|
2808
|
-
answers_url:
|
|
2856
|
+
answers_count: z59.number().int(),
|
|
2857
|
+
answers_url: z59.string().url()
|
|
2809
2858
|
});
|
|
2810
|
-
var QuestionListResponseSchema =
|
|
2811
|
-
var QuestionListQuerySchema =
|
|
2812
|
-
page:
|
|
2859
|
+
var QuestionListResponseSchema = z59.array(QuestionSchema);
|
|
2860
|
+
var QuestionListQuerySchema = z59.object({
|
|
2861
|
+
page: z59.coerce.number().int().positive().optional()
|
|
2813
2862
|
});
|
|
2814
2863
|
|
|
2815
2864
|
// src/contract/resources/scheduling/questions.ts
|
|
2816
|
-
var bucketAndQuestionnairePathParams2 =
|
|
2865
|
+
var bucketAndQuestionnairePathParams2 = z60.object({
|
|
2817
2866
|
bucketId: BasecampIdParamSchema,
|
|
2818
2867
|
questionnaireId: BasecampIdParamSchema
|
|
2819
2868
|
});
|
|
2820
|
-
var bucketAndQuestionPathParams =
|
|
2869
|
+
var bucketAndQuestionPathParams = z60.object({
|
|
2821
2870
|
bucketId: BasecampIdParamSchema,
|
|
2822
2871
|
questionId: BasecampIdParamSchema
|
|
2823
2872
|
});
|
|
@@ -2855,26 +2904,104 @@ var questionsRouter = c.router({
|
|
|
2855
2904
|
}
|
|
2856
2905
|
});
|
|
2857
2906
|
|
|
2858
|
-
// src/contract/resources/
|
|
2907
|
+
// src/contract/resources/scheduling/question-answers.ts
|
|
2908
|
+
import { z as z62 } from "zod";
|
|
2909
|
+
|
|
2910
|
+
// src/contract/schemas/scheduling/question-answers.ts
|
|
2859
2911
|
import { z as z61 } from "zod";
|
|
2912
|
+
var QuestionAnswerSchema = RecordingBaseSchema.extend({
|
|
2913
|
+
type: z61.literal("Question::Answer"),
|
|
2914
|
+
content: HtmlStringSchema,
|
|
2915
|
+
group_on: z61.string()
|
|
2916
|
+
});
|
|
2917
|
+
var QuestionAnswerListResponseSchema = z61.array(QuestionAnswerSchema);
|
|
2918
|
+
var QuestionAnswerListQuerySchema = z61.object({
|
|
2919
|
+
page: z61.coerce.number().int().positive().optional()
|
|
2920
|
+
});
|
|
2921
|
+
var QuestionAnswerCreateBodySchema = z61.object({
|
|
2922
|
+
content: HtmlStringSchema.min(1),
|
|
2923
|
+
group_on: z61.string()
|
|
2924
|
+
});
|
|
2925
|
+
|
|
2926
|
+
// src/contract/resources/scheduling/question-answers.ts
|
|
2927
|
+
var bucketAndQuestionPathParams2 = z62.object({
|
|
2928
|
+
bucketId: BasecampIdParamSchema,
|
|
2929
|
+
questionId: BasecampIdParamSchema
|
|
2930
|
+
});
|
|
2931
|
+
var bucketAndAnswerPathParams = z62.object({
|
|
2932
|
+
bucketId: BasecampIdParamSchema,
|
|
2933
|
+
answerId: BasecampIdParamSchema
|
|
2934
|
+
});
|
|
2935
|
+
var questionAnswersRouter = c.router({
|
|
2936
|
+
list: {
|
|
2937
|
+
summary: "List question answers",
|
|
2938
|
+
description: "Returns a paginated list of answers for a specific check-in question.",
|
|
2939
|
+
metadata: {
|
|
2940
|
+
tag: "Question Answers",
|
|
2941
|
+
operationId: "questionAnswers.list",
|
|
2942
|
+
docsPath: "/docs/basecamp-api-specs/sections/question_answers.md#get-question-answers"
|
|
2943
|
+
},
|
|
2944
|
+
method: "GET",
|
|
2945
|
+
path: "/buckets/:bucketId/questions/:questionId/answers",
|
|
2946
|
+
pathParams: bucketAndQuestionPathParams2,
|
|
2947
|
+
query: QuestionAnswerListQuerySchema,
|
|
2948
|
+
responses: {
|
|
2949
|
+
200: QuestionAnswerListResponseSchema
|
|
2950
|
+
}
|
|
2951
|
+
},
|
|
2952
|
+
get: {
|
|
2953
|
+
summary: "Get a question answer",
|
|
2954
|
+
description: "Returns a single question answer by its ID.",
|
|
2955
|
+
metadata: {
|
|
2956
|
+
tag: "Question Answers",
|
|
2957
|
+
operationId: "questionAnswers.get",
|
|
2958
|
+
docsPath: "/docs/basecamp-api-specs/sections/question_answers.md#get-a-question-answer"
|
|
2959
|
+
},
|
|
2960
|
+
method: "GET",
|
|
2961
|
+
path: "/buckets/:bucketId/question_answers/:answerId",
|
|
2962
|
+
pathParams: bucketAndAnswerPathParams,
|
|
2963
|
+
responses: {
|
|
2964
|
+
200: QuestionAnswerSchema
|
|
2965
|
+
}
|
|
2966
|
+
},
|
|
2967
|
+
create: {
|
|
2968
|
+
summary: "Create a question answer",
|
|
2969
|
+
description: "Create a new answer for a check-in question.",
|
|
2970
|
+
metadata: {
|
|
2971
|
+
tag: "Question Answers",
|
|
2972
|
+
operationId: "questionAnswers.create",
|
|
2973
|
+
docsPath: "/docs/basecamp-api-specs/sections/question_answers.md#get-question-answers"
|
|
2974
|
+
},
|
|
2975
|
+
method: "POST",
|
|
2976
|
+
path: "/buckets/:bucketId/questions/:questionId/answers",
|
|
2977
|
+
pathParams: bucketAndQuestionPathParams2,
|
|
2978
|
+
body: QuestionAnswerCreateBodySchema,
|
|
2979
|
+
responses: {
|
|
2980
|
+
201: QuestionAnswerSchema
|
|
2981
|
+
}
|
|
2982
|
+
}
|
|
2983
|
+
});
|
|
2984
|
+
|
|
2985
|
+
// src/contract/resources/tasks/todosets.ts
|
|
2986
|
+
import { z as z64 } from "zod";
|
|
2860
2987
|
|
|
2861
2988
|
// src/contract/schemas/tasks/todosets.ts
|
|
2862
|
-
import { z as
|
|
2989
|
+
import { z as z63 } from "zod";
|
|
2863
2990
|
var TodoSetSchema = RecordingBaseSchema.omit({
|
|
2864
2991
|
subscription_url: true,
|
|
2865
2992
|
comments_count: true,
|
|
2866
2993
|
comments_url: true
|
|
2867
2994
|
}).extend({
|
|
2868
|
-
completed:
|
|
2869
|
-
completed_ratio:
|
|
2870
|
-
name:
|
|
2871
|
-
todolists_count:
|
|
2872
|
-
todolists_url:
|
|
2873
|
-
app_todoslists_url:
|
|
2995
|
+
completed: z63.boolean(),
|
|
2996
|
+
completed_ratio: z63.string(),
|
|
2997
|
+
name: z63.string(),
|
|
2998
|
+
todolists_count: z63.number().int().nonnegative(),
|
|
2999
|
+
todolists_url: z63.string().url(),
|
|
3000
|
+
app_todoslists_url: z63.string().url()
|
|
2874
3001
|
});
|
|
2875
3002
|
|
|
2876
3003
|
// src/contract/resources/tasks/todosets.ts
|
|
2877
|
-
var bucketPathParams2 =
|
|
3004
|
+
var bucketPathParams2 = z64.object({
|
|
2878
3005
|
bucketId: BasecampIdParamSchema
|
|
2879
3006
|
});
|
|
2880
3007
|
var bucketAndTodoSetPathParams = bucketPathParams2.extend({
|
|
@@ -2899,42 +3026,42 @@ var todoSetsRouter = c.router({
|
|
|
2899
3026
|
});
|
|
2900
3027
|
|
|
2901
3028
|
// src/contract/resources/tasks/todolists.ts
|
|
2902
|
-
import { z as
|
|
3029
|
+
import { z as z66 } from "zod";
|
|
2903
3030
|
|
|
2904
3031
|
// src/contract/schemas/tasks/todolists.ts
|
|
2905
|
-
import { z as
|
|
3032
|
+
import { z as z65 } from "zod";
|
|
2906
3033
|
var TodoListBaseSchema = RecordingBaseSchema.extend({
|
|
2907
|
-
type:
|
|
3034
|
+
type: z65.literal("Todolist"),
|
|
2908
3035
|
description: HtmlStringSchema.optional(),
|
|
2909
|
-
completed:
|
|
2910
|
-
completed_ratio:
|
|
2911
|
-
name:
|
|
2912
|
-
todos_url:
|
|
2913
|
-
app_todos_url:
|
|
3036
|
+
completed: z65.boolean(),
|
|
3037
|
+
completed_ratio: z65.string(),
|
|
3038
|
+
name: z65.string(),
|
|
3039
|
+
todos_url: z65.string().url(),
|
|
3040
|
+
app_todos_url: z65.string().url()
|
|
2914
3041
|
});
|
|
2915
3042
|
var TodoTopLevelListSchema = TodoListBaseSchema.extend({
|
|
2916
|
-
groups_url:
|
|
3043
|
+
groups_url: z65.string().url()
|
|
2917
3044
|
});
|
|
2918
3045
|
var TodoListGroupSchema = TodoListBaseSchema.extend({
|
|
2919
|
-
group_position_url:
|
|
3046
|
+
group_position_url: z65.string().url()
|
|
2920
3047
|
});
|
|
2921
|
-
var TodoListSchema =
|
|
2922
|
-
var TodoListsResponseSchema =
|
|
2923
|
-
var TodoListQuerySchema =
|
|
2924
|
-
status:
|
|
2925
|
-
page:
|
|
3048
|
+
var TodoListSchema = z65.union([TodoTopLevelListSchema, TodoListGroupSchema]);
|
|
3049
|
+
var TodoListsResponseSchema = z65.array(TodoTopLevelListSchema);
|
|
3050
|
+
var TodoListQuerySchema = z65.object({
|
|
3051
|
+
status: z65.enum(["active", "archived", "trashed"]).or(z65.string()).optional(),
|
|
3052
|
+
page: z65.coerce.number().int().positive().optional()
|
|
2926
3053
|
});
|
|
2927
|
-
var TodoListCreateBodySchema =
|
|
2928
|
-
name:
|
|
3054
|
+
var TodoListCreateBodySchema = z65.object({
|
|
3055
|
+
name: z65.string().min(1),
|
|
2929
3056
|
description: HtmlStringSchema.nullable().optional()
|
|
2930
3057
|
});
|
|
2931
|
-
var TodoListUpdateBodySchema =
|
|
2932
|
-
name:
|
|
3058
|
+
var TodoListUpdateBodySchema = z65.object({
|
|
3059
|
+
name: z65.string().min(1),
|
|
2933
3060
|
description: HtmlStringSchema.nullable().optional()
|
|
2934
3061
|
});
|
|
2935
3062
|
|
|
2936
3063
|
// src/contract/resources/tasks/todolists.ts
|
|
2937
|
-
var bucketPathParams3 =
|
|
3064
|
+
var bucketPathParams3 = z66.object({
|
|
2938
3065
|
bucketId: BasecampIdParamSchema
|
|
2939
3066
|
});
|
|
2940
3067
|
var bucketAndTodoSetPathParams2 = bucketPathParams3.extend({
|
|
@@ -3026,31 +3153,31 @@ var todoListsRouter = c.router({
|
|
|
3026
3153
|
});
|
|
3027
3154
|
|
|
3028
3155
|
// src/contract/resources/tasks/todolist-groups.ts
|
|
3029
|
-
import { z as
|
|
3156
|
+
import { z as z68 } from "zod";
|
|
3030
3157
|
|
|
3031
3158
|
// src/contract/schemas/tasks/todolist-groups.ts
|
|
3032
|
-
import { z as
|
|
3159
|
+
import { z as z67 } from "zod";
|
|
3033
3160
|
var TodoListBaseSchema2 = RecordingBaseSchema.extend({
|
|
3034
|
-
type:
|
|
3161
|
+
type: z67.literal("Todolist"),
|
|
3035
3162
|
description: HtmlStringSchema.optional(),
|
|
3036
|
-
completed:
|
|
3037
|
-
completed_ratio:
|
|
3038
|
-
name:
|
|
3039
|
-
todos_url:
|
|
3040
|
-
app_todos_url:
|
|
3163
|
+
completed: z67.boolean(),
|
|
3164
|
+
completed_ratio: z67.string(),
|
|
3165
|
+
name: z67.string(),
|
|
3166
|
+
todos_url: z67.string().url(),
|
|
3167
|
+
app_todos_url: z67.string().url()
|
|
3041
3168
|
});
|
|
3042
3169
|
var TodoListGroupSchema2 = TodoListBaseSchema2.extend({
|
|
3043
|
-
group_position_url:
|
|
3170
|
+
group_position_url: z67.string().url()
|
|
3044
3171
|
});
|
|
3045
3172
|
var TodoListSchema2 = TodoListGroupSchema2;
|
|
3046
|
-
var TodoListGroupsResponseSchema =
|
|
3047
|
-
var TodoListGroupQuerySchema =
|
|
3048
|
-
status:
|
|
3049
|
-
page:
|
|
3050
|
-
});
|
|
3051
|
-
var TodoListGroupCreateBodySchema =
|
|
3052
|
-
name:
|
|
3053
|
-
color:
|
|
3173
|
+
var TodoListGroupsResponseSchema = z67.array(TodoListGroupSchema2);
|
|
3174
|
+
var TodoListGroupQuerySchema = z67.object({
|
|
3175
|
+
status: z67.enum(["active", "archived", "trashed"]).or(z67.string()).optional(),
|
|
3176
|
+
page: z67.coerce.number().int().positive().optional()
|
|
3177
|
+
});
|
|
3178
|
+
var TodoListGroupCreateBodySchema = z67.object({
|
|
3179
|
+
name: z67.string().min(1),
|
|
3180
|
+
color: z67.enum([
|
|
3054
3181
|
"white",
|
|
3055
3182
|
"red",
|
|
3056
3183
|
"orange",
|
|
@@ -3062,14 +3189,14 @@ var TodoListGroupCreateBodySchema = z64.object({
|
|
|
3062
3189
|
"gray",
|
|
3063
3190
|
"pink",
|
|
3064
3191
|
"brown"
|
|
3065
|
-
]).or(
|
|
3192
|
+
]).or(z67.string()).optional()
|
|
3066
3193
|
});
|
|
3067
|
-
var TodoListGroupRepositionBodySchema =
|
|
3068
|
-
position:
|
|
3194
|
+
var TodoListGroupRepositionBodySchema = z67.object({
|
|
3195
|
+
position: z67.number().int().gte(1)
|
|
3069
3196
|
});
|
|
3070
3197
|
|
|
3071
3198
|
// src/contract/resources/tasks/todolist-groups.ts
|
|
3072
|
-
var bucketPathParams4 =
|
|
3199
|
+
var bucketPathParams4 = z68.object({
|
|
3073
3200
|
bucketId: BasecampIdParamSchema
|
|
3074
3201
|
});
|
|
3075
3202
|
var bucketAndTodoListPathParams2 = bucketPathParams4.extend({
|
|
@@ -3130,56 +3257,56 @@ var todoListGroupsRouter = c.router({
|
|
|
3130
3257
|
});
|
|
3131
3258
|
|
|
3132
3259
|
// src/contract/resources/tasks/todos.ts
|
|
3133
|
-
import { z as
|
|
3260
|
+
import { z as z70 } from "zod";
|
|
3134
3261
|
|
|
3135
3262
|
// src/contract/schemas/tasks/todos.ts
|
|
3136
|
-
import { z as
|
|
3137
|
-
var TodoCompletionSchema =
|
|
3263
|
+
import { z as z69 } from "zod";
|
|
3264
|
+
var TodoCompletionSchema = z69.object({
|
|
3138
3265
|
created_at: IsoDateTimeSchema,
|
|
3139
3266
|
creator: PersonSummarySchema
|
|
3140
3267
|
});
|
|
3141
3268
|
var TodoSchema = RecordingBaseSchema.extend({
|
|
3142
|
-
type:
|
|
3269
|
+
type: z69.literal("Todo"),
|
|
3143
3270
|
description: HtmlStringSchema.optional(),
|
|
3144
|
-
completed:
|
|
3271
|
+
completed: z69.boolean(),
|
|
3145
3272
|
completion: TodoCompletionSchema.optional(),
|
|
3146
|
-
content:
|
|
3147
|
-
starts_on:
|
|
3148
|
-
due_on:
|
|
3149
|
-
assignees:
|
|
3150
|
-
completion_subscribers:
|
|
3151
|
-
completion_url:
|
|
3152
|
-
});
|
|
3153
|
-
var TodoCollectionResponseSchema =
|
|
3154
|
-
var TodoQuerySchema =
|
|
3155
|
-
status:
|
|
3156
|
-
completed:
|
|
3157
|
-
page:
|
|
3158
|
-
});
|
|
3159
|
-
var TodoCreateBodySchema =
|
|
3160
|
-
content:
|
|
3273
|
+
content: z69.string(),
|
|
3274
|
+
starts_on: z69.string().date().nullable().optional(),
|
|
3275
|
+
due_on: z69.string().date().nullable().optional(),
|
|
3276
|
+
assignees: z69.array(PersonSummarySchema),
|
|
3277
|
+
completion_subscribers: z69.array(PersonSummarySchema),
|
|
3278
|
+
completion_url: z69.string().url()
|
|
3279
|
+
});
|
|
3280
|
+
var TodoCollectionResponseSchema = z69.array(TodoSchema);
|
|
3281
|
+
var TodoQuerySchema = z69.object({
|
|
3282
|
+
status: z69.enum(["active", "archived", "trashed"]).or(z69.string()).optional(),
|
|
3283
|
+
completed: z69.literal(true).optional(),
|
|
3284
|
+
page: z69.coerce.number().int().positive().optional()
|
|
3285
|
+
});
|
|
3286
|
+
var TodoCreateBodySchema = z69.object({
|
|
3287
|
+
content: z69.string().min(1),
|
|
3161
3288
|
description: HtmlStringSchema.nullable().optional(),
|
|
3162
|
-
assignee_ids:
|
|
3163
|
-
completion_subscriber_ids:
|
|
3164
|
-
notify:
|
|
3165
|
-
due_on:
|
|
3166
|
-
starts_on:
|
|
3167
|
-
});
|
|
3168
|
-
var TodoUpdateBodySchema =
|
|
3169
|
-
content:
|
|
3289
|
+
assignee_ids: z69.array(BasecampIdSchema).optional(),
|
|
3290
|
+
completion_subscriber_ids: z69.array(BasecampIdSchema).optional(),
|
|
3291
|
+
notify: z69.boolean().optional(),
|
|
3292
|
+
due_on: z69.string().date().nullable().optional(),
|
|
3293
|
+
starts_on: z69.string().date().nullable().optional()
|
|
3294
|
+
});
|
|
3295
|
+
var TodoUpdateBodySchema = z69.object({
|
|
3296
|
+
content: z69.string().min(1),
|
|
3170
3297
|
description: HtmlStringSchema.nullable().optional(),
|
|
3171
|
-
assignee_ids:
|
|
3172
|
-
completion_subscriber_ids:
|
|
3173
|
-
notify:
|
|
3174
|
-
due_on:
|
|
3175
|
-
starts_on:
|
|
3298
|
+
assignee_ids: z69.array(BasecampIdSchema).optional(),
|
|
3299
|
+
completion_subscriber_ids: z69.array(BasecampIdSchema).optional(),
|
|
3300
|
+
notify: z69.boolean().optional(),
|
|
3301
|
+
due_on: z69.string().date().nullable().optional(),
|
|
3302
|
+
starts_on: z69.string().date().nullable().optional()
|
|
3176
3303
|
});
|
|
3177
|
-
var TodoRepositionBodySchema =
|
|
3178
|
-
position:
|
|
3304
|
+
var TodoRepositionBodySchema = z69.object({
|
|
3305
|
+
position: z69.number().int().gte(1)
|
|
3179
3306
|
});
|
|
3180
3307
|
|
|
3181
3308
|
// src/contract/resources/tasks/todos.ts
|
|
3182
|
-
var bucketPathParams5 =
|
|
3309
|
+
var bucketPathParams5 = z70.object({
|
|
3183
3310
|
bucketId: BasecampIdParamSchema
|
|
3184
3311
|
});
|
|
3185
3312
|
var bucketAndTodoListPathParams3 = bucketPathParams5.extend({
|
|
@@ -3350,17 +3477,19 @@ var contract = c.router(
|
|
|
3350
3477
|
scheduleEntries: scheduleEntriesRouter,
|
|
3351
3478
|
questionnaires: questionnairesRouter,
|
|
3352
3479
|
questions: questionsRouter,
|
|
3480
|
+
questionAnswers: questionAnswersRouter,
|
|
3353
3481
|
documents: documentsRouter,
|
|
3354
3482
|
vaults: vaultsRouter,
|
|
3355
3483
|
uploads: uploadsRouter,
|
|
3356
|
-
attachments: attachmentsRouter
|
|
3484
|
+
attachments: attachmentsRouter,
|
|
3485
|
+
blobs: blobsRouter
|
|
3357
3486
|
},
|
|
3358
3487
|
{
|
|
3359
3488
|
strictStatusCodes: true,
|
|
3360
|
-
baseHeaders:
|
|
3361
|
-
Authorization:
|
|
3362
|
-
"User-Agent":
|
|
3363
|
-
Accept:
|
|
3489
|
+
baseHeaders: z71.object({
|
|
3490
|
+
Authorization: z71.string().min(1),
|
|
3491
|
+
"User-Agent": z71.string().min(1).optional(),
|
|
3492
|
+
Accept: z71.literal("application/json").optional()
|
|
3364
3493
|
})
|
|
3365
3494
|
}
|
|
3366
3495
|
);
|
|
@@ -3397,15 +3526,35 @@ var computeBackoffDelay = (attempt, retryAfterMs) => {
|
|
|
3397
3526
|
};
|
|
3398
3527
|
async function fetcher(args) {
|
|
3399
3528
|
const url = new URL(args.path);
|
|
3400
|
-
|
|
3529
|
+
const isRaw = args.route.metadata?.rawResponse === true;
|
|
3530
|
+
if (!isRaw && !url.pathname.endsWith(".json")) {
|
|
3401
3531
|
url.pathname = `${url.pathname}.json`;
|
|
3402
3532
|
}
|
|
3533
|
+
const headers = { ...args.headers };
|
|
3534
|
+
if (isRaw) {
|
|
3535
|
+
delete headers.accept;
|
|
3536
|
+
delete headers.Accept;
|
|
3537
|
+
}
|
|
3403
3538
|
const pathWithSuffix = url.toString();
|
|
3404
3539
|
for (let attempt = 0; attempt <= MAX_RETRIES; attempt += 1) {
|
|
3405
|
-
|
|
3406
|
-
|
|
3407
|
-
|
|
3408
|
-
|
|
3540
|
+
let response;
|
|
3541
|
+
if (isRaw) {
|
|
3542
|
+
const result = await fetch(pathWithSuffix, {
|
|
3543
|
+
method: args.method,
|
|
3544
|
+
headers
|
|
3545
|
+
});
|
|
3546
|
+
response = {
|
|
3547
|
+
status: result.status,
|
|
3548
|
+
body: await result.arrayBuffer(),
|
|
3549
|
+
headers: result.headers
|
|
3550
|
+
};
|
|
3551
|
+
} else {
|
|
3552
|
+
response = await tsRestFetchApi({
|
|
3553
|
+
...args,
|
|
3554
|
+
path: pathWithSuffix,
|
|
3555
|
+
headers
|
|
3556
|
+
});
|
|
3557
|
+
}
|
|
3409
3558
|
if (response.status !== 429) {
|
|
3410
3559
|
return response;
|
|
3411
3560
|
}
|