@deliverart/sdk-js-image 2.1.50 → 2.1.51

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.
Files changed (2) hide show
  1. package/README.md +141 -0
  2. package/package.json +4 -4
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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@deliverart/sdk-js-image",
3
3
  "description": "Deliverart JavaScript SDK for Image Management",
4
- "version": "2.1.50",
4
+ "version": "2.1.51",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
@@ -18,9 +18,9 @@
18
18
  "dist"
19
19
  ],
20
20
  "dependencies": {
21
- "@deliverart/sdk-js-core": "2.1.50",
22
- "@deliverart/sdk-js-point-of-sale": "2.1.50",
23
- "@deliverart/sdk-js-global-types": "2.1.50"
21
+ "@deliverart/sdk-js-core": "2.1.51",
22
+ "@deliverart/sdk-js-global-types": "2.1.51",
23
+ "@deliverart/sdk-js-point-of-sale": "2.1.51"
24
24
  },
25
25
  "publishConfig": {
26
26
  "access": "public"