Deliverart JavaScript SDK for Image Management
npm install @deliverart/sdk-js-imageImage management package for the DeliverArt JavaScript SDK.
``bash`
npm install @deliverart/sdk-js-image @deliverart/sdk-js-core
- Image metadata
- ImageDetails - Extended image with URLs$3
- ImageIri - Image IRI (/images/:id)Available Requests
$3
Get list of images with filters.`typescript
import { GetImages } from '@deliverart/sdk-js-image';const images = await sdk.call(new GetImages({
query: {
company: '/companies/123',
page: 1
}
}));
`Query Parameters:
-
company?: string - Filter by company
- page?: number - Page numberResponse:
Paginated---
$3
Get detailed information about a specific image.`typescript
import { GetImageDetails } from '@deliverart/sdk-js-image';const image = await sdk.call(new GetImageDetails('image-123'));
`Parameters:
-
imageId: string (required)Response:
ImageDetails---
$3
Delete an image.`typescript
import { DeleteImage } from '@deliverart/sdk-js-image';await sdk.call(new DeleteImage('image-123'));
`Parameters:
-
imageId: string (required)Response:
void---
Upload Images
Image uploads typically use multipart/form-data. Example:
`typescript
import { AbstractApiRequest } from '@deliverart/sdk-js-core';
import { z } from 'zod';// Custom upload request (if not provided by the package)
class UploadImage extends AbstractApiRequest<
typeof z.instanceof(FormData),
typeof imageResponseSchema
> {
readonly method = 'POST';
readonly contentType = 'multipart/form-data';
readonly accept = 'application/json';
readonly inputSchema = z.instanceof(FormData);
readonly outputSchema = imageResponseSchema;
constructor(formData: FormData) {
super(formData);
}
getPath(): string {
return '/images';
}
}
// Usage
const formData = new FormData();
formData.append('file', fileBlob, 'image.jpg');
formData.append('company', '/companies/123');
const image = await sdk.call(new UploadImage(formData));
`Complete Usage Example
`typescript
import { sdk } from './lib/sdk';
import { GetImages, DeleteImage } from '@deliverart/sdk-js-image';async function imageManagement() {
// Get all company images
const images = await sdk.call(new GetImages({
query: {
company: '/companies/123'
}
}));
console.log(
Found ${images.pagination.totalItems} images); // Delete old images
for (const image of images.data) {
if (shouldDelete(image)) {
await sdk.call(new DeleteImage(image.id));
}
}
}
``MIT