32 lines
1.2 KiB
TypeScript
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;
|
|
}
|