@deliverart/sdk-js-image 0.0.0-dev-20260721002647

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 ADDED
@@ -0,0 +1,141 @@
1
+ # @deliverart/sdk-js-image
2
+
3
+ Image management package for the DeliverArt JavaScript SDK.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install @deliverart/sdk-js-image @deliverart/sdk-js-core
9
+ ```
10
+
11
+ ## Exported Types
12
+
13
+ ### Core Types
14
+ - `Image` - Image metadata
15
+ - `ImageDetails` - Extended image with URLs
16
+
17
+ ### IRI Types
18
+ - `ImageIri` - Image IRI (`/images/:id`)
19
+
20
+ ## Available Requests
21
+
22
+ ### GetImages
23
+ Get list of images with filters.
24
+
25
+ ```typescript
26
+ import { GetImages } from '@deliverart/sdk-js-image';
27
+
28
+ const images = await sdk.call(new GetImages({
29
+ query: {
30
+ company: '/companies/123',
31
+ page: 1
32
+ }
33
+ }));
34
+ ```
35
+
36
+ **Query Parameters:**
37
+ - `company?: string` - Filter by company
38
+ - `page?: number` - Page number
39
+
40
+ **Response:** `Paginated<Image>`
41
+
42
+ ---
43
+
44
+ ### GetImageDetails
45
+ Get detailed information about a specific image.
46
+
47
+ ```typescript
48
+ import { GetImageDetails } from '@deliverart/sdk-js-image';
49
+
50
+ const image = await sdk.call(new GetImageDetails('image-123'));
51
+ ```
52
+
53
+ **Parameters:**
54
+ - `imageId: string` (required)
55
+
56
+ **Response:** `ImageDetails`
57
+
58
+ ---
59
+
60
+ ### DeleteImage
61
+ Delete an image.
62
+
63
+ ```typescript
64
+ import { DeleteImage } from '@deliverart/sdk-js-image';
65
+
66
+ await sdk.call(new DeleteImage('image-123'));
67
+ ```
68
+
69
+ **Parameters:**
70
+ - `imageId: string` (required)
71
+
72
+ **Response:** `void`
73
+
74
+ ---
75
+
76
+ ## Upload Images
77
+
78
+ Image uploads typically use multipart/form-data. Example:
79
+
80
+ ```typescript
81
+ import { AbstractApiRequest } from '@deliverart/sdk-js-core';
82
+ import { z } from 'zod';
83
+
84
+ // Custom upload request (if not provided by the package)
85
+ class UploadImage extends AbstractApiRequest<
86
+ typeof z.instanceof(FormData),
87
+ typeof imageResponseSchema
88
+ > {
89
+ readonly method = 'POST';
90
+ readonly contentType = 'multipart/form-data';
91
+ readonly accept = 'application/json';
92
+
93
+ readonly inputSchema = z.instanceof(FormData);
94
+ readonly outputSchema = imageResponseSchema;
95
+
96
+ constructor(formData: FormData) {
97
+ super(formData);
98
+ }
99
+
100
+ getPath(): string {
101
+ return '/images';
102
+ }
103
+ }
104
+
105
+ // Usage
106
+ const formData = new FormData();
107
+ formData.append('file', fileBlob, 'image.jpg');
108
+ formData.append('company', '/companies/123');
109
+
110
+ const image = await sdk.call(new UploadImage(formData));
111
+ ```
112
+
113
+ ## Complete Usage Example
114
+
115
+ ```typescript
116
+ import { sdk } from './lib/sdk';
117
+ import { GetImages, DeleteImage } from '@deliverart/sdk-js-image';
118
+
119
+ async function imageManagement() {
120
+ // Get all company images
121
+ const images = await sdk.call(new GetImages({
122
+ query: {
123
+ company: '/companies/123'
124
+ }
125
+ }));
126
+
127
+ console.log(`Found ${images.pagination.totalItems} images`);
128
+
129
+ // Delete old images
130
+ for (const image of images.data) {
131
+ if (shouldDelete(image)) {
132
+ await sdk.call(new DeleteImage(image.id));
133
+ }
134
+ }
135
+ }
136
+ ```
137
+
138
+ ## License
139
+
140
+ MIT
141
+
package/dist/index.cjs ADDED
@@ -0,0 +1,281 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/index.ts
21
+ var index_exports = {};
22
+ __export(index_exports, {
23
+ DeleteImage: () => DeleteImage,
24
+ GetImageDetails: () => GetImageDetails,
25
+ GetImageTagsFromPointOfSale: () => GetImageTagsFromPointOfSale,
26
+ GetImages: () => GetImages,
27
+ GetImagesFromPointOfSale: () => GetImagesFromPointOfSale,
28
+ UpdateImage: () => UpdateImage,
29
+ UploadImage: () => UploadImage,
30
+ createImageUploadFormData: () => createImageUploadFormData,
31
+ deleteImageInputSchema: () => deleteImageInputSchema,
32
+ deleteImageResponseSchema: () => deleteImageResponseSchema,
33
+ getImageDetailsInputSchema: () => getImageDetailsInputSchema,
34
+ getImageDetailsResponseSchema: () => getImageDetailsResponseSchema,
35
+ getImageTagsFromPointOfSaleInputSchema: () => getImageTagsFromPointOfSaleInputSchema,
36
+ getImageTagsFromPointOfSaleResponseSchema: () => getImageTagsFromPointOfSaleResponseSchema,
37
+ getImagesFromPointOfSaleInputSchema: () => getImagesFromPointOfSaleInputSchema,
38
+ getImagesFromPointOfSaleQuerySchema: () => getImagesFromPointOfSaleQuerySchema,
39
+ getImagesFromPointOfSaleResponseSchema: () => getImagesFromPointOfSaleResponseSchema,
40
+ getImagesInputSchema: () => getImagesInputSchema,
41
+ getImagesQuerySchema: () => getImagesQuerySchema,
42
+ getImagesResponseSchema: () => getImagesResponseSchema,
43
+ imageIriSchema: () => imageIriSchema,
44
+ imageNullableIriSchema: () => imageNullableIriSchema,
45
+ imageSchema: () => imageSchema,
46
+ imagesQuerySchema: () => imagesQuerySchema,
47
+ updateImageInputSchema: () => updateImageInputSchema,
48
+ updateImageResponseSchema: () => updateImageResponseSchema,
49
+ uploadImageInputSchema: () => uploadImageInputSchema,
50
+ uploadImageResponseSchema: () => uploadImageResponseSchema
51
+ });
52
+ module.exports = __toCommonJS(index_exports);
53
+
54
+ // src/models.ts
55
+ var import_sdk_js_global_types = require("@deliverart/sdk-js-global-types");
56
+ var import_zod = require("zod");
57
+ var baseImageSchema = import_zod.z.object({
58
+ id: import_zod.z.string(),
59
+ variant: import_zod.z.string().nullable(),
60
+ contentUrl: import_zod.z.url(),
61
+ filePath: import_zod.z.string(),
62
+ tags: import_zod.z.array(import_zod.z.string()).default([]),
63
+ createdAt: import_sdk_js_global_types.datetimeSchema,
64
+ updatedAt: import_sdk_js_global_types.datetimeSchema
65
+ });
66
+ var imageSchema = baseImageSchema.extend({
67
+ variants: import_zod.z.array(baseImageSchema).default([])
68
+ });
69
+ var imagesQuerySchema = import_zod.z.object({
70
+ page: import_zod.z.coerce.number().optional(),
71
+ tags: import_zod.z.array(import_zod.z.string()).optional(),
72
+ "tags.match": import_sdk_js_global_types.arrayContainsMatchSchema.optional(),
73
+ "exists[original]": import_sdk_js_global_types.booleanSchema.optional()
74
+ });
75
+
76
+ // src/requests/DeleteImage.ts
77
+ var import_sdk_js_core = require("@deliverart/sdk-js-core");
78
+ var import_sdk_js_global_types2 = require("@deliverart/sdk-js-global-types");
79
+ var import_zod2 = require("zod");
80
+ var deleteImageInputSchema = import_zod2.z.undefined();
81
+ var deleteImageResponseSchema = import_sdk_js_global_types2.emptyResponseSchema;
82
+ var DeleteImage = class extends import_sdk_js_core.AbstractApiRequest {
83
+ constructor(imageId) {
84
+ super(void 0);
85
+ this.method = "DELETE";
86
+ this.contentType = "application/json";
87
+ this.accept = "application/json";
88
+ this.inputSchema = deleteImageInputSchema;
89
+ this.outputSchema = deleteImageResponseSchema;
90
+ this.querySchema = void 0;
91
+ this.headersSchema = void 0;
92
+ this.imageId = imageId;
93
+ }
94
+ getPath() {
95
+ return `/images/${this.imageId}`;
96
+ }
97
+ };
98
+
99
+ // src/requests/GetImageDetails.ts
100
+ var import_sdk_js_core2 = require("@deliverart/sdk-js-core");
101
+ var import_zod3 = require("zod");
102
+ var getImageDetailsInputSchema = import_zod3.z.undefined();
103
+ var getImageDetailsResponseSchema = imageSchema;
104
+ var GetImageDetails = class extends import_sdk_js_core2.AbstractApiRequest {
105
+ constructor(imageId) {
106
+ super(void 0);
107
+ this.method = "GET";
108
+ this.contentType = "application/json";
109
+ this.accept = "application/json";
110
+ this.inputSchema = getImageDetailsInputSchema;
111
+ this.outputSchema = getImageDetailsResponseSchema;
112
+ this.querySchema = void 0;
113
+ this.headersSchema = void 0;
114
+ this.imageId = imageId;
115
+ }
116
+ getPath() {
117
+ return `/images/${this.imageId}`;
118
+ }
119
+ };
120
+
121
+ // src/requests/GetImages.ts
122
+ var import_sdk_js_core3 = require("@deliverart/sdk-js-core");
123
+ var import_sdk_js_global_types3 = require("@deliverart/sdk-js-global-types");
124
+ var import_zod4 = require("zod");
125
+ var getImagesQuerySchema = imagesQuerySchema;
126
+ var getImagesInputSchema = import_zod4.z.undefined();
127
+ var getImagesResponseSchema = (0, import_sdk_js_global_types3.createPaginatedSchema)(imageSchema);
128
+ var GetImages = class extends import_sdk_js_core3.AbstractApiRequest {
129
+ constructor(options) {
130
+ super(void 0, options);
131
+ this.method = "GET";
132
+ this.contentType = "application/json";
133
+ this.accept = "application/json";
134
+ this.inputSchema = getImagesInputSchema;
135
+ this.outputSchema = getImagesResponseSchema;
136
+ this.querySchema = getImagesQuerySchema;
137
+ this.headersSchema = void 0;
138
+ this.listItemSchema = imageSchema;
139
+ this.paginationDefaultEnabled = true;
140
+ }
141
+ getPath() {
142
+ return "/images";
143
+ }
144
+ };
145
+
146
+ // src/requests/GetImagesFromPointOfSale.ts
147
+ var import_sdk_js_core4 = require("@deliverart/sdk-js-core");
148
+ var import_sdk_js_global_types4 = require("@deliverart/sdk-js-global-types");
149
+ var import_zod5 = require("zod");
150
+ var getImagesFromPointOfSaleQuerySchema = imagesQuerySchema;
151
+ var getImagesFromPointOfSaleInputSchema = import_zod5.z.undefined();
152
+ var getImagesFromPointOfSaleResponseSchema = (0, import_sdk_js_global_types4.createPaginatedSchema)(imageSchema);
153
+ var GetImagesFromPointOfSale = class extends import_sdk_js_core4.AbstractApiRequest {
154
+ constructor(pointOfSaleId, options) {
155
+ super(void 0, options);
156
+ this.method = "GET";
157
+ this.contentType = "application/json";
158
+ this.accept = "application/json";
159
+ this.inputSchema = getImagesFromPointOfSaleInputSchema;
160
+ this.outputSchema = getImagesFromPointOfSaleResponseSchema;
161
+ this.querySchema = getImagesFromPointOfSaleQuerySchema;
162
+ this.headersSchema = void 0;
163
+ this.listItemSchema = imageSchema;
164
+ this.paginationDefaultEnabled = true;
165
+ this.pointOfSaleId = pointOfSaleId;
166
+ }
167
+ getPath() {
168
+ return `/point_of_sales/${this.pointOfSaleId}/images`;
169
+ }
170
+ };
171
+
172
+ // src/requests/GetImageTagsFromPointOfSale.ts
173
+ var import_sdk_js_core5 = require("@deliverart/sdk-js-core");
174
+ var import_zod6 = require("zod");
175
+ var getImageTagsFromPointOfSaleInputSchema = import_zod6.z.undefined();
176
+ var getImageTagsFromPointOfSaleResponseSchema = import_zod6.z.array(import_zod6.z.string());
177
+ var GetImageTagsFromPointOfSale = class extends import_sdk_js_core5.AbstractApiRequest {
178
+ constructor(pointOfSaleId) {
179
+ super(void 0);
180
+ this.method = "GET";
181
+ this.contentType = "application/json";
182
+ this.accept = "application/json";
183
+ this.inputSchema = getImageTagsFromPointOfSaleInputSchema;
184
+ this.outputSchema = getImageTagsFromPointOfSaleResponseSchema;
185
+ this.querySchema = void 0;
186
+ this.headersSchema = void 0;
187
+ this.pointOfSaleId = pointOfSaleId;
188
+ }
189
+ getPath() {
190
+ return `/point_of_sales/${this.pointOfSaleId}/images/tags`;
191
+ }
192
+ };
193
+
194
+ // src/requests/UpdateImage.ts
195
+ var import_sdk_js_core6 = require("@deliverart/sdk-js-core");
196
+ var updateImageInputSchema = imageSchema.pick({
197
+ tags: true
198
+ }).partial();
199
+ var updateImageResponseSchema = imageSchema;
200
+ var UpdateImage = class extends import_sdk_js_core6.AbstractApiRequest {
201
+ constructor(imageId, input) {
202
+ super(input);
203
+ this.method = "PATCH";
204
+ this.contentType = "application/merge-patch+json";
205
+ this.accept = "application/json";
206
+ this.inputSchema = updateImageInputSchema;
207
+ this.outputSchema = updateImageResponseSchema;
208
+ this.querySchema = void 0;
209
+ this.headersSchema = void 0;
210
+ this.imageId = imageId;
211
+ }
212
+ getPath() {
213
+ return `/images/${this.imageId}`;
214
+ }
215
+ };
216
+
217
+ // src/requests/UploadImage.ts
218
+ var import_sdk_js_core7 = require("@deliverart/sdk-js-core");
219
+ var import_zod7 = require("zod");
220
+ var uploadImageInputSchema = import_zod7.z.instanceof(FormData);
221
+ var uploadImageResponseSchema = imageSchema;
222
+ var UploadImage = class extends import_sdk_js_core7.AbstractApiRequest {
223
+ constructor(input) {
224
+ super(input);
225
+ this.method = "POST";
226
+ this.contentType = "multipart/form-data";
227
+ this.accept = "application/json";
228
+ this.inputSchema = uploadImageInputSchema;
229
+ this.outputSchema = uploadImageResponseSchema;
230
+ this.querySchema = void 0;
231
+ this.headersSchema = void 0;
232
+ }
233
+ getPath() {
234
+ return `/images`;
235
+ }
236
+ };
237
+ function createImageUploadFormData(pointOfSaleId, file, tags) {
238
+ const formData = new FormData();
239
+ formData.append("file", file);
240
+ formData.append("pointOfSale", `/point_of_sales/${pointOfSaleId}`);
241
+ if (tags && tags.length > 0) {
242
+ formData.append("tags", tags.join(","));
243
+ }
244
+ return formData;
245
+ }
246
+
247
+ // src/types.ts
248
+ var import_sdk_js_global_types5 = require("@deliverart/sdk-js-global-types");
249
+ var imageIriSchema = (0, import_sdk_js_global_types5.iriSchema)("/images/:id");
250
+ var imageNullableIriSchema = (0, import_sdk_js_global_types5.iriNullableSchema)("/images/:id");
251
+ // Annotate the CommonJS export names for ESM import in node:
252
+ 0 && (module.exports = {
253
+ DeleteImage,
254
+ GetImageDetails,
255
+ GetImageTagsFromPointOfSale,
256
+ GetImages,
257
+ GetImagesFromPointOfSale,
258
+ UpdateImage,
259
+ UploadImage,
260
+ createImageUploadFormData,
261
+ deleteImageInputSchema,
262
+ deleteImageResponseSchema,
263
+ getImageDetailsInputSchema,
264
+ getImageDetailsResponseSchema,
265
+ getImageTagsFromPointOfSaleInputSchema,
266
+ getImageTagsFromPointOfSaleResponseSchema,
267
+ getImagesFromPointOfSaleInputSchema,
268
+ getImagesFromPointOfSaleQuerySchema,
269
+ getImagesFromPointOfSaleResponseSchema,
270
+ getImagesInputSchema,
271
+ getImagesQuerySchema,
272
+ getImagesResponseSchema,
273
+ imageIriSchema,
274
+ imageNullableIriSchema,
275
+ imageSchema,
276
+ imagesQuerySchema,
277
+ updateImageInputSchema,
278
+ updateImageResponseSchema,
279
+ uploadImageInputSchema,
280
+ uploadImageResponseSchema
281
+ });