@layer-drone/protocol 0.5.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +101 -30
- package/dist/index.d.mts +192 -42
- package/dist/index.d.ts +192 -42
- package/dist/index.js +202 -19
- package/dist/index.mjs +193 -18
- package/package.json +1 -1
- package/src/client/sdk.gen.ts +171 -0
- package/src/client/transformers.gen.ts +106 -8
- package/src/client/types.gen.ts +262 -38
- package/src/event/parser.ts +62 -10
package/dist/index.js
CHANGED
|
@@ -22,6 +22,9 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
22
22
|
var index_exports = {};
|
|
23
23
|
__export(index_exports, {
|
|
24
24
|
Event: () => Event,
|
|
25
|
+
WEBHOOK_PREVIOUS_SECRET_EXPIRES_AT_HEADER: () => WEBHOOK_PREVIOUS_SECRET_EXPIRES_AT_HEADER,
|
|
26
|
+
WEBHOOK_PREVIOUS_SECRET_HEADER: () => WEBHOOK_PREVIOUS_SECRET_HEADER,
|
|
27
|
+
WEBHOOK_SECRET_HEADER: () => WEBHOOK_SECRET_HEADER,
|
|
25
28
|
alchemyControllerHandleWebhook: () => alchemyControllerHandleWebhook,
|
|
26
29
|
apiControllerGetError: () => apiControllerGetError,
|
|
27
30
|
apiControllerGetHello: () => apiControllerGetHello,
|
|
@@ -39,6 +42,8 @@ __export(index_exports, {
|
|
|
39
42
|
createClient: () => createClient,
|
|
40
43
|
createConfig: () => createConfig,
|
|
41
44
|
dlqRedriverControllerRedriveDlq: () => dlqRedriverControllerRedriveDlq,
|
|
45
|
+
eventProcessorFlightReviewsSyncControllerResyncFlightReviews: () => eventProcessorFlightReviewsSyncControllerResyncFlightReviews,
|
|
46
|
+
eventProcessorMissionsSyncControllerResyncMissions: () => eventProcessorMissionsSyncControllerResyncMissions,
|
|
42
47
|
flightPlansControllerCreate: () => flightPlansControllerCreate,
|
|
43
48
|
flightPlansControllerGet: () => flightPlansControllerGet,
|
|
44
49
|
flightPlansControllerGetMany: () => flightPlansControllerGetMany,
|
|
@@ -76,7 +81,10 @@ __export(index_exports, {
|
|
|
76
81
|
webhooksControllerGetStatus: () => webhooksControllerGetStatus,
|
|
77
82
|
webhooksControllerRegenerateSecret: () => webhooksControllerRegenerateSecret,
|
|
78
83
|
webhooksControllerTest: () => webhooksControllerTest,
|
|
79
|
-
webhooksControllerUpdate: () => webhooksControllerUpdate
|
|
84
|
+
webhooksControllerUpdate: () => webhooksControllerUpdate,
|
|
85
|
+
zonesControllerCreateZone: () => zonesControllerCreateZone,
|
|
86
|
+
zonesControllerDeleteZone: () => zonesControllerDeleteZone,
|
|
87
|
+
zonesControllerUpdateZone: () => zonesControllerUpdateZone
|
|
80
88
|
});
|
|
81
89
|
module.exports = __toCommonJS(index_exports);
|
|
82
90
|
|
|
@@ -802,6 +810,14 @@ var contractsControllerGetAllContractsResponseTransformer = /* @__PURE__ */ __na
|
|
|
802
810
|
data = getContractsResponseDtoSchemaResponseTransformer(data);
|
|
803
811
|
return data;
|
|
804
812
|
}, "contractsControllerGetAllContractsResponseTransformer");
|
|
813
|
+
var flightDtoSchemaResponseTransformer = /* @__PURE__ */ __name((data) => {
|
|
814
|
+
data.payout.createdAt = new Date(data.payout.createdAt);
|
|
815
|
+
return data;
|
|
816
|
+
}, "flightDtoSchemaResponseTransformer");
|
|
817
|
+
var flightsControllerGetFlightResponseTransformer = /* @__PURE__ */ __name(async (data) => {
|
|
818
|
+
data = flightDtoSchemaResponseTransformer(data);
|
|
819
|
+
return data;
|
|
820
|
+
}, "flightsControllerGetFlightResponseTransformer");
|
|
805
821
|
var validateFlightResponseDtoSchemaResponseTransformer = /* @__PURE__ */ __name((data) => {
|
|
806
822
|
data.flightId = BigInt(data.flightId.toString());
|
|
807
823
|
return data;
|
|
@@ -862,10 +878,13 @@ var flightReviewsControllerGetFlightReviewsResponseTransformer = /* @__PURE__ */
|
|
|
862
878
|
return data;
|
|
863
879
|
}, "flightReviewsControllerGetFlightReviewsResponseTransformer");
|
|
864
880
|
var getMissionResponseDtoSchemaResponseTransformer = /* @__PURE__ */ __name((data) => {
|
|
865
|
-
data.
|
|
866
|
-
data.
|
|
867
|
-
data.
|
|
868
|
-
data.
|
|
881
|
+
data.captureStartTime = new Date(data.captureStartTime);
|
|
882
|
+
data.captureEndTime = new Date(data.captureEndTime);
|
|
883
|
+
data.createdAt = new Date(data.createdAt);
|
|
884
|
+
data.updatedAt = new Date(data.updatedAt);
|
|
885
|
+
if (data.payout) {
|
|
886
|
+
data.payout.createdAt = new Date(data.payout.createdAt);
|
|
887
|
+
}
|
|
869
888
|
if (data.vault) {
|
|
870
889
|
data.vault.createdAt = new Date(data.vault.createdAt);
|
|
871
890
|
data.vault.updatedAt = new Date(data.vault.updatedAt);
|
|
@@ -878,10 +897,13 @@ var missionsControllerGetMissionResponseTransformer = /* @__PURE__ */ __name(asy
|
|
|
878
897
|
}, "missionsControllerGetMissionResponseTransformer");
|
|
879
898
|
var getMissionsResponseDtoSchemaResponseTransformer = /* @__PURE__ */ __name((data) => {
|
|
880
899
|
data.missions = data.missions.map((item) => {
|
|
881
|
-
item.
|
|
882
|
-
item.
|
|
883
|
-
item.
|
|
884
|
-
item.
|
|
900
|
+
item.captureStartTime = new Date(item.captureStartTime);
|
|
901
|
+
item.captureEndTime = new Date(item.captureEndTime);
|
|
902
|
+
item.createdAt = new Date(item.createdAt);
|
|
903
|
+
item.updatedAt = new Date(item.updatedAt);
|
|
904
|
+
if (item.payout) {
|
|
905
|
+
item.payout.createdAt = new Date(item.payout.createdAt);
|
|
906
|
+
}
|
|
885
907
|
if (item.vault) {
|
|
886
908
|
item.vault.createdAt = new Date(item.vault.createdAt);
|
|
887
909
|
item.vault.updatedAt = new Date(item.vault.updatedAt);
|
|
@@ -906,6 +928,54 @@ var missionsControllerCreateMissionsResponseTransformer = /* @__PURE__ */ __name
|
|
|
906
928
|
data = createMissionResponseDtoSchemaResponseTransformer(data);
|
|
907
929
|
return data;
|
|
908
930
|
}, "missionsControllerCreateMissionsResponseTransformer");
|
|
931
|
+
var getWebhooksResponseSchemaResponseTransformer = /* @__PURE__ */ __name((data) => {
|
|
932
|
+
data = data.map((item) => {
|
|
933
|
+
item.previous_secret_expires_at = new Date(item.previous_secret_expires_at);
|
|
934
|
+
return item;
|
|
935
|
+
});
|
|
936
|
+
return data;
|
|
937
|
+
}, "getWebhooksResponseSchemaResponseTransformer");
|
|
938
|
+
var webhooksControllerGetManyResponseTransformer = /* @__PURE__ */ __name(async (data) => {
|
|
939
|
+
data = getWebhooksResponseSchemaResponseTransformer(data);
|
|
940
|
+
return data;
|
|
941
|
+
}, "webhooksControllerGetManyResponseTransformer");
|
|
942
|
+
var getWebhookResponseSchemaResponseTransformer = /* @__PURE__ */ __name((data) => {
|
|
943
|
+
data.previous_secret_expires_at = new Date(data.previous_secret_expires_at);
|
|
944
|
+
return data;
|
|
945
|
+
}, "getWebhookResponseSchemaResponseTransformer");
|
|
946
|
+
var webhooksControllerGetResponseTransformer = /* @__PURE__ */ __name(async (data) => {
|
|
947
|
+
data = getWebhookResponseSchemaResponseTransformer(data);
|
|
948
|
+
return data;
|
|
949
|
+
}, "webhooksControllerGetResponseTransformer");
|
|
950
|
+
var updateWebhookResponseSchemaResponseTransformer = /* @__PURE__ */ __name((data) => {
|
|
951
|
+
data.previous_secret_expires_at = new Date(data.previous_secret_expires_at);
|
|
952
|
+
return data;
|
|
953
|
+
}, "updateWebhookResponseSchemaResponseTransformer");
|
|
954
|
+
var webhooksControllerUpdateResponseTransformer = /* @__PURE__ */ __name(async (data) => {
|
|
955
|
+
data = updateWebhookResponseSchemaResponseTransformer(data);
|
|
956
|
+
return data;
|
|
957
|
+
}, "webhooksControllerUpdateResponseTransformer");
|
|
958
|
+
var regenerateWebhookSecretResponseDtoSchemaResponseTransformer = /* @__PURE__ */ __name((data) => {
|
|
959
|
+
data.previous_secret_expires_at = new Date(data.previous_secret_expires_at);
|
|
960
|
+
return data;
|
|
961
|
+
}, "regenerateWebhookSecretResponseDtoSchemaResponseTransformer");
|
|
962
|
+
var webhooksControllerRegenerateSecretResponseTransformer = /* @__PURE__ */ __name(async (data) => {
|
|
963
|
+
data = regenerateWebhookSecretResponseDtoSchemaResponseTransformer(data);
|
|
964
|
+
return data;
|
|
965
|
+
}, "webhooksControllerRegenerateSecretResponseTransformer");
|
|
966
|
+
var zoneResponseDtoSchemaResponseTransformer = /* @__PURE__ */ __name((data) => {
|
|
967
|
+
data.created_at = new Date(data.created_at);
|
|
968
|
+
data.updated_at = new Date(data.updated_at);
|
|
969
|
+
return data;
|
|
970
|
+
}, "zoneResponseDtoSchemaResponseTransformer");
|
|
971
|
+
var zonesControllerCreateZoneResponseTransformer = /* @__PURE__ */ __name(async (data) => {
|
|
972
|
+
data = zoneResponseDtoSchemaResponseTransformer(data);
|
|
973
|
+
return data;
|
|
974
|
+
}, "zonesControllerCreateZoneResponseTransformer");
|
|
975
|
+
var zonesControllerUpdateZoneResponseTransformer = /* @__PURE__ */ __name(async (data) => {
|
|
976
|
+
data = zoneResponseDtoSchemaResponseTransformer(data);
|
|
977
|
+
return data;
|
|
978
|
+
}, "zonesControllerUpdateZoneResponseTransformer");
|
|
909
979
|
var getInboundWebhookConfigsResponseSchemaResponseTransformer = /* @__PURE__ */ __name((data) => {
|
|
910
980
|
data = data.map((item) => {
|
|
911
981
|
item.created_at = new Date(item.created_at);
|
|
@@ -1128,6 +1198,7 @@ var flightsControllerGetFlight = /* @__PURE__ */ __name((options) => {
|
|
|
1128
1198
|
type: "apiKey"
|
|
1129
1199
|
}
|
|
1130
1200
|
],
|
|
1201
|
+
responseTransformer: flightsControllerGetFlightResponseTransformer,
|
|
1131
1202
|
url: "/flights/{flightId}",
|
|
1132
1203
|
...options
|
|
1133
1204
|
});
|
|
@@ -1393,6 +1464,7 @@ var webhooksControllerGetMany = /* @__PURE__ */ __name((options) => {
|
|
|
1393
1464
|
type: "apiKey"
|
|
1394
1465
|
}
|
|
1395
1466
|
],
|
|
1467
|
+
responseTransformer: webhooksControllerGetManyResponseTransformer,
|
|
1396
1468
|
url: "/org/{org_id}/webhooks",
|
|
1397
1469
|
...options
|
|
1398
1470
|
});
|
|
@@ -1433,6 +1505,7 @@ var webhooksControllerGet = /* @__PURE__ */ __name((options) => {
|
|
|
1433
1505
|
type: "apiKey"
|
|
1434
1506
|
}
|
|
1435
1507
|
],
|
|
1508
|
+
responseTransformer: webhooksControllerGetResponseTransformer,
|
|
1436
1509
|
url: "/org/{org_id}/webhooks/{id}",
|
|
1437
1510
|
...options
|
|
1438
1511
|
});
|
|
@@ -1445,6 +1518,7 @@ var webhooksControllerUpdate = /* @__PURE__ */ __name((options) => {
|
|
|
1445
1518
|
type: "apiKey"
|
|
1446
1519
|
}
|
|
1447
1520
|
],
|
|
1521
|
+
responseTransformer: webhooksControllerUpdateResponseTransformer,
|
|
1448
1522
|
url: "/org/{org_id}/webhooks/{id}",
|
|
1449
1523
|
...options,
|
|
1450
1524
|
headers: {
|
|
@@ -1461,8 +1535,13 @@ var webhooksControllerRegenerateSecret = /* @__PURE__ */ __name((options) => {
|
|
|
1461
1535
|
type: "apiKey"
|
|
1462
1536
|
}
|
|
1463
1537
|
],
|
|
1538
|
+
responseTransformer: webhooksControllerRegenerateSecretResponseTransformer,
|
|
1464
1539
|
url: "/org/{org_id}/webhooks/{id}/regenerate-secret",
|
|
1465
|
-
...options
|
|
1540
|
+
...options,
|
|
1541
|
+
headers: {
|
|
1542
|
+
"Content-Type": "application/json",
|
|
1543
|
+
...options.headers
|
|
1544
|
+
}
|
|
1466
1545
|
});
|
|
1467
1546
|
}, "webhooksControllerRegenerateSecret");
|
|
1468
1547
|
var webhooksControllerTest = /* @__PURE__ */ __name((options) => {
|
|
@@ -1489,6 +1568,84 @@ var webhooksControllerGetStatus = /* @__PURE__ */ __name((options) => {
|
|
|
1489
1568
|
...options
|
|
1490
1569
|
});
|
|
1491
1570
|
}, "webhooksControllerGetStatus");
|
|
1571
|
+
var zonesControllerCreateZone = /* @__PURE__ */ __name((options) => {
|
|
1572
|
+
return (options.client ?? client).post({
|
|
1573
|
+
security: [
|
|
1574
|
+
{
|
|
1575
|
+
name: "x-api-token",
|
|
1576
|
+
type: "apiKey"
|
|
1577
|
+
}
|
|
1578
|
+
],
|
|
1579
|
+
responseTransformer: zonesControllerCreateZoneResponseTransformer,
|
|
1580
|
+
url: "/zones",
|
|
1581
|
+
...options,
|
|
1582
|
+
headers: {
|
|
1583
|
+
"Content-Type": "application/json",
|
|
1584
|
+
...options.headers
|
|
1585
|
+
}
|
|
1586
|
+
});
|
|
1587
|
+
}, "zonesControllerCreateZone");
|
|
1588
|
+
var zonesControllerDeleteZone = /* @__PURE__ */ __name((options) => {
|
|
1589
|
+
return (options.client ?? client).delete({
|
|
1590
|
+
security: [
|
|
1591
|
+
{
|
|
1592
|
+
name: "x-api-token",
|
|
1593
|
+
type: "apiKey"
|
|
1594
|
+
}
|
|
1595
|
+
],
|
|
1596
|
+
url: "/zones/{id}",
|
|
1597
|
+
...options
|
|
1598
|
+
});
|
|
1599
|
+
}, "zonesControllerDeleteZone");
|
|
1600
|
+
var zonesControllerUpdateZone = /* @__PURE__ */ __name((options) => {
|
|
1601
|
+
return (options.client ?? client).put({
|
|
1602
|
+
security: [
|
|
1603
|
+
{
|
|
1604
|
+
name: "x-api-token",
|
|
1605
|
+
type: "apiKey"
|
|
1606
|
+
}
|
|
1607
|
+
],
|
|
1608
|
+
responseTransformer: zonesControllerUpdateZoneResponseTransformer,
|
|
1609
|
+
url: "/zones/{id}",
|
|
1610
|
+
...options,
|
|
1611
|
+
headers: {
|
|
1612
|
+
"Content-Type": "application/json",
|
|
1613
|
+
...options.headers
|
|
1614
|
+
}
|
|
1615
|
+
});
|
|
1616
|
+
}, "zonesControllerUpdateZone");
|
|
1617
|
+
var eventProcessorMissionsSyncControllerResyncMissions = /* @__PURE__ */ __name((options) => {
|
|
1618
|
+
return (options.client ?? client).put({
|
|
1619
|
+
security: [
|
|
1620
|
+
{
|
|
1621
|
+
name: "x-api-token",
|
|
1622
|
+
type: "apiKey"
|
|
1623
|
+
}
|
|
1624
|
+
],
|
|
1625
|
+
url: "/event-processor/missions/sync",
|
|
1626
|
+
...options,
|
|
1627
|
+
headers: {
|
|
1628
|
+
"Content-Type": "application/json",
|
|
1629
|
+
...options.headers
|
|
1630
|
+
}
|
|
1631
|
+
});
|
|
1632
|
+
}, "eventProcessorMissionsSyncControllerResyncMissions");
|
|
1633
|
+
var eventProcessorFlightReviewsSyncControllerResyncFlightReviews = /* @__PURE__ */ __name((options) => {
|
|
1634
|
+
return (options.client ?? client).put({
|
|
1635
|
+
security: [
|
|
1636
|
+
{
|
|
1637
|
+
name: "x-api-token",
|
|
1638
|
+
type: "apiKey"
|
|
1639
|
+
}
|
|
1640
|
+
],
|
|
1641
|
+
url: "/event-processor/flightreviews",
|
|
1642
|
+
...options,
|
|
1643
|
+
headers: {
|
|
1644
|
+
"Content-Type": "application/json",
|
|
1645
|
+
...options.headers
|
|
1646
|
+
}
|
|
1647
|
+
});
|
|
1648
|
+
}, "eventProcessorFlightReviewsSyncControllerResyncFlightReviews");
|
|
1492
1649
|
var alchemyControllerHandleWebhook = /* @__PURE__ */ __name((options) => {
|
|
1493
1650
|
return (options.client ?? client).post({
|
|
1494
1651
|
url: "/webhooks/inbound/alchemy",
|
|
@@ -1702,31 +1859,52 @@ var Event = import_zod.z.union([
|
|
|
1702
1859
|
|
|
1703
1860
|
// src/event/parser.ts
|
|
1704
1861
|
var WEBHOOK_SECRET_HEADER = "X-Webhook-Secret";
|
|
1862
|
+
var WEBHOOK_PREVIOUS_SECRET_HEADER = "X-Webhook-Previous-Secret";
|
|
1863
|
+
var WEBHOOK_PREVIOUS_SECRET_EXPIRES_AT_HEADER = "X-Webhook-Previous-Secret-Expires-At";
|
|
1705
1864
|
function parseWebhookEvent(req, webhookSecret) {
|
|
1706
|
-
const
|
|
1707
|
-
if (typeof
|
|
1865
|
+
const incoming = getFirstHeader(req.headers, WEBHOOK_SECRET_HEADER);
|
|
1866
|
+
if (typeof incoming !== "string") {
|
|
1708
1867
|
throw new Error("Webhook request signature is not a string");
|
|
1709
1868
|
}
|
|
1710
1869
|
if (!Buffer.isBuffer(req.body)) {
|
|
1711
1870
|
throw new Error("Webhook request body is not a Buffer");
|
|
1712
1871
|
}
|
|
1713
|
-
if (
|
|
1872
|
+
if (incoming === webhookSecret) {
|
|
1873
|
+
return Event.parse(JSON.parse(req.body.toString("utf-8")));
|
|
1874
|
+
}
|
|
1875
|
+
const announcedPrevious = getFirstHeader(req.headers, WEBHOOK_PREVIOUS_SECRET_HEADER);
|
|
1876
|
+
const expiresRaw = getFirstHeader(req.headers, WEBHOOK_PREVIOUS_SECRET_EXPIRES_AT_HEADER);
|
|
1877
|
+
if (announcedPrevious === void 0 || expiresRaw === void 0) {
|
|
1878
|
+
throw new Error("Invalid webhook secret");
|
|
1879
|
+
}
|
|
1880
|
+
const expiresAt = new Date(expiresRaw);
|
|
1881
|
+
if (Number.isNaN(expiresAt.getTime())) {
|
|
1714
1882
|
throw new Error("Invalid webhook secret");
|
|
1715
1883
|
}
|
|
1716
|
-
|
|
1884
|
+
if (Date.now() >= expiresAt.getTime()) {
|
|
1885
|
+
throw new Error("Invalid webhook secret");
|
|
1886
|
+
}
|
|
1887
|
+
if (webhookSecret === announcedPrevious) {
|
|
1888
|
+
return Event.parse(JSON.parse(req.body.toString("utf-8")));
|
|
1889
|
+
}
|
|
1890
|
+
throw new Error("Invalid webhook secret");
|
|
1717
1891
|
}
|
|
1718
1892
|
__name(parseWebhookEvent, "parseWebhookEvent");
|
|
1719
|
-
function
|
|
1720
|
-
|
|
1893
|
+
function getFirstHeader(headers, canonicalName) {
|
|
1894
|
+
const lower = canonicalName.toLowerCase();
|
|
1895
|
+
let value = headers[canonicalName] ?? headers[lower];
|
|
1721
1896
|
if (Array.isArray(value)) {
|
|
1722
1897
|
value = value[0];
|
|
1723
1898
|
}
|
|
1724
|
-
return value;
|
|
1899
|
+
return typeof value === "string" ? value : void 0;
|
|
1725
1900
|
}
|
|
1726
|
-
__name(
|
|
1901
|
+
__name(getFirstHeader, "getFirstHeader");
|
|
1727
1902
|
// Annotate the CommonJS export names for ESM import in node:
|
|
1728
1903
|
0 && (module.exports = {
|
|
1729
1904
|
Event,
|
|
1905
|
+
WEBHOOK_PREVIOUS_SECRET_EXPIRES_AT_HEADER,
|
|
1906
|
+
WEBHOOK_PREVIOUS_SECRET_HEADER,
|
|
1907
|
+
WEBHOOK_SECRET_HEADER,
|
|
1730
1908
|
alchemyControllerHandleWebhook,
|
|
1731
1909
|
apiControllerGetError,
|
|
1732
1910
|
apiControllerGetHello,
|
|
@@ -1744,6 +1922,8 @@ __name(getSecretHeader, "getSecretHeader");
|
|
|
1744
1922
|
createClient,
|
|
1745
1923
|
createConfig,
|
|
1746
1924
|
dlqRedriverControllerRedriveDlq,
|
|
1925
|
+
eventProcessorFlightReviewsSyncControllerResyncFlightReviews,
|
|
1926
|
+
eventProcessorMissionsSyncControllerResyncMissions,
|
|
1747
1927
|
flightPlansControllerCreate,
|
|
1748
1928
|
flightPlansControllerGet,
|
|
1749
1929
|
flightPlansControllerGetMany,
|
|
@@ -1781,5 +1961,8 @@ __name(getSecretHeader, "getSecretHeader");
|
|
|
1781
1961
|
webhooksControllerGetStatus,
|
|
1782
1962
|
webhooksControllerRegenerateSecret,
|
|
1783
1963
|
webhooksControllerTest,
|
|
1784
|
-
webhooksControllerUpdate
|
|
1964
|
+
webhooksControllerUpdate,
|
|
1965
|
+
zonesControllerCreateZone,
|
|
1966
|
+
zonesControllerDeleteZone,
|
|
1967
|
+
zonesControllerUpdateZone
|
|
1785
1968
|
});
|
package/dist/index.mjs
CHANGED
|
@@ -723,6 +723,14 @@ var contractsControllerGetAllContractsResponseTransformer = /* @__PURE__ */ __na
|
|
|
723
723
|
data = getContractsResponseDtoSchemaResponseTransformer(data);
|
|
724
724
|
return data;
|
|
725
725
|
}, "contractsControllerGetAllContractsResponseTransformer");
|
|
726
|
+
var flightDtoSchemaResponseTransformer = /* @__PURE__ */ __name((data) => {
|
|
727
|
+
data.payout.createdAt = new Date(data.payout.createdAt);
|
|
728
|
+
return data;
|
|
729
|
+
}, "flightDtoSchemaResponseTransformer");
|
|
730
|
+
var flightsControllerGetFlightResponseTransformer = /* @__PURE__ */ __name(async (data) => {
|
|
731
|
+
data = flightDtoSchemaResponseTransformer(data);
|
|
732
|
+
return data;
|
|
733
|
+
}, "flightsControllerGetFlightResponseTransformer");
|
|
726
734
|
var validateFlightResponseDtoSchemaResponseTransformer = /* @__PURE__ */ __name((data) => {
|
|
727
735
|
data.flightId = BigInt(data.flightId.toString());
|
|
728
736
|
return data;
|
|
@@ -783,10 +791,13 @@ var flightReviewsControllerGetFlightReviewsResponseTransformer = /* @__PURE__ */
|
|
|
783
791
|
return data;
|
|
784
792
|
}, "flightReviewsControllerGetFlightReviewsResponseTransformer");
|
|
785
793
|
var getMissionResponseDtoSchemaResponseTransformer = /* @__PURE__ */ __name((data) => {
|
|
786
|
-
data.
|
|
787
|
-
data.
|
|
788
|
-
data.
|
|
789
|
-
data.
|
|
794
|
+
data.captureStartTime = new Date(data.captureStartTime);
|
|
795
|
+
data.captureEndTime = new Date(data.captureEndTime);
|
|
796
|
+
data.createdAt = new Date(data.createdAt);
|
|
797
|
+
data.updatedAt = new Date(data.updatedAt);
|
|
798
|
+
if (data.payout) {
|
|
799
|
+
data.payout.createdAt = new Date(data.payout.createdAt);
|
|
800
|
+
}
|
|
790
801
|
if (data.vault) {
|
|
791
802
|
data.vault.createdAt = new Date(data.vault.createdAt);
|
|
792
803
|
data.vault.updatedAt = new Date(data.vault.updatedAt);
|
|
@@ -799,10 +810,13 @@ var missionsControllerGetMissionResponseTransformer = /* @__PURE__ */ __name(asy
|
|
|
799
810
|
}, "missionsControllerGetMissionResponseTransformer");
|
|
800
811
|
var getMissionsResponseDtoSchemaResponseTransformer = /* @__PURE__ */ __name((data) => {
|
|
801
812
|
data.missions = data.missions.map((item) => {
|
|
802
|
-
item.
|
|
803
|
-
item.
|
|
804
|
-
item.
|
|
805
|
-
item.
|
|
813
|
+
item.captureStartTime = new Date(item.captureStartTime);
|
|
814
|
+
item.captureEndTime = new Date(item.captureEndTime);
|
|
815
|
+
item.createdAt = new Date(item.createdAt);
|
|
816
|
+
item.updatedAt = new Date(item.updatedAt);
|
|
817
|
+
if (item.payout) {
|
|
818
|
+
item.payout.createdAt = new Date(item.payout.createdAt);
|
|
819
|
+
}
|
|
806
820
|
if (item.vault) {
|
|
807
821
|
item.vault.createdAt = new Date(item.vault.createdAt);
|
|
808
822
|
item.vault.updatedAt = new Date(item.vault.updatedAt);
|
|
@@ -827,6 +841,54 @@ var missionsControllerCreateMissionsResponseTransformer = /* @__PURE__ */ __name
|
|
|
827
841
|
data = createMissionResponseDtoSchemaResponseTransformer(data);
|
|
828
842
|
return data;
|
|
829
843
|
}, "missionsControllerCreateMissionsResponseTransformer");
|
|
844
|
+
var getWebhooksResponseSchemaResponseTransformer = /* @__PURE__ */ __name((data) => {
|
|
845
|
+
data = data.map((item) => {
|
|
846
|
+
item.previous_secret_expires_at = new Date(item.previous_secret_expires_at);
|
|
847
|
+
return item;
|
|
848
|
+
});
|
|
849
|
+
return data;
|
|
850
|
+
}, "getWebhooksResponseSchemaResponseTransformer");
|
|
851
|
+
var webhooksControllerGetManyResponseTransformer = /* @__PURE__ */ __name(async (data) => {
|
|
852
|
+
data = getWebhooksResponseSchemaResponseTransformer(data);
|
|
853
|
+
return data;
|
|
854
|
+
}, "webhooksControllerGetManyResponseTransformer");
|
|
855
|
+
var getWebhookResponseSchemaResponseTransformer = /* @__PURE__ */ __name((data) => {
|
|
856
|
+
data.previous_secret_expires_at = new Date(data.previous_secret_expires_at);
|
|
857
|
+
return data;
|
|
858
|
+
}, "getWebhookResponseSchemaResponseTransformer");
|
|
859
|
+
var webhooksControllerGetResponseTransformer = /* @__PURE__ */ __name(async (data) => {
|
|
860
|
+
data = getWebhookResponseSchemaResponseTransformer(data);
|
|
861
|
+
return data;
|
|
862
|
+
}, "webhooksControllerGetResponseTransformer");
|
|
863
|
+
var updateWebhookResponseSchemaResponseTransformer = /* @__PURE__ */ __name((data) => {
|
|
864
|
+
data.previous_secret_expires_at = new Date(data.previous_secret_expires_at);
|
|
865
|
+
return data;
|
|
866
|
+
}, "updateWebhookResponseSchemaResponseTransformer");
|
|
867
|
+
var webhooksControllerUpdateResponseTransformer = /* @__PURE__ */ __name(async (data) => {
|
|
868
|
+
data = updateWebhookResponseSchemaResponseTransformer(data);
|
|
869
|
+
return data;
|
|
870
|
+
}, "webhooksControllerUpdateResponseTransformer");
|
|
871
|
+
var regenerateWebhookSecretResponseDtoSchemaResponseTransformer = /* @__PURE__ */ __name((data) => {
|
|
872
|
+
data.previous_secret_expires_at = new Date(data.previous_secret_expires_at);
|
|
873
|
+
return data;
|
|
874
|
+
}, "regenerateWebhookSecretResponseDtoSchemaResponseTransformer");
|
|
875
|
+
var webhooksControllerRegenerateSecretResponseTransformer = /* @__PURE__ */ __name(async (data) => {
|
|
876
|
+
data = regenerateWebhookSecretResponseDtoSchemaResponseTransformer(data);
|
|
877
|
+
return data;
|
|
878
|
+
}, "webhooksControllerRegenerateSecretResponseTransformer");
|
|
879
|
+
var zoneResponseDtoSchemaResponseTransformer = /* @__PURE__ */ __name((data) => {
|
|
880
|
+
data.created_at = new Date(data.created_at);
|
|
881
|
+
data.updated_at = new Date(data.updated_at);
|
|
882
|
+
return data;
|
|
883
|
+
}, "zoneResponseDtoSchemaResponseTransformer");
|
|
884
|
+
var zonesControllerCreateZoneResponseTransformer = /* @__PURE__ */ __name(async (data) => {
|
|
885
|
+
data = zoneResponseDtoSchemaResponseTransformer(data);
|
|
886
|
+
return data;
|
|
887
|
+
}, "zonesControllerCreateZoneResponseTransformer");
|
|
888
|
+
var zonesControllerUpdateZoneResponseTransformer = /* @__PURE__ */ __name(async (data) => {
|
|
889
|
+
data = zoneResponseDtoSchemaResponseTransformer(data);
|
|
890
|
+
return data;
|
|
891
|
+
}, "zonesControllerUpdateZoneResponseTransformer");
|
|
830
892
|
var getInboundWebhookConfigsResponseSchemaResponseTransformer = /* @__PURE__ */ __name((data) => {
|
|
831
893
|
data = data.map((item) => {
|
|
832
894
|
item.created_at = new Date(item.created_at);
|
|
@@ -1049,6 +1111,7 @@ var flightsControllerGetFlight = /* @__PURE__ */ __name((options) => {
|
|
|
1049
1111
|
type: "apiKey"
|
|
1050
1112
|
}
|
|
1051
1113
|
],
|
|
1114
|
+
responseTransformer: flightsControllerGetFlightResponseTransformer,
|
|
1052
1115
|
url: "/flights/{flightId}",
|
|
1053
1116
|
...options
|
|
1054
1117
|
});
|
|
@@ -1314,6 +1377,7 @@ var webhooksControllerGetMany = /* @__PURE__ */ __name((options) => {
|
|
|
1314
1377
|
type: "apiKey"
|
|
1315
1378
|
}
|
|
1316
1379
|
],
|
|
1380
|
+
responseTransformer: webhooksControllerGetManyResponseTransformer,
|
|
1317
1381
|
url: "/org/{org_id}/webhooks",
|
|
1318
1382
|
...options
|
|
1319
1383
|
});
|
|
@@ -1354,6 +1418,7 @@ var webhooksControllerGet = /* @__PURE__ */ __name((options) => {
|
|
|
1354
1418
|
type: "apiKey"
|
|
1355
1419
|
}
|
|
1356
1420
|
],
|
|
1421
|
+
responseTransformer: webhooksControllerGetResponseTransformer,
|
|
1357
1422
|
url: "/org/{org_id}/webhooks/{id}",
|
|
1358
1423
|
...options
|
|
1359
1424
|
});
|
|
@@ -1366,6 +1431,7 @@ var webhooksControllerUpdate = /* @__PURE__ */ __name((options) => {
|
|
|
1366
1431
|
type: "apiKey"
|
|
1367
1432
|
}
|
|
1368
1433
|
],
|
|
1434
|
+
responseTransformer: webhooksControllerUpdateResponseTransformer,
|
|
1369
1435
|
url: "/org/{org_id}/webhooks/{id}",
|
|
1370
1436
|
...options,
|
|
1371
1437
|
headers: {
|
|
@@ -1382,8 +1448,13 @@ var webhooksControllerRegenerateSecret = /* @__PURE__ */ __name((options) => {
|
|
|
1382
1448
|
type: "apiKey"
|
|
1383
1449
|
}
|
|
1384
1450
|
],
|
|
1451
|
+
responseTransformer: webhooksControllerRegenerateSecretResponseTransformer,
|
|
1385
1452
|
url: "/org/{org_id}/webhooks/{id}/regenerate-secret",
|
|
1386
|
-
...options
|
|
1453
|
+
...options,
|
|
1454
|
+
headers: {
|
|
1455
|
+
"Content-Type": "application/json",
|
|
1456
|
+
...options.headers
|
|
1457
|
+
}
|
|
1387
1458
|
});
|
|
1388
1459
|
}, "webhooksControllerRegenerateSecret");
|
|
1389
1460
|
var webhooksControllerTest = /* @__PURE__ */ __name((options) => {
|
|
@@ -1410,6 +1481,84 @@ var webhooksControllerGetStatus = /* @__PURE__ */ __name((options) => {
|
|
|
1410
1481
|
...options
|
|
1411
1482
|
});
|
|
1412
1483
|
}, "webhooksControllerGetStatus");
|
|
1484
|
+
var zonesControllerCreateZone = /* @__PURE__ */ __name((options) => {
|
|
1485
|
+
return (options.client ?? client).post({
|
|
1486
|
+
security: [
|
|
1487
|
+
{
|
|
1488
|
+
name: "x-api-token",
|
|
1489
|
+
type: "apiKey"
|
|
1490
|
+
}
|
|
1491
|
+
],
|
|
1492
|
+
responseTransformer: zonesControllerCreateZoneResponseTransformer,
|
|
1493
|
+
url: "/zones",
|
|
1494
|
+
...options,
|
|
1495
|
+
headers: {
|
|
1496
|
+
"Content-Type": "application/json",
|
|
1497
|
+
...options.headers
|
|
1498
|
+
}
|
|
1499
|
+
});
|
|
1500
|
+
}, "zonesControllerCreateZone");
|
|
1501
|
+
var zonesControllerDeleteZone = /* @__PURE__ */ __name((options) => {
|
|
1502
|
+
return (options.client ?? client).delete({
|
|
1503
|
+
security: [
|
|
1504
|
+
{
|
|
1505
|
+
name: "x-api-token",
|
|
1506
|
+
type: "apiKey"
|
|
1507
|
+
}
|
|
1508
|
+
],
|
|
1509
|
+
url: "/zones/{id}",
|
|
1510
|
+
...options
|
|
1511
|
+
});
|
|
1512
|
+
}, "zonesControllerDeleteZone");
|
|
1513
|
+
var zonesControllerUpdateZone = /* @__PURE__ */ __name((options) => {
|
|
1514
|
+
return (options.client ?? client).put({
|
|
1515
|
+
security: [
|
|
1516
|
+
{
|
|
1517
|
+
name: "x-api-token",
|
|
1518
|
+
type: "apiKey"
|
|
1519
|
+
}
|
|
1520
|
+
],
|
|
1521
|
+
responseTransformer: zonesControllerUpdateZoneResponseTransformer,
|
|
1522
|
+
url: "/zones/{id}",
|
|
1523
|
+
...options,
|
|
1524
|
+
headers: {
|
|
1525
|
+
"Content-Type": "application/json",
|
|
1526
|
+
...options.headers
|
|
1527
|
+
}
|
|
1528
|
+
});
|
|
1529
|
+
}, "zonesControllerUpdateZone");
|
|
1530
|
+
var eventProcessorMissionsSyncControllerResyncMissions = /* @__PURE__ */ __name((options) => {
|
|
1531
|
+
return (options.client ?? client).put({
|
|
1532
|
+
security: [
|
|
1533
|
+
{
|
|
1534
|
+
name: "x-api-token",
|
|
1535
|
+
type: "apiKey"
|
|
1536
|
+
}
|
|
1537
|
+
],
|
|
1538
|
+
url: "/event-processor/missions/sync",
|
|
1539
|
+
...options,
|
|
1540
|
+
headers: {
|
|
1541
|
+
"Content-Type": "application/json",
|
|
1542
|
+
...options.headers
|
|
1543
|
+
}
|
|
1544
|
+
});
|
|
1545
|
+
}, "eventProcessorMissionsSyncControllerResyncMissions");
|
|
1546
|
+
var eventProcessorFlightReviewsSyncControllerResyncFlightReviews = /* @__PURE__ */ __name((options) => {
|
|
1547
|
+
return (options.client ?? client).put({
|
|
1548
|
+
security: [
|
|
1549
|
+
{
|
|
1550
|
+
name: "x-api-token",
|
|
1551
|
+
type: "apiKey"
|
|
1552
|
+
}
|
|
1553
|
+
],
|
|
1554
|
+
url: "/event-processor/flightreviews",
|
|
1555
|
+
...options,
|
|
1556
|
+
headers: {
|
|
1557
|
+
"Content-Type": "application/json",
|
|
1558
|
+
...options.headers
|
|
1559
|
+
}
|
|
1560
|
+
});
|
|
1561
|
+
}, "eventProcessorFlightReviewsSyncControllerResyncFlightReviews");
|
|
1413
1562
|
var alchemyControllerHandleWebhook = /* @__PURE__ */ __name((options) => {
|
|
1414
1563
|
return (options.client ?? client).post({
|
|
1415
1564
|
url: "/webhooks/inbound/alchemy",
|
|
@@ -1623,30 +1772,51 @@ var Event = z.union([
|
|
|
1623
1772
|
|
|
1624
1773
|
// src/event/parser.ts
|
|
1625
1774
|
var WEBHOOK_SECRET_HEADER = "X-Webhook-Secret";
|
|
1775
|
+
var WEBHOOK_PREVIOUS_SECRET_HEADER = "X-Webhook-Previous-Secret";
|
|
1776
|
+
var WEBHOOK_PREVIOUS_SECRET_EXPIRES_AT_HEADER = "X-Webhook-Previous-Secret-Expires-At";
|
|
1626
1777
|
function parseWebhookEvent(req, webhookSecret) {
|
|
1627
|
-
const
|
|
1628
|
-
if (typeof
|
|
1778
|
+
const incoming = getFirstHeader(req.headers, WEBHOOK_SECRET_HEADER);
|
|
1779
|
+
if (typeof incoming !== "string") {
|
|
1629
1780
|
throw new Error("Webhook request signature is not a string");
|
|
1630
1781
|
}
|
|
1631
1782
|
if (!Buffer.isBuffer(req.body)) {
|
|
1632
1783
|
throw new Error("Webhook request body is not a Buffer");
|
|
1633
1784
|
}
|
|
1634
|
-
if (
|
|
1785
|
+
if (incoming === webhookSecret) {
|
|
1786
|
+
return Event.parse(JSON.parse(req.body.toString("utf-8")));
|
|
1787
|
+
}
|
|
1788
|
+
const announcedPrevious = getFirstHeader(req.headers, WEBHOOK_PREVIOUS_SECRET_HEADER);
|
|
1789
|
+
const expiresRaw = getFirstHeader(req.headers, WEBHOOK_PREVIOUS_SECRET_EXPIRES_AT_HEADER);
|
|
1790
|
+
if (announcedPrevious === void 0 || expiresRaw === void 0) {
|
|
1791
|
+
throw new Error("Invalid webhook secret");
|
|
1792
|
+
}
|
|
1793
|
+
const expiresAt = new Date(expiresRaw);
|
|
1794
|
+
if (Number.isNaN(expiresAt.getTime())) {
|
|
1635
1795
|
throw new Error("Invalid webhook secret");
|
|
1636
1796
|
}
|
|
1637
|
-
|
|
1797
|
+
if (Date.now() >= expiresAt.getTime()) {
|
|
1798
|
+
throw new Error("Invalid webhook secret");
|
|
1799
|
+
}
|
|
1800
|
+
if (webhookSecret === announcedPrevious) {
|
|
1801
|
+
return Event.parse(JSON.parse(req.body.toString("utf-8")));
|
|
1802
|
+
}
|
|
1803
|
+
throw new Error("Invalid webhook secret");
|
|
1638
1804
|
}
|
|
1639
1805
|
__name(parseWebhookEvent, "parseWebhookEvent");
|
|
1640
|
-
function
|
|
1641
|
-
|
|
1806
|
+
function getFirstHeader(headers, canonicalName) {
|
|
1807
|
+
const lower = canonicalName.toLowerCase();
|
|
1808
|
+
let value = headers[canonicalName] ?? headers[lower];
|
|
1642
1809
|
if (Array.isArray(value)) {
|
|
1643
1810
|
value = value[0];
|
|
1644
1811
|
}
|
|
1645
|
-
return value;
|
|
1812
|
+
return typeof value === "string" ? value : void 0;
|
|
1646
1813
|
}
|
|
1647
|
-
__name(
|
|
1814
|
+
__name(getFirstHeader, "getFirstHeader");
|
|
1648
1815
|
export {
|
|
1649
1816
|
Event,
|
|
1817
|
+
WEBHOOK_PREVIOUS_SECRET_EXPIRES_AT_HEADER,
|
|
1818
|
+
WEBHOOK_PREVIOUS_SECRET_HEADER,
|
|
1819
|
+
WEBHOOK_SECRET_HEADER,
|
|
1650
1820
|
alchemyControllerHandleWebhook,
|
|
1651
1821
|
apiControllerGetError,
|
|
1652
1822
|
apiControllerGetHello,
|
|
@@ -1664,6 +1834,8 @@ export {
|
|
|
1664
1834
|
createClient,
|
|
1665
1835
|
createConfig,
|
|
1666
1836
|
dlqRedriverControllerRedriveDlq,
|
|
1837
|
+
eventProcessorFlightReviewsSyncControllerResyncFlightReviews,
|
|
1838
|
+
eventProcessorMissionsSyncControllerResyncMissions,
|
|
1667
1839
|
flightPlansControllerCreate,
|
|
1668
1840
|
flightPlansControllerGet,
|
|
1669
1841
|
flightPlansControllerGetMany,
|
|
@@ -1701,5 +1873,8 @@ export {
|
|
|
1701
1873
|
webhooksControllerGetStatus,
|
|
1702
1874
|
webhooksControllerRegenerateSecret,
|
|
1703
1875
|
webhooksControllerTest,
|
|
1704
|
-
webhooksControllerUpdate
|
|
1876
|
+
webhooksControllerUpdate,
|
|
1877
|
+
zonesControllerCreateZone,
|
|
1878
|
+
zonesControllerDeleteZone,
|
|
1879
|
+
zonesControllerUpdateZone
|
|
1705
1880
|
};
|