///
import type { Logger } from '@becomes/purple-cheetah/types';
import type { BCMSMedia, BCMSMediaAggregate, BCMSMediaType } from './models';
export interface BCMSMediaService {
aggregateFromParent(data: {
parent: BCMSMedia;
basePath?: string;
}): Promise;
aggregateFromRoot(): Promise;
getChildren(parent: BCMSMedia): Promise;
mimetypeToMediaType(mimetype: string): BCMSMediaType;
getPath(media: BCMSMedia): Promise;
getNameAndExt(fullName: string): {
name: string;
ext: string;
};
storage: {
getPath(data: {
media: BCMSMedia;
size?: 'small';
thumbnail?: boolean;
}): Promise;
exist(media: BCMSMedia): Promise;
get(data: {
media: BCMSMedia;
size?: 'small';
}): Promise;
mkdir(media: BCMSMedia): Promise;
save(media: BCMSMedia, binary: Buffer, logger?: Logger): Promise;
rename(oldMedia: BCMSMedia, newMedia: BCMSMedia): Promise;
removeFile(media: BCMSMedia): Promise;
removeDir(media: BCMSMedia): Promise;
move(oldMedia: BCMSMedia, newMedia?: BCMSMedia | null): Promise;
duplicate(oldMedia: BCMSMedia, newMedia: BCMSMedia): Promise;
};
}