The user's session keypair for authentication
The File object to upload
Upload options including reference and applicationId
The Welshare API environment (name or config object)
Promise containing insertedUid, url, encryptionKey, and any errors
import { WelshareApi, resolveEnvironment } from "@welshare/sdk";
const result = await WelshareApi.uploadAndEncryptFile(
keypair,
file,
{
reference: `questionnaire/${questionnaireId}/photo`,
applicationId: "my-app-id",
},
"production"
);
console.log("File uploaded:", result.insertedUid);
console.log("File URL:", result.url);
// Use in a FHIR QuestionnaireResponse attachment
const attachment = {
id: result.insertedUid,
contentType: file.type,
size: file.size,
title: file.name,
url: result.url,
};
Side effects:
Security notes:
Encrypt and upload a file to Welshare storage.
This function handles the complete upload flow: