oak-general-business/lib/utils/cos/s3.d.ts

32 lines
1.2 KiB
TypeScript

import { EntityDict } from '../../oak-app-domain';
import { Cos, UploadFn, UploadToAspect } from "../../types/Cos";
import { OpSchema } from '../../oak-app-domain/ExtraFile/Schema';
import { S3CosConfig } from '../../types/Config';
export default class S3 implements Cos<EntityDict> {
name: string;
autoInform(): boolean;
protected getConfig(application: Partial<EntityDict['application']['Schema']>): {
config: S3CosConfig;
account: import("../../types/Config").S3AccountConfig;
endpoint: string | undefined;
defaultBucket: string;
};
protected formKey(extraFile: Partial<OpSchema>): string;
upload(options: {
extraFile: OpSchema;
uploadFn: UploadFn;
file: string | File;
uploadToAspect?: UploadToAspect;
getPercent?: Function;
parallelism?: number;
retryTimes?: number;
retryDelay?: number;
onChunkSuccess?: (chunkInfo: EntityDict['extraFile']['Schema']['chunkInfo']) => Promise<void>;
}): Promise<void>;
composeFileUrl(options: {
application: Partial<EntityDict['application']['Schema']>;
extraFile: Partial<EntityDict['extraFile']['OpSchema']>;
style?: string;
}): string;
}