refactor(document): extract file route builder and normalize query composition

This commit is contained in:
2026-03-25 11:31:39 +00:00
parent ad855fec88
commit 65003bb08c
6 changed files with 336 additions and 106 deletions
+120 -106
View File
@@ -1,8 +1,11 @@
import { BASE_URL } from "../core/env";
import { consoleLogger } from "../core/logger";
import { hashAPIPath } from "../core/hash";
import { buildHashedQueryUrl } from "../clients/relayClient";
import { getJson, requestJson } from "../clients/endpointClient";
import {
buildFileQuery,
withBaseUrl,
appendQuerySuffix
} from "../clients/fileRouteBuilder";
import {
getFileJson,
getSignedFileJson,
@@ -11,55 +14,59 @@ import {
} from "../clients/fileClient";
export const getAwaitingSubmissionFromBlob = (containerName) => {
return getJson(
BASE_URL +
"/api/file/getawaitingsubmissionfromblob?container=" +
containerName +
hashAPIPath(
"/api/file/getawaitingsubmissionfromblob?container=" +
containerName
)
const route = buildFileQuery("/api/file/getawaitingsubmissionfromblob", {
container: containerName
});
return getFileJson(
withBaseUrl(BASE_URL, appendQuerySuffix(route, hashAPIPath(route)))
).catch((error) => {
consoleLogger(error);
});
};
export const getRepsFromBlob = (containerName) => {
return getJson(
BASE_URL +
"/api/file/getrepsblob?container=" +
containerName +
hashAPIPath("/api/file/getrepsblob?container=" + containerName)
const route = buildFileQuery("/api/file/getrepsblob", {
container: containerName
});
return getFileJson(
withBaseUrl(BASE_URL, appendQuerySuffix(route, hashAPIPath(route)))
).catch((error) => {
consoleLogger(error);
});
};
export const getRepsFromBlobProxy = async (containerName) => {
return getJson(
"/api/file/getrepsblobproxy?container=" + containerName
).catch((error) => {
const route = buildFileQuery("/api/file/getrepsblobproxy", {
container: containerName
});
return getFileJson(route).catch((error) => {
consoleLogger(error);
});
};
export const getAwaitingSubmissionFromBlobProxy = async (containerName) => {
return getJson(
BASE_URL +
"/api/file/getawaitingsubmissionfromblobproxy?container=" +
containerName
).catch((error) => {
const route = buildFileQuery(
"/api/file/getawaitingsubmissionfromblobproxy",
{
container: containerName
}
);
return getFileJson(withBaseUrl(BASE_URL, route)).catch((error) => {
consoleLogger(error);
});
};
export const getFilesFromBlobproxy = (containerName, casefolderID) => {
return getFileJson(
"/api/file/getbloblistproxy?container=" +
containerName +
"&casefolderID=" +
casefolderID
).catch((error) => {
const route = buildFileQuery("/api/file/getbloblistproxy", {
container: containerName,
casefolderID
});
return getFileJson(route).catch((error) => {
consoleLogger(error);
});
};
@@ -68,11 +75,10 @@ export const deleteAwaitingSubmissionsFromBlob = (
containerID,
casefolderID
) => {
var queryUrl =
"/api/file/deleteblobcase?container=" +
containerID +
"&casefolderID=" +
casefolderID;
var queryUrl = buildFileQuery("/api/file/deleteblobcase", {
container: containerID,
casefolderID
});
return getSignedFileJson(queryUrl).catch((error) => {
consoleLogger(error);
@@ -84,13 +90,11 @@ export const deleteMyRepresentationsFromBlob = (
casefolderID,
repfile
) => {
var queryUrl =
"/api/file/deleteblobrep?container=" +
containerID +
"&casefolderID=" +
casefolderID +
"&repfile=" +
repfile;
var queryUrl = buildFileQuery("/api/file/deleteblobrep", {
container: containerID,
casefolderID,
repfile
});
return getSignedFileJson(queryUrl).catch((error) => {
consoleLogger(error);
@@ -217,18 +221,13 @@ export const generateAppealPDF = async (
};
export const getFilesFromBlob = (containerName, casefolderID) => {
return getJson(
BASE_URL +
"/api/file/getbloblist?container=" +
containerName +
"&casefolderID=" +
casefolderID +
hashAPIPath(
"/api/file/getbloblist?container=" +
containerName +
"&casefolderID=" +
casefolderID
)
const route = buildFileQuery("/api/file/getbloblist", {
container: containerName,
casefolderID
});
return getFileJson(
withBaseUrl(BASE_URL, appendQuerySuffix(route, hashAPIPath(route)))
).catch((error) => {
consoleLogger(error);
});
@@ -239,15 +238,16 @@ export const getFilesFromBlobHashed = (
getblobshash,
casefolderID
) => {
return getJson(
"/api/file/getbloblist?container=" +
containerName +
"&casefolderID=" +
casefolderID +
getblobshash
).catch((error) => {
consoleLogger(error);
const route = buildFileQuery("/api/file/getbloblist", {
container: containerName,
casefolderID
});
return getFileJson(appendQuerySuffix(route, getblobshash)).catch(
(error) => {
consoleLogger(error);
}
);
};
export const deleteBlob = async (
@@ -256,17 +256,23 @@ export const deleteBlob = async (
deleteblobhash,
casefolderID
) => {
return getFileJson(
"/api/file/deleteblob?container=" +
containerName +
"&casefolderID=" +
encodeURIComponent(casefolderID) +
"&blobname=" +
encodeURIComponent(blobName) +
deleteblobhash
).catch((error) => {
consoleLogger(error);
});
const route = buildFileQuery(
"/api/file/deleteblob",
{
container: containerName,
casefolderID,
blobname: blobName
},
{
encode: true
}
);
return getFileJson(appendQuerySuffix(route, deleteblobhash)).catch(
(error) => {
consoleLogger(error);
}
);
};
export const deleteRepBlob = async (
@@ -276,26 +282,33 @@ export const deleteRepBlob = async (
casefolderID,
filenamePrefix
) => {
return getFileJson(
"/api/file/deleteblob?container=" +
containerName +
"&casefolderID=" +
encodeURIComponent(casefolderID + "/" + filenamePrefix) +
"&blobname=" +
encodeURIComponent(blobName) +
deleteblobhash
).catch((error) => {
consoleLogger(error);
});
const route = buildFileQuery(
"/api/file/deleteblob",
{
container: containerName,
casefolderID: casefolderID + "/" + filenamePrefix,
blobname: blobName
},
{
encode: true
}
);
return getFileJson(appendQuerySuffix(route, deleteblobhash)).catch(
(error) => {
consoleLogger(error);
}
);
};
export const downloadBlob = (containerName, blobName) => {
const queryUrl =
BASE_URL +
"/api/file/downloadblob?container=" +
containerName.toLowerCase() +
"&blobname=" +
blobName;
const queryUrl = withBaseUrl(
BASE_URL,
buildFileQuery("/api/file/downloadblob", {
container: containerName.toLowerCase(),
blobname: blobName
})
);
return downloadFileBlob(queryUrl).catch((error) => {
consoleLogger(error);
@@ -303,30 +316,31 @@ export const downloadBlob = (containerName, blobName) => {
};
export const getProgressFromBlob = async (containerName, casereference) => {
return getJson(
BASE_URL +
"/api/file/getprogressobjblob?container=" +
encodeURIComponent(containerName) +
"&casefolderID=" +
encodeURIComponent(casereference) +
hashAPIPath(
"/api/file/getprogressobjblob?container=" +
encodeURIComponent(containerName) +
"&casefolderID=" +
encodeURIComponent(casereference)
)
const route = buildFileQuery(
"/api/file/getprogressobjblob",
{
container: containerName,
casefolderID: casereference
},
{
encode: true
}
);
return getFileJson(
withBaseUrl(BASE_URL, appendQuerySuffix(route, hashAPIPath(route)))
).catch((error) => {
consoleLogger(error);
});
};
export const createContainerProxy = (containerName) => {
var queryUrl =
"/api/file/setupcontainer?ident=" +
containerName +
hashAPIPath("/api/file/setupcontainer?ident=" + containerName);
var route = buildFileQuery("/api/file/setupcontainer", {
ident: containerName
});
var queryUrl = appendQuerySuffix(route, hashAPIPath(route));
return getJson(BASE_URL + queryUrl).catch((error) => {
return getFileJson(withBaseUrl(BASE_URL, queryUrl)).catch((error) => {
consoleLogger(error);
return JSON.stringify(error);