mirror of
https://github.com/OpenSignLabs/OpenSign.git
synced 2026-08-17 21:25:54 +02:00
37 lines
1.4 KiB
JavaScript
37 lines
1.4 KiB
JavaScript
import { handleValidImage, useLocal } from '../../Utils.js';
|
|
import getPresignedUrl, { presignedlocalUrl } from './getSignedUrl.js';
|
|
|
|
async function TemplateAfterFind(request) {
|
|
if (request.objects.length === 1) {
|
|
if (request.objects) {
|
|
const obj = request.objects[0];
|
|
const SignedUrl = obj?.get('SignedUrl') && obj?.get('SignedUrl');
|
|
const Url = obj?.get('URL') && obj?.get('URL');
|
|
const certificateUrl = obj.get('CertificateUrl') && obj?.get('CertificateUrl');
|
|
const isPrefillExist = obj?.get('Placeholders')?.some(x => x.Role === 'prefill');
|
|
const Placeholder = obj?.get('Placeholders') || [];
|
|
const shouldUsePresigned = useLocal !== 'true';
|
|
const isLocal = useLocal == 'true';
|
|
|
|
const resolveUrl = async rawUrl => {
|
|
if (!rawUrl) return rawUrl;
|
|
if (shouldUsePresigned) {
|
|
return await getPresignedUrl(rawUrl);
|
|
} else if (isLocal) {
|
|
return presignedlocalUrl(rawUrl);
|
|
}
|
|
};
|
|
|
|
if (isPrefillExist) {
|
|
const updatedPlaceHolder = await handleValidImage(Placeholder);
|
|
obj.set('Placeholders', updatedPlaceHolder);
|
|
}
|
|
if (SignedUrl) obj.set('SignedUrl', await resolveUrl(SignedUrl));
|
|
if (Url) obj.set('URL', await resolveUrl(Url));
|
|
if (certificateUrl) obj.set('CertificateUrl', await resolveUrl(certificateUrl));
|
|
return [obj];
|
|
}
|
|
}
|
|
}
|
|
export default TemplateAfterFind;
|