adding back needed response for frontend
This commit is contained in:
parent
4d0ca2880b
commit
bcd3c0a55c
|
@ -120,14 +120,14 @@ export async function createBucketIfNotExists(
|
|||
Bucket: bucketName,
|
||||
})
|
||||
.promise()
|
||||
return true
|
||||
return false
|
||||
} catch (err: any) {
|
||||
const promises: any = STATE.bucketCreationPromises
|
||||
const doesntExist = err.statusCode === 404,
|
||||
noAccess = err.statusCode === 403
|
||||
if (promises[bucketName]) {
|
||||
await promises[bucketName]
|
||||
return true
|
||||
return false
|
||||
} else if (doesntExist || noAccess) {
|
||||
if (doesntExist) {
|
||||
promises[bucketName] = client
|
||||
|
@ -137,7 +137,7 @@ export async function createBucketIfNotExists(
|
|||
.promise()
|
||||
await promises[bucketName]
|
||||
delete promises[bucketName]
|
||||
return false
|
||||
return true
|
||||
} else {
|
||||
throw new Error("Access denied to object store bucket.")
|
||||
}
|
||||
|
@ -162,9 +162,9 @@ export async function upload({
|
|||
const extension = filename.split(".").pop()
|
||||
const fileBytes = path ? fs.createReadStream(path) : body
|
||||
const objectStore = ObjectStore(bucketName)
|
||||
const bucketExisted = await createBucketIfNotExists(objectStore, bucketName)
|
||||
const bucketCreated = await createBucketIfNotExists(objectStore, bucketName)
|
||||
|
||||
if (addTTL && !bucketExisted) {
|
||||
if (addTTL && bucketCreated) {
|
||||
let ttlConfig = bucketTTLConfig(bucketName, 1)
|
||||
await objectStore.putBucketLifecycleConfiguration(ttlConfig).promise()
|
||||
}
|
||||
|
|
|
@ -16,6 +16,7 @@ import { helpers } from "@budibase/shared-core"
|
|||
import { context, objectStore } from "@budibase/backend-core"
|
||||
import { v4 } from "uuid"
|
||||
import { parseStringPromise as xmlParser } from "xml2js"
|
||||
import { formatBytes } from "../utilities"
|
||||
|
||||
const DOUBLE_SEPARATOR = `${SEPARATOR}${SEPARATOR}`
|
||||
const ROW_ID_REGEX = /^\[.*]$/g
|
||||
|
@ -461,7 +462,11 @@ export async function handleXml(response: any) {
|
|||
return { data, rawXml }
|
||||
}
|
||||
|
||||
export async function handleFileResponse(response: any, filename: string) {
|
||||
export async function handleFileResponse(
|
||||
response: any,
|
||||
filename: string,
|
||||
startTime: number
|
||||
) {
|
||||
let presignedUrl
|
||||
const responseBuffer = await response.arrayBuffer()
|
||||
const fileExtension = filename.includes(".")
|
||||
|
@ -481,12 +486,17 @@ export async function handleFileResponse(response: any, filename: string) {
|
|||
|
||||
presignedUrl = await objectStore.getPresignedUrl(bucket, key, 600)
|
||||
return {
|
||||
file: {
|
||||
data: {
|
||||
size: responseBuffer.byteLength,
|
||||
name: processedFileName,
|
||||
url: presignedUrl,
|
||||
extension: fileExtension,
|
||||
key: key,
|
||||
},
|
||||
info: {
|
||||
code: response.status,
|
||||
size: formatBytes(responseBuffer.byteLength),
|
||||
time: `${Math.round(performance.now() - startTime)}ms`,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue