41 lines
1.8 KiB
TypeScript
41 lines
1.8 KiB
TypeScript
import { EntityDict } from '../../oak-app-domain';
|
|
import { CosBackend } from '../../types/Cos';
|
|
import S3 from './s3';
|
|
import { OpSchema } from '../../oak-app-domain/ExtraFile/Schema';
|
|
import { BRC } from '../..';
|
|
export default class S3Backend extends S3 implements CosBackend<EntityDict> {
|
|
private getConfigAndInstance;
|
|
composeFileUrlBackend(options: {
|
|
application: EntityDict['application']['Schema'];
|
|
extraFile: OpSchema;
|
|
context: BRC<EntityDict>;
|
|
style?: string;
|
|
}): Promise<string>;
|
|
formUploadMeta(application: EntityDict['application']['Schema'], extraFile: OpSchema): Promise<void>;
|
|
checkWhetherSuccess(application: EntityDict['application']['Schema'], extraFile: OpSchema): Promise<boolean>;
|
|
removeFile(application: EntityDict['application']['Schema'], extraFile: OpSchema): Promise<void>;
|
|
composeChunkUploadInfo(application: EntityDict['application']['Schema'], extraFile: OpSchema, context: BRC<EntityDict>): Promise<{
|
|
uploadId: string;
|
|
chunkSize: number;
|
|
partCount: number;
|
|
parts: {
|
|
partNumber: number;
|
|
uploadUrl: string;
|
|
formData: {};
|
|
}[];
|
|
}>;
|
|
/**
|
|
* 完成分片上传后的合并操作
|
|
*/
|
|
mergeChunkedUpload(application: EntityDict['application']['Schema'], extraFile: OpSchema, context: BRC<EntityDict>): Promise<void>;
|
|
abortMultipartUpload(application: EntityDict['application']['Schema'], extraFile: OpSchema, context: BRC<EntityDict>): Promise<void>;
|
|
listMultipartUploads(application: EntityDict['application']['Schema'], extraFile: OpSchema, context: BRC<EntityDict>): Promise<{
|
|
parts: Array<{
|
|
partNumber: number;
|
|
etag: string;
|
|
size: number;
|
|
lastModified: Date;
|
|
}>;
|
|
}>;
|
|
}
|