listbee 0.7.1 → 0.8.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 +57 -17
- package/dist/cjs/deliverable.d.ts +57 -0
- package/dist/cjs/deliverable.js +90 -0
- package/dist/cjs/deliverable.js.map +1 -0
- package/dist/cjs/errors.d.ts +11 -0
- package/dist/cjs/errors.js +16 -1
- package/dist/cjs/errors.js.map +1 -1
- package/dist/cjs/generated/api-types.d.ts +177 -2
- package/dist/cjs/generated/enums.d.ts +1 -0
- package/dist/cjs/generated/enums.js +1 -0
- package/dist/cjs/generated/enums.js.map +1 -1
- package/dist/cjs/index.d.ts +2 -1
- package/dist/cjs/index.js +5 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/resources/listings.d.ts +43 -4
- package/dist/cjs/resources/listings.js +77 -3
- package/dist/cjs/resources/listings.js.map +1 -1
- package/dist/cjs/resources/orders.d.ts +9 -8
- package/dist/cjs/resources/orders.js +25 -8
- package/dist/cjs/resources/orders.js.map +1 -1
- package/dist/esm/deliverable.d.ts +57 -0
- package/dist/esm/deliverable.js +86 -0
- package/dist/esm/deliverable.js.map +1 -0
- package/dist/esm/errors.d.ts +11 -0
- package/dist/esm/errors.js +14 -0
- package/dist/esm/errors.js.map +1 -1
- package/dist/esm/generated/api-types.d.ts +177 -2
- package/dist/esm/generated/enums.d.ts +1 -0
- package/dist/esm/generated/enums.js +1 -0
- package/dist/esm/generated/enums.js.map +1 -1
- package/dist/esm/index.d.ts +2 -1
- package/dist/esm/index.js +3 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/resources/listings.d.ts +43 -4
- package/dist/esm/resources/listings.js +77 -3
- package/dist/esm/resources/listings.js.map +1 -1
- package/dist/esm/resources/orders.d.ts +9 -8
- package/dist/esm/resources/orders.js +25 -8
- package/dist/esm/resources/orders.js.map +1 -1
- package/package.json +1 -1
package/dist/cjs/index.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* ListBee TypeScript SDK — public exports.
|
|
4
4
|
*/
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.WebhookEventType = exports.OrderStatus = exports.ListingStatus = exports.FulfillmentMode = exports.ErrorCode = exports.DeliverableType = exports.DeliverableStatus = exports.CheckoutFieldType = exports.BlurMode = exports.ActionKind = exports.ActionCode = exports.WebhooksResource = exports.StripeResource = exports.SignupResource = exports.OrdersResource = exports.ListingsResource = exports.FilesResource = exports.CustomersResource = exports.ApiKeysResource = exports.AccountResource = exports.WebhookVerificationError = exports.ValidationError = exports.RateLimitError = exports.PayloadTooLargeError = exports.NotFoundError = exports.ListBeeError = exports.InternalServerError = exports.ForbiddenError = exports.ConflictError = exports.BadRequestError = exports.AuthenticationError = exports.APITimeoutError = exports.APIStatusError = exports.APIConnectionError = exports.CursorPage = exports.ListBee = void 0;
|
|
6
|
+
exports.WebhookEventType = exports.OrderStatus = exports.ListingStatus = exports.FulfillmentMode = exports.ErrorCode = exports.DeliverableType = exports.DeliverableStatus = exports.CheckoutFieldType = exports.BlurMode = exports.ActionKind = exports.ActionCode = exports.WebhooksResource = exports.StripeResource = exports.SignupResource = exports.OrdersResource = exports.ListingsResource = exports.FilesResource = exports.CustomersResource = exports.ApiKeysResource = exports.AccountResource = exports.Deliverable = exports.WebhookVerificationError = exports.ValidationError = exports.RateLimitError = exports.PayloadTooLargeError = exports.PartialCreationError = exports.NotFoundError = exports.ListBeeError = exports.InternalServerError = exports.ForbiddenError = exports.ConflictError = exports.BadRequestError = exports.AuthenticationError = exports.APITimeoutError = exports.APIStatusError = exports.APIConnectionError = exports.CursorPage = exports.ListBee = void 0;
|
|
7
7
|
// Client
|
|
8
8
|
var client_1 = require("./client");
|
|
9
9
|
Object.defineProperty(exports, "ListBee", { enumerable: true, get: function () { return client_1.ListBee; } });
|
|
@@ -21,10 +21,14 @@ Object.defineProperty(exports, "ForbiddenError", { enumerable: true, get: functi
|
|
|
21
21
|
Object.defineProperty(exports, "InternalServerError", { enumerable: true, get: function () { return errors_1.InternalServerError; } });
|
|
22
22
|
Object.defineProperty(exports, "ListBeeError", { enumerable: true, get: function () { return errors_1.ListBeeError; } });
|
|
23
23
|
Object.defineProperty(exports, "NotFoundError", { enumerable: true, get: function () { return errors_1.NotFoundError; } });
|
|
24
|
+
Object.defineProperty(exports, "PartialCreationError", { enumerable: true, get: function () { return errors_1.PartialCreationError; } });
|
|
24
25
|
Object.defineProperty(exports, "PayloadTooLargeError", { enumerable: true, get: function () { return errors_1.PayloadTooLargeError; } });
|
|
25
26
|
Object.defineProperty(exports, "RateLimitError", { enumerable: true, get: function () { return errors_1.RateLimitError; } });
|
|
26
27
|
Object.defineProperty(exports, "ValidationError", { enumerable: true, get: function () { return errors_1.ValidationError; } });
|
|
27
28
|
Object.defineProperty(exports, "WebhookVerificationError", { enumerable: true, get: function () { return errors_1.WebhookVerificationError; } });
|
|
29
|
+
// Deliverable input builder
|
|
30
|
+
var deliverable_1 = require("./deliverable");
|
|
31
|
+
Object.defineProperty(exports, "Deliverable", { enumerable: true, get: function () { return deliverable_1.Deliverable; } });
|
|
28
32
|
// Resources
|
|
29
33
|
var account_1 = require("./resources/account");
|
|
30
34
|
Object.defineProperty(exports, "AccountResource", { enumerable: true, get: function () { return account_1.AccountResource; } });
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,SAAS;AACT,mCAAmC;AAA1B,iGAAA,OAAO,OAAA;AAEhB,6CAA2C;AAAlC,yGAAA,UAAU,OAAA;AAGnB,SAAS;AACT,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,SAAS;AACT,mCAAmC;AAA1B,iGAAA,OAAO,OAAA;AAEhB,6CAA2C;AAAlC,yGAAA,UAAU,OAAA;AAGnB,SAAS;AACT,mCAgBkB;AAfhB,4GAAA,kBAAkB,OAAA;AAClB,wGAAA,cAAc,OAAA;AACd,yGAAA,eAAe,OAAA;AACf,6GAAA,mBAAmB,OAAA;AACnB,yGAAA,eAAe,OAAA;AACf,uGAAA,aAAa,OAAA;AACb,wGAAA,cAAc,OAAA;AACd,6GAAA,mBAAmB,OAAA;AACnB,sGAAA,YAAY,OAAA;AACZ,uGAAA,aAAa,OAAA;AACb,8GAAA,oBAAoB,OAAA;AACpB,8GAAA,oBAAoB,OAAA;AACpB,wGAAA,cAAc,OAAA;AACd,yGAAA,eAAe,OAAA;AACf,kHAAA,wBAAwB,OAAA;AAG1B,4BAA4B;AAC5B,6CAA4C;AAAnC,0GAAA,WAAW,OAAA;AAEpB,YAAY;AACZ,+CAAsD;AAA7C,0GAAA,eAAe,OAAA;AACxB,iDAAuD;AAA9C,2GAAA,eAAe,OAAA;AACxB,mDAA0D;AAAjD,8GAAA,iBAAiB,OAAA;AAC1B,2CAAkD;AAAzC,sGAAA,aAAa,OAAA;AACtB,iDAAwD;AAA/C,4GAAA,gBAAgB,OAAA;AACzB,6CAAoD;AAA3C,wGAAA,cAAc,OAAA;AACvB,6CAAoD;AAA3C,wGAAA,cAAc,OAAA;AACvB,6CAAoD;AAA3C,wGAAA,cAAc,OAAA;AACvB,iDAAwD;AAA/C,4GAAA,gBAAgB,OAAA;AAEzB,yBAAyB;AACzB,2CAY2B;AAXzB,mGAAA,UAAU,OAAA;AACV,mGAAA,UAAU,OAAA;AACV,iGAAA,QAAQ,OAAA;AACR,0GAAA,iBAAiB,OAAA;AACjB,0GAAA,iBAAiB,OAAA;AACjB,wGAAA,eAAe,OAAA;AACf,kGAAA,SAAS,OAAA;AACT,wGAAA,eAAe,OAAA;AACf,sGAAA,aAAa,OAAA;AACb,oGAAA,WAAW,OAAA;AACX,yGAAA,gBAAgB,OAAA"}
|
|
@@ -2,8 +2,14 @@
|
|
|
2
2
|
* Listings resource — CRUD + publish + deliverables for /v1/listings.
|
|
3
3
|
*/
|
|
4
4
|
import type { BaseClient, CursorPage } from '../base-client';
|
|
5
|
-
import
|
|
5
|
+
import { Deliverable } from '../deliverable';
|
|
6
|
+
import type { CreateListingParams, DeliverableResponse, ListingResponse, UpdateListingParams, ListListingsParams, SetDeliverablesParams } from '../generated/types';
|
|
6
7
|
import type { RequestOptions } from '../types/shared';
|
|
8
|
+
interface AddDeliverableParams {
|
|
9
|
+
type: 'file' | 'url' | 'text';
|
|
10
|
+
token?: string | null;
|
|
11
|
+
value?: string | null;
|
|
12
|
+
}
|
|
7
13
|
/** Resource for the /v1/listings endpoint. */
|
|
8
14
|
export declare class ListingsResource {
|
|
9
15
|
private readonly _client;
|
|
@@ -54,12 +60,15 @@ export declare class ListingsResource {
|
|
|
54
60
|
publish(listingId: string, options?: RequestOptions): Promise<ListingResponse>;
|
|
55
61
|
/**
|
|
56
62
|
* Set deliverables on a listing (replaces all existing).
|
|
63
|
+
* Accepts Deliverable objects or raw params. Files uploaded transparently.
|
|
57
64
|
*
|
|
58
|
-
* @param listingId - The listing ID
|
|
59
|
-
* @param params - Deliverables array.
|
|
65
|
+
* @param listingId - The listing ID.
|
|
66
|
+
* @param params - Deliverables array (Deliverable objects or raw SetDeliverablesParams).
|
|
60
67
|
* @returns The updated ListingResponse.
|
|
61
68
|
*/
|
|
62
|
-
setDeliverables(listingId: string, params: SetDeliverablesParams
|
|
69
|
+
setDeliverables(listingId: string, params: SetDeliverablesParams | {
|
|
70
|
+
deliverables: (Deliverable | AddDeliverableParams)[];
|
|
71
|
+
}): Promise<ListingResponse>;
|
|
63
72
|
/**
|
|
64
73
|
* Remove all deliverables from a listing.
|
|
65
74
|
*
|
|
@@ -67,4 +76,34 @@ export declare class ListingsResource {
|
|
|
67
76
|
* @returns The updated ListingResponse.
|
|
68
77
|
*/
|
|
69
78
|
removeDeliverables(listingId: string): Promise<ListingResponse>;
|
|
79
|
+
/**
|
|
80
|
+
* Add a single deliverable to a draft listing.
|
|
81
|
+
* Files are uploaded transparently.
|
|
82
|
+
*
|
|
83
|
+
* @param listingId - The listing ID.
|
|
84
|
+
* @param deliverable - A Deliverable instance.
|
|
85
|
+
* @param options - Request options.
|
|
86
|
+
* @returns The new DeliverableResponse.
|
|
87
|
+
*/
|
|
88
|
+
addDeliverable(listingId: string, deliverable: Deliverable, options?: RequestOptions): Promise<DeliverableResponse>;
|
|
89
|
+
/**
|
|
90
|
+
* Remove a single deliverable by ID from a draft listing.
|
|
91
|
+
*
|
|
92
|
+
* @param listingId - The listing ID.
|
|
93
|
+
* @param deliverableId - The deliverable ID (del_ prefixed).
|
|
94
|
+
*/
|
|
95
|
+
removeDeliverable(listingId: string, deliverableId: string): Promise<void>;
|
|
96
|
+
/**
|
|
97
|
+
* Create a listing with deliverables in one call.
|
|
98
|
+
* Orchestrates: create → upload files → attach deliverables → return.
|
|
99
|
+
* If any step after creation fails, throws PartialCreationError.
|
|
100
|
+
*
|
|
101
|
+
* @param params - Create params with optional deliverables array.
|
|
102
|
+
* @param options - Request options.
|
|
103
|
+
* @returns The complete ListingResponse.
|
|
104
|
+
*/
|
|
105
|
+
createComplete(params: CreateListingParams & {
|
|
106
|
+
deliverables?: Deliverable[];
|
|
107
|
+
}, options?: RequestOptions): Promise<ListingResponse>;
|
|
70
108
|
}
|
|
109
|
+
export {};
|
|
@@ -5,6 +5,9 @@
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.ListingsResource = void 0;
|
|
7
7
|
const constants_1 = require("../constants");
|
|
8
|
+
const deliverable_1 = require("../deliverable");
|
|
9
|
+
const errors_1 = require("../errors");
|
|
10
|
+
const files_1 = require("./files");
|
|
8
11
|
/** Resource for the /v1/listings endpoint. */
|
|
9
12
|
class ListingsResource {
|
|
10
13
|
constructor(_client) {
|
|
@@ -85,13 +88,31 @@ class ListingsResource {
|
|
|
85
88
|
}
|
|
86
89
|
/**
|
|
87
90
|
* Set deliverables on a listing (replaces all existing).
|
|
91
|
+
* Accepts Deliverable objects or raw params. Files uploaded transparently.
|
|
88
92
|
*
|
|
89
|
-
* @param listingId - The listing ID
|
|
90
|
-
* @param params - Deliverables array.
|
|
93
|
+
* @param listingId - The listing ID.
|
|
94
|
+
* @param params - Deliverables array (Deliverable objects or raw SetDeliverablesParams).
|
|
91
95
|
* @returns The updated ListingResponse.
|
|
92
96
|
*/
|
|
93
97
|
async setDeliverables(listingId, params) {
|
|
94
|
-
const
|
|
98
|
+
const files = new files_1.FilesResource(this._client);
|
|
99
|
+
const resolved = [];
|
|
100
|
+
for (const d of params.deliverables) {
|
|
101
|
+
if (d instanceof deliverable_1.Deliverable) {
|
|
102
|
+
let token;
|
|
103
|
+
if (d.needsUpload) {
|
|
104
|
+
const fileResp = await files.upload(d.toUploadData());
|
|
105
|
+
token = fileResp.id;
|
|
106
|
+
}
|
|
107
|
+
resolved.push(d.toApiBody(token));
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
resolved.push(d);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
const response = await this._client.put(`/v1/listings/${listingId}/deliverables`, {
|
|
114
|
+
deliverables: resolved,
|
|
115
|
+
});
|
|
95
116
|
return (await response.json());
|
|
96
117
|
}
|
|
97
118
|
/**
|
|
@@ -103,6 +124,59 @@ class ListingsResource {
|
|
|
103
124
|
async removeDeliverables(listingId) {
|
|
104
125
|
return this._client.deleteWithResponse(`/v1/listings/${listingId}/deliverables`);
|
|
105
126
|
}
|
|
127
|
+
/**
|
|
128
|
+
* Add a single deliverable to a draft listing.
|
|
129
|
+
* Files are uploaded transparently.
|
|
130
|
+
*
|
|
131
|
+
* @param listingId - The listing ID.
|
|
132
|
+
* @param deliverable - A Deliverable instance.
|
|
133
|
+
* @param options - Request options.
|
|
134
|
+
* @returns The new DeliverableResponse.
|
|
135
|
+
*/
|
|
136
|
+
async addDeliverable(listingId, deliverable, options) {
|
|
137
|
+
let token;
|
|
138
|
+
if (deliverable.needsUpload) {
|
|
139
|
+
const files = new files_1.FilesResource(this._client);
|
|
140
|
+
const fileResp = await files.upload(deliverable.toUploadData(), options);
|
|
141
|
+
token = fileResp.id;
|
|
142
|
+
}
|
|
143
|
+
const body = deliverable.toApiBody(token);
|
|
144
|
+
const response = await this._client.post(`/v1/listings/${listingId}/deliverables`, body, options);
|
|
145
|
+
return (await response.json());
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Remove a single deliverable by ID from a draft listing.
|
|
149
|
+
*
|
|
150
|
+
* @param listingId - The listing ID.
|
|
151
|
+
* @param deliverableId - The deliverable ID (del_ prefixed).
|
|
152
|
+
*/
|
|
153
|
+
async removeDeliverable(listingId, deliverableId) {
|
|
154
|
+
await this._client.delete(`/v1/listings/${listingId}/deliverables/${deliverableId}`);
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Create a listing with deliverables in one call.
|
|
158
|
+
* Orchestrates: create → upload files → attach deliverables → return.
|
|
159
|
+
* If any step after creation fails, throws PartialCreationError.
|
|
160
|
+
*
|
|
161
|
+
* @param params - Create params with optional deliverables array.
|
|
162
|
+
* @param options - Request options.
|
|
163
|
+
* @returns The complete ListingResponse.
|
|
164
|
+
*/
|
|
165
|
+
async createComplete(params, options) {
|
|
166
|
+
const { deliverables, ...createParams } = params;
|
|
167
|
+
const listing = await this.create(createParams, options);
|
|
168
|
+
if (!deliverables || deliverables.length === 0)
|
|
169
|
+
return listing;
|
|
170
|
+
try {
|
|
171
|
+
for (const d of deliverables) {
|
|
172
|
+
await this.addDeliverable(listing.id, d, options);
|
|
173
|
+
}
|
|
174
|
+
return this.get(listing.id);
|
|
175
|
+
}
|
|
176
|
+
catch (err) {
|
|
177
|
+
throw new errors_1.PartialCreationError(listing.id, err instanceof Error ? err.message : String(err));
|
|
178
|
+
}
|
|
179
|
+
}
|
|
106
180
|
}
|
|
107
181
|
exports.ListingsResource = ListingsResource;
|
|
108
182
|
//# sourceMappingURL=listings.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listings.js","sourceRoot":"","sources":["../../../src/resources/listings.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAGH,4CAAyD;
|
|
1
|
+
{"version":3,"file":"listings.js","sourceRoot":"","sources":["../../../src/resources/listings.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* POST /v1/orders/{id}/refund.
|
|
5
5
|
*/
|
|
6
6
|
import type { BaseClient, CursorPage } from '../base-client';
|
|
7
|
+
import { Deliverable } from '../deliverable';
|
|
7
8
|
import type { OrderResponse, ListOrdersParams, DeliverOrderParams, ShipOrderParams } from '../generated/types';
|
|
8
9
|
import type { RequestOptions } from '../types/shared';
|
|
9
10
|
export declare class OrdersResource {
|
|
@@ -24,17 +25,17 @@ export declare class OrdersResource {
|
|
|
24
25
|
*/
|
|
25
26
|
get(orderId: string): Promise<OrderResponse>;
|
|
26
27
|
/**
|
|
27
|
-
* Deliver an order
|
|
28
|
+
* Deliver an order with digital content.
|
|
29
|
+
* Accepts Deliverable objects or raw dicts. Files uploaded transparently.
|
|
28
30
|
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
* @param orderId - The order ID.
|
|
33
|
-
* @param params - Delivery parameters including the deliverables array.
|
|
31
|
+
* @param orderId - The order's unique identifier.
|
|
32
|
+
* @param params - Deliverables array.
|
|
34
33
|
* @param options - Request options.
|
|
35
|
-
* @returns The
|
|
34
|
+
* @returns The delivered OrderResponse.
|
|
36
35
|
*/
|
|
37
|
-
deliver(orderId: string, params: DeliverOrderParams
|
|
36
|
+
deliver(orderId: string, params: DeliverOrderParams | {
|
|
37
|
+
deliverables: (Deliverable | Record<string, unknown>)[];
|
|
38
|
+
}, options?: RequestOptions): Promise<OrderResponse>;
|
|
38
39
|
/**
|
|
39
40
|
* Mark an order as shipped with tracking information.
|
|
40
41
|
*
|
|
@@ -6,6 +6,8 @@
|
|
|
6
6
|
*/
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
8
|
exports.OrdersResource = void 0;
|
|
9
|
+
const deliverable_1 = require("../deliverable");
|
|
10
|
+
const files_1 = require("./files");
|
|
9
11
|
class OrdersResource {
|
|
10
12
|
constructor(_client) {
|
|
11
13
|
this._client = _client;
|
|
@@ -48,18 +50,33 @@ class OrdersResource {
|
|
|
48
50
|
return (await response.json());
|
|
49
51
|
}
|
|
50
52
|
/**
|
|
51
|
-
* Deliver an order
|
|
53
|
+
* Deliver an order with digital content.
|
|
54
|
+
* Accepts Deliverable objects or raw dicts. Files uploaded transparently.
|
|
52
55
|
*
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
* @param orderId - The order ID.
|
|
57
|
-
* @param params - Delivery parameters including the deliverables array.
|
|
56
|
+
* @param orderId - The order's unique identifier.
|
|
57
|
+
* @param params - Deliverables array.
|
|
58
58
|
* @param options - Request options.
|
|
59
|
-
* @returns The
|
|
59
|
+
* @returns The delivered OrderResponse.
|
|
60
60
|
*/
|
|
61
61
|
async deliver(orderId, params, options) {
|
|
62
|
-
const
|
|
62
|
+
const files = new files_1.FilesResource(this._client);
|
|
63
|
+
const resolved = [];
|
|
64
|
+
for (const d of params.deliverables) {
|
|
65
|
+
if (d instanceof deliverable_1.Deliverable) {
|
|
66
|
+
let token;
|
|
67
|
+
if (d.needsUpload) {
|
|
68
|
+
const fileResp = await files.upload(d.toUploadData(), options);
|
|
69
|
+
token = fileResp.id;
|
|
70
|
+
}
|
|
71
|
+
resolved.push(d.toApiBody(token));
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
resolved.push(d);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
const response = await this._client.post(`/v1/orders/${orderId}/deliver`, {
|
|
78
|
+
deliverables: resolved,
|
|
79
|
+
}, options);
|
|
63
80
|
return (await response.json());
|
|
64
81
|
}
|
|
65
82
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orders.js","sourceRoot":"","sources":["../../../src/resources/orders.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;
|
|
1
|
+
{"version":3,"file":"orders.js","sourceRoot":"","sources":["../../../src/resources/orders.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAGH,gDAA6C;AAQ7C,mCAAwC;AAExC,MAAa,cAAc;IACzB,YAA6B,OAAmB;QAAnB,YAAO,GAAP,OAAO,CAAY;IAAG,CAAC;IAEpD;;;;;OAKG;IACH,KAAK,CAAC,IAAI,CAAC,SAA2B,EAAE;;QACtC,MAAM,WAAW,GAA8C;YAC7D,KAAK,EAAE,MAAA,MAAM,CAAC,KAAK,mCAAI,EAAE;SAC1B,CAAC;QACF,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI;YAAE,WAAW,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;QACjE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI;YAAE,WAAW,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC;QACpE,IAAI,MAAM,CAAC,WAAW,IAAI,IAAI;YAAE,WAAW,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC;QAChF,IAAI,MAAM,CAAC,aAAa,IAAI,IAAI,EAAE,CAAC;YACjC,WAAW,CAAC,eAAe,CAAC,GAAG,MAAM,CAAC,aAAa,CAAC;QACtD,CAAC;QACD,IAAI,MAAM,CAAC,cAAc,IAAI,IAAI,EAAE,CAAC;YAClC,WAAW,CAAC,gBAAgB,CAAC,GAAG,MAAM,CAAC,cAAc,CAAC;QACxD,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI;YAAE,WAAW,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;QAEjE,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAgB,YAAY,EAAE,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAqB,CAAC,CAAC;IACzG,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,GAAG,CAAC,OAAe;QACvB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,OAAO,EAAE,CAAC,CAAC;QACjE,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAkB,CAAC;IAClD,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,OAAO,CACX,OAAe,EACf,MAAwF,EACxF,OAAwB;QAExB,MAAM,KAAK,GAAG,IAAI,qBAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAA8B,EAAE,CAAC;QAC/C,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YACpC,IAAI,CAAC,YAAY,yBAAW,EAAE,CAAC;gBAC7B,IAAI,KAAyB,CAAC;gBAC9B,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;oBAClB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,EAAE,EAAE,OAAO,CAAC,CAAC;oBAC/D,KAAK,GAAG,QAAQ,CAAC,EAAE,CAAC;gBACtB,CAAC;gBACD,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,IAAI,CAAC,CAA4B,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,OAAO,UAAU,EAAE;YACxE,YAAY,EAAE,QAAQ;SACvB,EAAE,OAAO,CAAC,CAAC;QACZ,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAkB,CAAC;IAClD,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,IAAI,CAAC,OAAe,EAAE,MAAuB,EAAE,OAAwB;QAC3E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,OAAO,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACxF,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAkB,CAAC;IAClD,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,MAAM,CAAC,OAAe,EAAE,OAAwB;QACpD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,OAAO,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAC7F,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAkB,CAAC;IAClD,CAAC;CAEF;AAjGD,wCAiGC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Deliverable input builder — type-safe file handling for SDK methods.
|
|
3
|
+
*/
|
|
4
|
+
/// <reference types="node" />
|
|
5
|
+
/// <reference types="node" />
|
|
6
|
+
type FileSource = Buffer | Blob | string;
|
|
7
|
+
/**
|
|
8
|
+
* Input builder for deliverables. Use static factory methods.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```ts
|
|
12
|
+
* Deliverable.file(Buffer.from('pdf'), 'guide.pdf')
|
|
13
|
+
* Deliverable.fromToken('file_tok_abc')
|
|
14
|
+
* Deliverable.url('https://example.com/secret')
|
|
15
|
+
* Deliverable.text('License key: ABCD-1234')
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
export declare class Deliverable {
|
|
19
|
+
/** @internal */ readonly _type: 'file' | 'url' | 'text';
|
|
20
|
+
/** @internal */ readonly _fileData?: Buffer | Blob;
|
|
21
|
+
/** @internal */ readonly _filename?: string;
|
|
22
|
+
/** @internal */ readonly _value?: string;
|
|
23
|
+
/** @internal */ readonly _token?: string;
|
|
24
|
+
private constructor();
|
|
25
|
+
/**
|
|
26
|
+
* Create a file deliverable from a Buffer, Blob, or file path.
|
|
27
|
+
*
|
|
28
|
+
* @param source - File content or path.
|
|
29
|
+
* @param filename - Filename (required for Buffer/Blob, auto-detected for paths).
|
|
30
|
+
*/
|
|
31
|
+
static file(source: FileSource, filename?: string): Deliverable;
|
|
32
|
+
/**
|
|
33
|
+
* Create a file deliverable from a pre-uploaded file token.
|
|
34
|
+
*
|
|
35
|
+
* @param token - File token from `client.files.upload()` (valid 24 hours).
|
|
36
|
+
*/
|
|
37
|
+
static fromToken(token: string): Deliverable;
|
|
38
|
+
/**
|
|
39
|
+
* Create a URL redirect deliverable.
|
|
40
|
+
*
|
|
41
|
+
* @param url - HTTPS URL buyers will be redirected to after purchase.
|
|
42
|
+
*/
|
|
43
|
+
static url(url: string): Deliverable;
|
|
44
|
+
/**
|
|
45
|
+
* Create a plain text deliverable.
|
|
46
|
+
*
|
|
47
|
+
* @param content - Text content delivered to the buyer.
|
|
48
|
+
*/
|
|
49
|
+
static text(content: string): Deliverable;
|
|
50
|
+
/** True if this deliverable has file data that must be uploaded first. */
|
|
51
|
+
get needsUpload(): boolean;
|
|
52
|
+
/** @internal Returns file data for upload. */
|
|
53
|
+
toUploadData(): Buffer | Blob;
|
|
54
|
+
/** @internal Returns JSON body for the API. */
|
|
55
|
+
toApiBody(token?: string): Record<string, string>;
|
|
56
|
+
}
|
|
57
|
+
export {};
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Deliverable input builder — type-safe file handling for SDK methods.
|
|
3
|
+
*/
|
|
4
|
+
import { readFileSync } from 'node:fs';
|
|
5
|
+
import { basename } from 'node:path';
|
|
6
|
+
/**
|
|
7
|
+
* Input builder for deliverables. Use static factory methods.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```ts
|
|
11
|
+
* Deliverable.file(Buffer.from('pdf'), 'guide.pdf')
|
|
12
|
+
* Deliverable.fromToken('file_tok_abc')
|
|
13
|
+
* Deliverable.url('https://example.com/secret')
|
|
14
|
+
* Deliverable.text('License key: ABCD-1234')
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
export class Deliverable {
|
|
18
|
+
constructor(fields) {
|
|
19
|
+
this._type = fields._type;
|
|
20
|
+
this._fileData = fields._fileData;
|
|
21
|
+
this._filename = fields._filename;
|
|
22
|
+
this._value = fields._value;
|
|
23
|
+
this._token = fields._token;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Create a file deliverable from a Buffer, Blob, or file path.
|
|
27
|
+
*
|
|
28
|
+
* @param source - File content or path.
|
|
29
|
+
* @param filename - Filename (required for Buffer/Blob, auto-detected for paths).
|
|
30
|
+
*/
|
|
31
|
+
static file(source, filename) {
|
|
32
|
+
if (typeof source === 'string') {
|
|
33
|
+
return new Deliverable({
|
|
34
|
+
_type: 'file',
|
|
35
|
+
_fileData: readFileSync(source),
|
|
36
|
+
_filename: filename ?? basename(source),
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
if (!filename)
|
|
40
|
+
throw new Error('filename is required when source is Buffer or Blob');
|
|
41
|
+
return new Deliverable({
|
|
42
|
+
_type: 'file',
|
|
43
|
+
_fileData: source,
|
|
44
|
+
_filename: filename,
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Create a file deliverable from a pre-uploaded file token.
|
|
49
|
+
*
|
|
50
|
+
* @param token - File token from `client.files.upload()` (valid 24 hours).
|
|
51
|
+
*/
|
|
52
|
+
static fromToken(token) {
|
|
53
|
+
return new Deliverable({ _type: 'file', _token: token });
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Create a URL redirect deliverable.
|
|
57
|
+
*
|
|
58
|
+
* @param url - HTTPS URL buyers will be redirected to after purchase.
|
|
59
|
+
*/
|
|
60
|
+
static url(url) {
|
|
61
|
+
return new Deliverable({ _type: 'url', _value: url });
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Create a plain text deliverable.
|
|
65
|
+
*
|
|
66
|
+
* @param content - Text content delivered to the buyer.
|
|
67
|
+
*/
|
|
68
|
+
static text(content) {
|
|
69
|
+
return new Deliverable({ _type: 'text', _value: content });
|
|
70
|
+
}
|
|
71
|
+
/** True if this deliverable has file data that must be uploaded first. */
|
|
72
|
+
get needsUpload() {
|
|
73
|
+
return this._type === 'file' && this._fileData != null;
|
|
74
|
+
}
|
|
75
|
+
/** @internal Returns file data for upload. */
|
|
76
|
+
toUploadData() {
|
|
77
|
+
return this._fileData;
|
|
78
|
+
}
|
|
79
|
+
/** @internal Returns JSON body for the API. */
|
|
80
|
+
toApiBody(token) {
|
|
81
|
+
if (this._type === 'file')
|
|
82
|
+
return { type: 'file', token: token ?? this._token };
|
|
83
|
+
return { type: this._type, value: this._value };
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=deliverable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deliverable.js","sourceRoot":"","sources":["../../src/deliverable.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAIrC;;;;;;;;;;GAUG;AACH,MAAM,OAAO,WAAW;IAOtB,YAAoB,MAA2H;QAC7I,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC9B,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,IAAI,CAAC,MAAkB,EAAE,QAAiB;QAC/C,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,OAAO,IAAI,WAAW,CAAC;gBACrB,KAAK,EAAE,MAAM;gBACb,SAAS,EAAE,YAAY,CAAC,MAAM,CAAC;gBAC/B,SAAS,EAAE,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAC;aACxC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACrF,OAAO,IAAI,WAAW,CAAC;YACrB,KAAK,EAAE,MAAM;YACb,SAAS,EAAE,MAAM;YACjB,SAAS,EAAE,QAAQ;SACpB,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,KAAa;QAC5B,OAAO,IAAI,WAAW,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,GAAG,CAAC,GAAW;QACpB,OAAO,IAAI,WAAW,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IACxD,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,IAAI,CAAC,OAAe;QACzB,OAAO,IAAI,WAAW,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,0EAA0E;IAC1E,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,KAAK,KAAK,MAAM,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC;IACzD,CAAC;IAED,8CAA8C;IAC9C,YAAY;QACV,OAAO,IAAI,CAAC,SAAU,CAAC;IACzB,CAAC;IAED,+CAA+C;IAC/C,SAAS,CAAC,KAAc;QACtB,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM;YAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,IAAI,IAAI,CAAC,MAAO,EAAE,CAAC;QACjF,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,MAAO,EAAE,CAAC;IACnD,CAAC;CACF"}
|
package/dist/esm/errors.d.ts
CHANGED
|
@@ -86,6 +86,17 @@ export declare class InternalServerError extends APIStatusError {
|
|
|
86
86
|
export declare class WebhookVerificationError extends ListBeeError {
|
|
87
87
|
constructor(message: string);
|
|
88
88
|
}
|
|
89
|
+
/**
|
|
90
|
+
* Raised when createComplete creates the listing but fails during file upload
|
|
91
|
+
* or deliverable attachment.
|
|
92
|
+
*
|
|
93
|
+
* The `listingId` property contains the draft that was created, so the caller
|
|
94
|
+
* can resume with individual `addDeliverable` calls.
|
|
95
|
+
*/
|
|
96
|
+
export declare class PartialCreationError extends ListBeeError {
|
|
97
|
+
readonly listingId: string;
|
|
98
|
+
constructor(listingId: string, message: string);
|
|
99
|
+
}
|
|
89
100
|
type ErrorBody = {
|
|
90
101
|
type?: unknown;
|
|
91
102
|
title?: unknown;
|
package/dist/esm/errors.js
CHANGED
|
@@ -108,6 +108,20 @@ export class WebhookVerificationError extends ListBeeError {
|
|
|
108
108
|
this.name = 'WebhookVerificationError';
|
|
109
109
|
}
|
|
110
110
|
}
|
|
111
|
+
/**
|
|
112
|
+
* Raised when createComplete creates the listing but fails during file upload
|
|
113
|
+
* or deliverable attachment.
|
|
114
|
+
*
|
|
115
|
+
* The `listingId` property contains the draft that was created, so the caller
|
|
116
|
+
* can resume with individual `addDeliverable` calls.
|
|
117
|
+
*/
|
|
118
|
+
export class PartialCreationError extends ListBeeError {
|
|
119
|
+
constructor(listingId, message) {
|
|
120
|
+
super(message);
|
|
121
|
+
this.name = 'PartialCreationError';
|
|
122
|
+
this.listingId = listingId;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
111
125
|
/**
|
|
112
126
|
* Parse an RFC 9457 error body and throw the appropriate typed exception.
|
|
113
127
|
*/
|
package/dist/esm/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"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"}
|