@mestra-dev/contract 0.0.99 → 0.0.100
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.ts +508 -7
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1751,6 +1751,133 @@ declare const routes: import("hono/hono-base").HonoBase<{
|
|
|
1751
1751
|
};
|
|
1752
1752
|
};
|
|
1753
1753
|
};
|
|
1754
|
+
readonly UploadToCustomerRequest: {
|
|
1755
|
+
readonly type: "object";
|
|
1756
|
+
readonly required: readonly [
|
|
1757
|
+
"filename",
|
|
1758
|
+
"contentType",
|
|
1759
|
+
"contentLength",
|
|
1760
|
+
"workspace",
|
|
1761
|
+
"customerId"
|
|
1762
|
+
];
|
|
1763
|
+
readonly properties: {
|
|
1764
|
+
readonly filename: {
|
|
1765
|
+
readonly type: "string";
|
|
1766
|
+
readonly minLength: 1;
|
|
1767
|
+
readonly maxLength: 200;
|
|
1768
|
+
readonly description: "Safe file name (no path separators, not `.tmp`).";
|
|
1769
|
+
readonly example: "contract.pdf";
|
|
1770
|
+
};
|
|
1771
|
+
readonly contentType: {
|
|
1772
|
+
readonly $ref: "#/components/schemas/FileContentType";
|
|
1773
|
+
};
|
|
1774
|
+
readonly contentLength: {
|
|
1775
|
+
readonly type: "integer";
|
|
1776
|
+
readonly minimum: 1;
|
|
1777
|
+
readonly maximum: 15728640;
|
|
1778
|
+
readonly description: "Exact file byte length.";
|
|
1779
|
+
};
|
|
1780
|
+
readonly workspace: {
|
|
1781
|
+
readonly type: "string";
|
|
1782
|
+
readonly format: "uuid";
|
|
1783
|
+
readonly description: "Workspace identifier.";
|
|
1784
|
+
};
|
|
1785
|
+
readonly customerId: {
|
|
1786
|
+
readonly type: "string";
|
|
1787
|
+
readonly format: "uuid";
|
|
1788
|
+
readonly description: "Customer the file is attached to.";
|
|
1789
|
+
};
|
|
1790
|
+
};
|
|
1791
|
+
};
|
|
1792
|
+
readonly UploadToCustomerSuccess: {
|
|
1793
|
+
readonly type: "object";
|
|
1794
|
+
readonly required: readonly [
|
|
1795
|
+
"success",
|
|
1796
|
+
"url",
|
|
1797
|
+
"fields",
|
|
1798
|
+
"key",
|
|
1799
|
+
"maxSize"
|
|
1800
|
+
];
|
|
1801
|
+
readonly properties: {
|
|
1802
|
+
readonly success: {
|
|
1803
|
+
readonly type: "boolean";
|
|
1804
|
+
readonly const: true;
|
|
1805
|
+
};
|
|
1806
|
+
readonly url: {
|
|
1807
|
+
readonly type: "string";
|
|
1808
|
+
readonly description: "S3 presigned POST URL.";
|
|
1809
|
+
};
|
|
1810
|
+
readonly fields: {
|
|
1811
|
+
readonly type: "object";
|
|
1812
|
+
readonly additionalProperties: {
|
|
1813
|
+
readonly type: "string";
|
|
1814
|
+
};
|
|
1815
|
+
readonly description: "Form fields to include in the multipart upload POST.";
|
|
1816
|
+
};
|
|
1817
|
+
readonly key: {
|
|
1818
|
+
readonly type: "string";
|
|
1819
|
+
readonly description: "Temporary S3 object key (`{workspace}_customers/{customerId}/{filename}.tmp`).";
|
|
1820
|
+
};
|
|
1821
|
+
readonly maxSize: {
|
|
1822
|
+
readonly type: "integer";
|
|
1823
|
+
readonly description: "Exact requested upload size in bytes.";
|
|
1824
|
+
};
|
|
1825
|
+
};
|
|
1826
|
+
};
|
|
1827
|
+
readonly ConfirmCustomerFileRequest: {
|
|
1828
|
+
readonly type: "object";
|
|
1829
|
+
readonly required: readonly [
|
|
1830
|
+
"filename",
|
|
1831
|
+
"workspace",
|
|
1832
|
+
"customerId"
|
|
1833
|
+
];
|
|
1834
|
+
readonly properties: {
|
|
1835
|
+
readonly filename: {
|
|
1836
|
+
readonly type: "string";
|
|
1837
|
+
readonly minLength: 1;
|
|
1838
|
+
readonly maxLength: 200;
|
|
1839
|
+
readonly description: "Original file name used for `/files/upload-to-customer`.";
|
|
1840
|
+
readonly example: "contract.pdf";
|
|
1841
|
+
};
|
|
1842
|
+
readonly workspace: {
|
|
1843
|
+
readonly type: "string";
|
|
1844
|
+
readonly format: "uuid";
|
|
1845
|
+
readonly description: "Workspace identifier.";
|
|
1846
|
+
};
|
|
1847
|
+
readonly customerId: {
|
|
1848
|
+
readonly type: "string";
|
|
1849
|
+
readonly format: "uuid";
|
|
1850
|
+
readonly description: "Customer the file is attached to.";
|
|
1851
|
+
};
|
|
1852
|
+
};
|
|
1853
|
+
};
|
|
1854
|
+
readonly DeleteCustomerFileRequest: {
|
|
1855
|
+
readonly type: "object";
|
|
1856
|
+
readonly required: readonly [
|
|
1857
|
+
"filename",
|
|
1858
|
+
"workspace",
|
|
1859
|
+
"customerId"
|
|
1860
|
+
];
|
|
1861
|
+
readonly properties: {
|
|
1862
|
+
readonly filename: {
|
|
1863
|
+
readonly type: "string";
|
|
1864
|
+
readonly minLength: 1;
|
|
1865
|
+
readonly maxLength: 200;
|
|
1866
|
+
readonly description: "Safe file name (no path separators, not `.tmp`).";
|
|
1867
|
+
readonly example: "contract.pdf";
|
|
1868
|
+
};
|
|
1869
|
+
readonly workspace: {
|
|
1870
|
+
readonly type: "string";
|
|
1871
|
+
readonly format: "uuid";
|
|
1872
|
+
readonly description: "Workspace identifier.";
|
|
1873
|
+
};
|
|
1874
|
+
readonly customerId: {
|
|
1875
|
+
readonly type: "string";
|
|
1876
|
+
readonly format: "uuid";
|
|
1877
|
+
readonly description: "Customer the file is attached to.";
|
|
1878
|
+
};
|
|
1879
|
+
};
|
|
1880
|
+
};
|
|
1754
1881
|
readonly UploadToServiceRequest: {
|
|
1755
1882
|
readonly type: "object";
|
|
1756
1883
|
readonly required: readonly [
|
|
@@ -1992,6 +2119,59 @@ declare const routes: import("hono/hono-base").HonoBase<{
|
|
|
1992
2119
|
};
|
|
1993
2120
|
};
|
|
1994
2121
|
};
|
|
2122
|
+
readonly CustomerFile: {
|
|
2123
|
+
readonly type: "object";
|
|
2124
|
+
readonly required: readonly [
|
|
2125
|
+
"key",
|
|
2126
|
+
"filename",
|
|
2127
|
+
"size",
|
|
2128
|
+
"downloadUrl"
|
|
2129
|
+
];
|
|
2130
|
+
readonly properties: {
|
|
2131
|
+
readonly key: {
|
|
2132
|
+
readonly type: "string";
|
|
2133
|
+
readonly description: "Full S3 object key (`{workspace}_customers/{customerId}/{filename}`).";
|
|
2134
|
+
};
|
|
2135
|
+
readonly filename: {
|
|
2136
|
+
readonly type: "string";
|
|
2137
|
+
readonly description: "File name under `{workspace}_customers/{customerId}/`.";
|
|
2138
|
+
};
|
|
2139
|
+
readonly size: {
|
|
2140
|
+
readonly type: "integer";
|
|
2141
|
+
readonly description: "Object size in bytes.";
|
|
2142
|
+
};
|
|
2143
|
+
readonly lastModified: {
|
|
2144
|
+
readonly type: "string";
|
|
2145
|
+
readonly format: "date-time";
|
|
2146
|
+
readonly nullable: true;
|
|
2147
|
+
readonly description: "Last modified timestamp from S3 (ISO string).";
|
|
2148
|
+
};
|
|
2149
|
+
readonly downloadUrl: {
|
|
2150
|
+
readonly type: "string";
|
|
2151
|
+
readonly description: "Presigned GET URL (5-minute expiry).";
|
|
2152
|
+
};
|
|
2153
|
+
};
|
|
2154
|
+
};
|
|
2155
|
+
readonly ListCustomerFilesSuccess: {
|
|
2156
|
+
readonly type: "object";
|
|
2157
|
+
readonly required: readonly [
|
|
2158
|
+
"success",
|
|
2159
|
+
"files"
|
|
2160
|
+
];
|
|
2161
|
+
readonly properties: {
|
|
2162
|
+
readonly success: {
|
|
2163
|
+
readonly type: "boolean";
|
|
2164
|
+
readonly const: true;
|
|
2165
|
+
};
|
|
2166
|
+
readonly files: {
|
|
2167
|
+
readonly type: "array";
|
|
2168
|
+
readonly items: {
|
|
2169
|
+
readonly $ref: "#/components/schemas/CustomerFile";
|
|
2170
|
+
};
|
|
2171
|
+
readonly description: "All non-prefix, non-`.tmp` objects under `{workspace}_customers/{customerId}/`.";
|
|
2172
|
+
};
|
|
2173
|
+
};
|
|
2174
|
+
};
|
|
1995
2175
|
readonly UploadProfilePictureRequest: {
|
|
1996
2176
|
readonly type: "object";
|
|
1997
2177
|
readonly required: readonly [
|
|
@@ -2250,6 +2430,7 @@ declare const routes: import("hono/hono-base").HonoBase<{
|
|
|
2250
2430
|
"usedBytes",
|
|
2251
2431
|
"filesBytes",
|
|
2252
2432
|
"commentsBytes",
|
|
2433
|
+
"customerBytes",
|
|
2253
2434
|
"servicesBytes",
|
|
2254
2435
|
"limitBytes"
|
|
2255
2436
|
];
|
|
@@ -2260,7 +2441,7 @@ declare const routes: import("hono/hono-base").HonoBase<{
|
|
|
2260
2441
|
};
|
|
2261
2442
|
readonly usedBytes: {
|
|
2262
2443
|
readonly type: "integer";
|
|
2263
|
-
readonly description: "Total finalized storage in bytes (`filesBytes` + `commentsBytes` + `servicesBytes`). Excludes `.tmp` objects.";
|
|
2444
|
+
readonly description: "Total finalized storage in bytes (`filesBytes` + `commentsBytes` + `customerBytes` + `servicesBytes`). Excludes `.tmp` objects.";
|
|
2264
2445
|
readonly example: 348320;
|
|
2265
2446
|
};
|
|
2266
2447
|
readonly filesBytes: {
|
|
@@ -2273,6 +2454,11 @@ declare const routes: import("hono/hono-base").HonoBase<{
|
|
|
2273
2454
|
readonly description: "Finalized comment attachment storage under `{workspace}_comments/`. Excludes `.tmp`.";
|
|
2274
2455
|
readonly example: 100000;
|
|
2275
2456
|
};
|
|
2457
|
+
readonly customerBytes: {
|
|
2458
|
+
readonly type: "integer";
|
|
2459
|
+
readonly description: "Finalized customer file storage under `{workspace}_customers/`. Excludes `.tmp`.";
|
|
2460
|
+
readonly example: 50000;
|
|
2461
|
+
};
|
|
2276
2462
|
readonly servicesBytes: {
|
|
2277
2463
|
readonly type: "integer";
|
|
2278
2464
|
readonly description: "Finalized service file storage under `{workspace}_services/`. Excludes `.tmp`.";
|
|
@@ -12542,7 +12728,7 @@ declare const routes: import("hono/hono-base").HonoBase<{
|
|
|
12542
12728
|
"Files"
|
|
12543
12729
|
];
|
|
12544
12730
|
readonly summary: "Get workspace storage usage";
|
|
12545
|
-
readonly description: "Returns finalized storage usage broken down by workspace files (`filesBytes`), comment attachments (`commentsBytes`), and service files (`servicesBytes`), plus the combined total and plan limit. Temporary `.tmp` objects are excluded. Requires workspace access and read access to crm::files.";
|
|
12731
|
+
readonly description: "Returns finalized storage usage broken down by workspace files (`filesBytes`), comment attachments (`commentsBytes`), customer files (`customerBytes`), and service files (`servicesBytes`), plus the combined total and plan limit. Temporary `.tmp` objects are excluded. Requires workspace access and read access to crm::files.";
|
|
12546
12732
|
readonly security: readonly [
|
|
12547
12733
|
never
|
|
12548
12734
|
];
|
|
@@ -13375,6 +13561,204 @@ declare const routes: import("hono/hono-base").HonoBase<{
|
|
|
13375
13561
|
};
|
|
13376
13562
|
};
|
|
13377
13563
|
};
|
|
13564
|
+
readonly "/files/upload-to-customer": {
|
|
13565
|
+
readonly post: {
|
|
13566
|
+
readonly tags: readonly [
|
|
13567
|
+
"Files"
|
|
13568
|
+
];
|
|
13569
|
+
readonly summary: "Create presigned upload for a customer file";
|
|
13570
|
+
readonly description: "Returns a presigned POST for `{workspace}_customers/{customerId}/{filename}.tmp`. JPEG, PNG, WebP, and PDF files up to 15 MB are supported. The customer must belong to a real-estate workspace. Confirm the upload with `/files/confirm-customer-file`.";
|
|
13571
|
+
readonly security: readonly [
|
|
13572
|
+
never
|
|
13573
|
+
];
|
|
13574
|
+
readonly requestBody: {
|
|
13575
|
+
readonly required: true;
|
|
13576
|
+
readonly content: {
|
|
13577
|
+
readonly "application/json": {
|
|
13578
|
+
readonly schema: {
|
|
13579
|
+
readonly $ref: "#/components/schemas/UploadToCustomerRequest";
|
|
13580
|
+
};
|
|
13581
|
+
};
|
|
13582
|
+
};
|
|
13583
|
+
};
|
|
13584
|
+
readonly responses: {
|
|
13585
|
+
readonly 200: {
|
|
13586
|
+
readonly description: "Presigned customer upload created.";
|
|
13587
|
+
readonly content: {
|
|
13588
|
+
readonly "application/json": {
|
|
13589
|
+
readonly schema: {
|
|
13590
|
+
readonly $ref: "#/components/schemas/UploadToCustomerSuccess";
|
|
13591
|
+
};
|
|
13592
|
+
};
|
|
13593
|
+
};
|
|
13594
|
+
};
|
|
13595
|
+
readonly 400: {
|
|
13596
|
+
readonly description: "Invalid payload or unsupported workspace category.";
|
|
13597
|
+
readonly content: {
|
|
13598
|
+
readonly "application/json": {
|
|
13599
|
+
readonly schema: {
|
|
13600
|
+
readonly $ref: "#/components/schemas/ErrorResponse";
|
|
13601
|
+
};
|
|
13602
|
+
};
|
|
13603
|
+
};
|
|
13604
|
+
};
|
|
13605
|
+
readonly 404: {
|
|
13606
|
+
readonly description: "Real-estate customer not found.";
|
|
13607
|
+
readonly content: {
|
|
13608
|
+
readonly "application/json": {
|
|
13609
|
+
readonly schema: {
|
|
13610
|
+
readonly $ref: "#/components/schemas/ErrorResponse";
|
|
13611
|
+
};
|
|
13612
|
+
};
|
|
13613
|
+
};
|
|
13614
|
+
};
|
|
13615
|
+
};
|
|
13616
|
+
};
|
|
13617
|
+
};
|
|
13618
|
+
readonly "/files/confirm-customer-file": {
|
|
13619
|
+
readonly post: {
|
|
13620
|
+
readonly tags: readonly [
|
|
13621
|
+
"Files"
|
|
13622
|
+
];
|
|
13623
|
+
readonly summary: "Confirm a customer file upload";
|
|
13624
|
+
readonly description: "Validates and promotes `{workspace}_customers/{customerId}/{filename}.tmp` to its finalized key. Confirmed bytes contribute to `customerBytes`.";
|
|
13625
|
+
readonly security: readonly [
|
|
13626
|
+
never
|
|
13627
|
+
];
|
|
13628
|
+
readonly requestBody: {
|
|
13629
|
+
readonly required: true;
|
|
13630
|
+
readonly content: {
|
|
13631
|
+
readonly "application/json": {
|
|
13632
|
+
readonly schema: {
|
|
13633
|
+
readonly $ref: "#/components/schemas/ConfirmCustomerFileRequest";
|
|
13634
|
+
};
|
|
13635
|
+
};
|
|
13636
|
+
};
|
|
13637
|
+
};
|
|
13638
|
+
readonly responses: {
|
|
13639
|
+
readonly 200: {
|
|
13640
|
+
readonly description: "Customer file confirmed.";
|
|
13641
|
+
readonly content: {
|
|
13642
|
+
readonly "application/json": {
|
|
13643
|
+
readonly schema: {
|
|
13644
|
+
readonly $ref: "#/components/schemas/ConfirmFileSuccess";
|
|
13645
|
+
};
|
|
13646
|
+
};
|
|
13647
|
+
};
|
|
13648
|
+
};
|
|
13649
|
+
readonly 400: {
|
|
13650
|
+
readonly description: "Invalid request, missing temporary object, oversized file, or invalid file type.";
|
|
13651
|
+
readonly content: {
|
|
13652
|
+
readonly "application/json": {
|
|
13653
|
+
readonly schema: {
|
|
13654
|
+
readonly $ref: "#/components/schemas/ErrorResponse";
|
|
13655
|
+
};
|
|
13656
|
+
};
|
|
13657
|
+
};
|
|
13658
|
+
};
|
|
13659
|
+
};
|
|
13660
|
+
};
|
|
13661
|
+
};
|
|
13662
|
+
readonly "/files/download-from-customer/{workspace}/{customerId}": {
|
|
13663
|
+
readonly get: {
|
|
13664
|
+
readonly tags: readonly [
|
|
13665
|
+
"Files"
|
|
13666
|
+
];
|
|
13667
|
+
readonly summary: "List files for a customer";
|
|
13668
|
+
readonly description: "Lists finalized objects under `{workspace}_customers/{customerId}/`, each with a 5-minute presigned download URL. Requires workspace access and read access to crm::customers.";
|
|
13669
|
+
readonly security: readonly [
|
|
13670
|
+
never
|
|
13671
|
+
];
|
|
13672
|
+
readonly parameters: readonly [
|
|
13673
|
+
{
|
|
13674
|
+
readonly name: "workspace";
|
|
13675
|
+
readonly in: "path";
|
|
13676
|
+
readonly required: true;
|
|
13677
|
+
readonly schema: {
|
|
13678
|
+
readonly type: "string";
|
|
13679
|
+
readonly format: "uuid";
|
|
13680
|
+
};
|
|
13681
|
+
readonly description: "Workspace identifier.";
|
|
13682
|
+
},
|
|
13683
|
+
{
|
|
13684
|
+
readonly name: "customerId";
|
|
13685
|
+
readonly in: "path";
|
|
13686
|
+
readonly required: true;
|
|
13687
|
+
readonly schema: {
|
|
13688
|
+
readonly type: "string";
|
|
13689
|
+
readonly format: "uuid";
|
|
13690
|
+
};
|
|
13691
|
+
readonly description: "Customer identifier.";
|
|
13692
|
+
}
|
|
13693
|
+
];
|
|
13694
|
+
readonly responses: {
|
|
13695
|
+
readonly 200: {
|
|
13696
|
+
readonly description: "Customer files listed.";
|
|
13697
|
+
readonly content: {
|
|
13698
|
+
readonly "application/json": {
|
|
13699
|
+
readonly schema: {
|
|
13700
|
+
readonly $ref: "#/components/schemas/ListCustomerFilesSuccess";
|
|
13701
|
+
};
|
|
13702
|
+
};
|
|
13703
|
+
};
|
|
13704
|
+
};
|
|
13705
|
+
readonly 403: {
|
|
13706
|
+
readonly description: "Workspace or customer read access is missing.";
|
|
13707
|
+
readonly content: {
|
|
13708
|
+
readonly "application/json": {
|
|
13709
|
+
readonly schema: {
|
|
13710
|
+
readonly $ref: "#/components/schemas/ErrorResponse";
|
|
13711
|
+
};
|
|
13712
|
+
};
|
|
13713
|
+
};
|
|
13714
|
+
};
|
|
13715
|
+
};
|
|
13716
|
+
};
|
|
13717
|
+
};
|
|
13718
|
+
readonly "/files/delete-customer-file": {
|
|
13719
|
+
readonly post: {
|
|
13720
|
+
readonly tags: readonly [
|
|
13721
|
+
"Files"
|
|
13722
|
+
];
|
|
13723
|
+
readonly summary: "Delete a customer file";
|
|
13724
|
+
readonly description: "Deletes `{workspace}_customers/{customerId}/{filename}`. Requires workspace access, write access to crm::customers, and billing access.";
|
|
13725
|
+
readonly security: readonly [
|
|
13726
|
+
never
|
|
13727
|
+
];
|
|
13728
|
+
readonly requestBody: {
|
|
13729
|
+
readonly required: true;
|
|
13730
|
+
readonly content: {
|
|
13731
|
+
readonly "application/json": {
|
|
13732
|
+
readonly schema: {
|
|
13733
|
+
readonly $ref: "#/components/schemas/DeleteCustomerFileRequest";
|
|
13734
|
+
};
|
|
13735
|
+
};
|
|
13736
|
+
};
|
|
13737
|
+
};
|
|
13738
|
+
readonly responses: {
|
|
13739
|
+
readonly 200: {
|
|
13740
|
+
readonly description: "Customer file deleted.";
|
|
13741
|
+
readonly content: {
|
|
13742
|
+
readonly "application/json": {
|
|
13743
|
+
readonly schema: {
|
|
13744
|
+
readonly $ref: "#/components/schemas/DeleteFileSuccess";
|
|
13745
|
+
};
|
|
13746
|
+
};
|
|
13747
|
+
};
|
|
13748
|
+
};
|
|
13749
|
+
readonly 404: {
|
|
13750
|
+
readonly description: "File not found.";
|
|
13751
|
+
readonly content: {
|
|
13752
|
+
readonly "application/json": {
|
|
13753
|
+
readonly schema: {
|
|
13754
|
+
readonly $ref: "#/components/schemas/DeleteFileFailure";
|
|
13755
|
+
};
|
|
13756
|
+
};
|
|
13757
|
+
};
|
|
13758
|
+
};
|
|
13759
|
+
};
|
|
13760
|
+
};
|
|
13761
|
+
};
|
|
13378
13762
|
readonly "/files/delete-comment-file": {
|
|
13379
13763
|
readonly post: {
|
|
13380
13764
|
readonly tags: readonly [
|
|
@@ -16394,18 +16778,18 @@ declare const routes: import("hono/hono-base").HonoBase<{
|
|
|
16394
16778
|
} | {
|
|
16395
16779
|
input: {};
|
|
16396
16780
|
output: {
|
|
16397
|
-
success:
|
|
16781
|
+
success: false;
|
|
16782
|
+
error: string;
|
|
16398
16783
|
};
|
|
16399
16784
|
outputFormat: "json";
|
|
16400
|
-
status:
|
|
16785
|
+
status: 400;
|
|
16401
16786
|
} | {
|
|
16402
16787
|
input: {};
|
|
16403
16788
|
output: {
|
|
16404
|
-
success:
|
|
16405
|
-
error: string;
|
|
16789
|
+
success: true;
|
|
16406
16790
|
};
|
|
16407
16791
|
outputFormat: "json";
|
|
16408
|
-
status:
|
|
16792
|
+
status: 200;
|
|
16409
16793
|
};
|
|
16410
16794
|
};
|
|
16411
16795
|
} & {
|
|
@@ -20377,6 +20761,7 @@ declare const routes: import("hono/hono-base").HonoBase<{
|
|
|
20377
20761
|
usedBytes: number;
|
|
20378
20762
|
filesBytes: number;
|
|
20379
20763
|
commentsBytes: number;
|
|
20764
|
+
customerBytes: number;
|
|
20380
20765
|
servicesBytes: number;
|
|
20381
20766
|
limitBytes: number | null;
|
|
20382
20767
|
};
|
|
@@ -20908,6 +21293,122 @@ declare const routes: import("hono/hono-base").HonoBase<{
|
|
|
20908
21293
|
status: import("hono/utils/http-status").ContentfulStatusCode;
|
|
20909
21294
|
};
|
|
20910
21295
|
};
|
|
21296
|
+
} & {
|
|
21297
|
+
"/upload-to-customer": {
|
|
21298
|
+
$post: {
|
|
21299
|
+
input: {};
|
|
21300
|
+
output: {
|
|
21301
|
+
success: false;
|
|
21302
|
+
error: string;
|
|
21303
|
+
};
|
|
21304
|
+
outputFormat: "json";
|
|
21305
|
+
status: 404;
|
|
21306
|
+
} | {
|
|
21307
|
+
input: {};
|
|
21308
|
+
output: {
|
|
21309
|
+
success: false;
|
|
21310
|
+
error: string;
|
|
21311
|
+
};
|
|
21312
|
+
outputFormat: "json";
|
|
21313
|
+
status: 400;
|
|
21314
|
+
} | {
|
|
21315
|
+
input: {};
|
|
21316
|
+
output: {
|
|
21317
|
+
success: true;
|
|
21318
|
+
url: string;
|
|
21319
|
+
fields: {
|
|
21320
|
+
[x: string]: string;
|
|
21321
|
+
};
|
|
21322
|
+
key: string;
|
|
21323
|
+
maxSize: number;
|
|
21324
|
+
};
|
|
21325
|
+
outputFormat: "json";
|
|
21326
|
+
status: import("hono/utils/http-status").ContentfulStatusCode;
|
|
21327
|
+
};
|
|
21328
|
+
};
|
|
21329
|
+
} & {
|
|
21330
|
+
"/confirm-customer-file": {
|
|
21331
|
+
$post: {
|
|
21332
|
+
input: {};
|
|
21333
|
+
output: {
|
|
21334
|
+
success: true;
|
|
21335
|
+
key: string;
|
|
21336
|
+
};
|
|
21337
|
+
outputFormat: "json";
|
|
21338
|
+
status: import("hono/utils/http-status").ContentfulStatusCode;
|
|
21339
|
+
} | {
|
|
21340
|
+
input: {};
|
|
21341
|
+
output: {
|
|
21342
|
+
success: false;
|
|
21343
|
+
error: string;
|
|
21344
|
+
};
|
|
21345
|
+
outputFormat: "json";
|
|
21346
|
+
status: 400;
|
|
21347
|
+
};
|
|
21348
|
+
};
|
|
21349
|
+
} & {
|
|
21350
|
+
"/download-from-customer/:workspace/:customerId": {
|
|
21351
|
+
$get: {
|
|
21352
|
+
input: {
|
|
21353
|
+
param: {
|
|
21354
|
+
workspace: string;
|
|
21355
|
+
} & {
|
|
21356
|
+
customerId: string;
|
|
21357
|
+
};
|
|
21358
|
+
};
|
|
21359
|
+
output: {
|
|
21360
|
+
success: true;
|
|
21361
|
+
files: {
|
|
21362
|
+
key: string;
|
|
21363
|
+
filename: string;
|
|
21364
|
+
size: number;
|
|
21365
|
+
lastModified: string | null;
|
|
21366
|
+
downloadUrl: string;
|
|
21367
|
+
}[];
|
|
21368
|
+
};
|
|
21369
|
+
outputFormat: "json";
|
|
21370
|
+
status: import("hono/utils/http-status").ContentfulStatusCode;
|
|
21371
|
+
};
|
|
21372
|
+
};
|
|
21373
|
+
} & {
|
|
21374
|
+
"/delete-customer-file": {
|
|
21375
|
+
$post: {
|
|
21376
|
+
input: {};
|
|
21377
|
+
output: {
|
|
21378
|
+
success: false;
|
|
21379
|
+
error: never;
|
|
21380
|
+
};
|
|
21381
|
+
outputFormat: "json";
|
|
21382
|
+
status: 400;
|
|
21383
|
+
} | {
|
|
21384
|
+
input: {};
|
|
21385
|
+
output: {
|
|
21386
|
+
success: false;
|
|
21387
|
+
message: string;
|
|
21388
|
+
key: string;
|
|
21389
|
+
};
|
|
21390
|
+
outputFormat: "json";
|
|
21391
|
+
status: 404;
|
|
21392
|
+
} | {
|
|
21393
|
+
input: {};
|
|
21394
|
+
output: {
|
|
21395
|
+
success: false;
|
|
21396
|
+
message: string;
|
|
21397
|
+
key: string;
|
|
21398
|
+
};
|
|
21399
|
+
outputFormat: "json";
|
|
21400
|
+
status: 500;
|
|
21401
|
+
} | {
|
|
21402
|
+
input: {};
|
|
21403
|
+
output: {
|
|
21404
|
+
success: true;
|
|
21405
|
+
message: string;
|
|
21406
|
+
key: string;
|
|
21407
|
+
};
|
|
21408
|
+
outputFormat: "json";
|
|
21409
|
+
status: import("hono/utils/http-status").ContentfulStatusCode;
|
|
21410
|
+
};
|
|
21411
|
+
};
|
|
20911
21412
|
}, "/files"> | import("hono/types").MergeSchemaPath<{
|
|
20912
21413
|
"/start": {
|
|
20913
21414
|
$post: {
|