@fairmint/canton-node-sdk
Version:
Canton Node SDK
45 lines • 1.68 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.UploadDarFile = exports.UploadDarFileParamsSchema = void 0;
const zod_1 = require("zod");
const core_1 = require("../../../../../core");
// Schema for the parameters
exports.UploadDarFileParamsSchema = zod_1.z.object({
/** DAR file content as a buffer or string */
darFile: zod_1.z.union([zod_1.z.instanceof(Buffer), zod_1.z.string()]),
/** Optional submission ID for deduplication */
submissionId: zod_1.z.string().optional(),
});
/**
* @description Upload a DAR file to the participant node
* @example
* ```typescript
* const result = await client.uploadDarFile({
* darFile: fs.readFileSync('my-package.dar'),
* submissionId: 'unique-submission-id'
* });
* ```
* @param darFile - DAR file content as a buffer or string
* @param submissionId - Optional submission ID for deduplication
*/
exports.UploadDarFile = (0, core_1.createApiOperation)({
paramsSchema: exports.UploadDarFileParamsSchema,
method: 'POST',
buildUrl: (params, apiUrl) => {
const baseUrl = `${apiUrl}/v2/packages`;
const queryParams = new URLSearchParams();
if (params.submissionId) {
queryParams.append('submission_id', params.submissionId);
}
const queryString = queryParams.toString();
return queryString ? `${baseUrl}?${queryString}` : baseUrl;
},
buildRequestData: (params) => {
// Convert to string if it's a Buffer
if (Buffer.isBuffer(params.darFile)) {
return params.darFile.toString('base64');
}
return params.darFile;
},
});
//# sourceMappingURL=post.js.map