added new fetchUploadURLSeparately funtion

This commit is contained in:
Abhinav-grd 2021-05-27 21:57:13 +05:30
parent 35e0b2d157
commit fa75a83a7a

View file

@ -473,6 +473,7 @@ class UploadService {
private async uploadToBucket(file: ProcessedFile): Promise<BackupedFile> {
try {
let fileObjectKey, thumbnailObjectKey;
const uploadURLs = await this.fetchUploadURLSeparately();
if (isDataStream(file.file.encryptedData)) {
const { chunkCount, stream } = file.file.encryptedData;
const uploadPartCount = Math.ceil(
@ -488,14 +489,14 @@ class UploadService {
uploadPartCount
);
} else {
const fileUploadURL = await this.getUploadURL();
const fileUploadURL = uploadURLs.pop();
fileObjectKey = await this.putFile(
fileUploadURL,
file.file.encryptedData,
file.filename
);
}
const thumbnailUploadURL = await this.getUploadURL();
const thumbnailUploadURL = uploadURLs.pop();
thumbnailObjectKey = await this.putFile(
thumbnailUploadURL,
file.thumbnail.encryptedData as Uint8Array,
@ -1042,6 +1043,26 @@ class UploadService {
}
}
}
private async fetchUploadURLSeparately(): Promise<[UploadURL, UploadURL]> {
try {
const token = getToken();
if (!token) {
return;
}
const response = await HTTPService.get(
`${ENDPOINT}/files/upload-urls`,
{
count: 2,
},
{ 'X-Auth-Token': token }
);
return response.data['urls'];
} catch (e) {
console.log('failed to fetch url ');
throw e;
}
}
}
export default new UploadService();