@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 +141 -0
- package/dist/index.cjs +281 -0
- package/dist/index.d.cts +461 -0
- package/dist/index.d.ts +461 -0
- package/dist/index.js +231 -0
- package/package.json +33 -0
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
|
+
});
|