@blue-impact-engine/blue-impact-engine-client
Version:
Blue Impact Engine API Client
66 lines • 1.62 kB
TypeScript
import { HttpClient } from '../core/http-client';
import { ApiResponse } from '../core/types';
export interface MediaItem {
id: string;
filename: string;
alt?: string;
mimeType?: string;
filesize?: number;
width?: number;
height?: number;
url?: string;
thumbnailURL?: string;
createdAt: string;
updatedAt: string;
owner?: {
id: string;
email?: string;
name?: string;
};
tags?: Array<{
id: string;
name?: string;
key?: string;
}>;
}
export interface MediaListResponse {
docs: MediaItem[];
totalDocs: number;
limit: number;
totalPages: number;
page: number;
pagingCounter: number;
hasPrevPage: boolean;
hasNextPage: boolean;
prevPage: number | null;
nextPage: number | null;
}
export declare class MediaService {
private httpClient;
constructor(httpClient: HttpClient);
/**
* Get all media items
*/
getAll(): Promise<MediaListResponse>;
/**
* Get a specific media item by ID
*/
getById(id: string): Promise<ApiResponse<MediaItem>>;
/**
* Get media items with pagination
*/
getWithPagination(page?: number, limit?: number): Promise<MediaListResponse>;
/**
* Get media items by tag
*/
getByTag(tag: string): Promise<MediaListResponse>;
/**
* Get the full URL for a media item
*/
getMediaUrl(mediaItem: MediaItem): string;
/**
* Get the thumbnail URL for a media item
*/
getThumbnailUrl(mediaItem: MediaItem): string;
}
//# sourceMappingURL=MediaService.d.ts.map