async function getSpot()

in api/v1/src/spots/dataManager.js [140:178]


async function getSpot(requestId, bucketName, fileName) {
    console.log(`RequestId: ${requestId}, bucketName: ${bucketName}, fileName: ${fileName}`);

    const query = querystring.encode({
        bucketName: bucketName,
        fileName: fileName
    });
    const responseData = {
        requestId: requestId,
        query: `/${requestId}?${query}`,
        bucketName: bucketName,
        fileName: fileName
    }

    const exists = await storageUtil.fileExists(bucketName, fileName).catch(err => {
        console.warn(err);
        return { success: false, errors: [err.message] };
    });
    if (!exists) {
        const message = `fileName: '${fileName}' does not exist in bucketName: '${bucketName}'`;
        return { success: false, errors: [message] };
    }

    const metadata = await storageUtil.getFileMetadata(bucketName, fileName).catch(err => {
        console.warn(err);
        return { success: false, errors: [err.message] };
    });
    if (metadata.metadata === undefined || metadata.metadata.requestId === undefined || metadata.metadata.requestId !== requestId) {
        console.log(metadata);
        const message = `fileName: '${fileName}' does not have the signature for requestId: '${requestId}'`;
        return { success: false, code: 400, errors: [message] };
    }

    const signedUrl = await storageUtil.getUrl(bucketName, fileName, true).catch(err => {
        console.warn(err);
        return { success: false, errors: [err.message] };
    });
    return { data: { ...responseData, signedUrl: signedUrl }, success: true };
}