UNPKG

@docusign/iam-sdk

Version:

Developer-friendly & type-safe Typescript SDK specifically catered to leverage *@docusign/iam-sdk* API.

152 lines 7.24 kB
"use strict"; /* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || (function () { var ownKeys = function(o) { ownKeys = Object.getOwnPropertyNames || function (o) { var ar = []; for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; return ar; }; return ownKeys(o); }; return function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); __setModuleDefault(result, mod); return result; }; })(); Object.defineProperty(exports, "__esModule", { value: true }); exports.workspacesWorkspacesCreateWorkspaceEnvelope = workspacesWorkspacesCreateWorkspaceEnvelope; const encodings_js_1 = require("../lib/encodings.js"); const http_js_1 = require("../lib/http.js"); const M = __importStar(require("../lib/matchers.js")); const primitives_js_1 = require("../lib/primitives.js"); const schemas_js_1 = require("../lib/schemas.js"); const security_js_1 = require("../lib/security.js"); const url_js_1 = require("../lib/url.js"); const components = __importStar(require("../models/components/index.js")); const errors = __importStar(require("../models/errors/index.js")); const operations = __importStar(require("../models/operations/index.js")); const async_js_1 = require("../types/async.js"); /** * Creates an envelope with the given documents. Returns the ID of the created envelope * * @remarks * This operation creates an envelope associated with the workspace. Using the `envelope_id` from the response, the [eSignature API](https://developers.docusign.com/docs/esign-rest-api/) may be utilized to modify the envelope and ultimately send it. * * Envelope recipients will automatically be granted Participate access to the workspace. Envelope recipients will receive consolidated notifications from Docusign Workspaces rather than standard individual envelope notifications. * * Docusign Connect events may be utilized to receive updates to individual envelope events. * * The `envelopes` operation on the workspace may be utilized to query the status of all the envelopes in the workspace. * * When `document_ids` is empty or excluded, the envelope is created without any documents from the workspace. eSignature API calls, including adding documents and templates, may be utilized to modify the envelope before it is sent. The eSignature API must be utilized to send the envelope. * * If set, this operation will use {@link Security.accessToken} from the global security. */ function workspacesWorkspacesCreateWorkspaceEnvelope(client, request, options) { return new async_js_1.APIPromise($do(client, request, options)); } async function $do(client, request, options) { const parsed = (0, schemas_js_1.safeParse)(request, (value) => operations.CreateWorkspaceEnvelopeRequest$outboundSchema.parse(value), "Input validation failed"); if (!parsed.ok) { return [parsed, { status: "invalid" }]; } const payload = parsed.value; const body = (0, encodings_js_1.encodeJSON)("body", payload.WorkspaceEnvelopeForCreate, { explode: true, }); const pathParams = { accountId: (0, encodings_js_1.encodeSimple)("accountId", payload.accountId, { explode: false, charEncoding: "percent", }), workspaceId: (0, encodings_js_1.encodeSimple)("workspaceId", payload.workspaceId, { explode: false, charEncoding: "percent", }), }; const path = (0, url_js_1.pathToFunc)("/v1/accounts/{accountId}/workspaces/{workspaceId}/envelopes")(pathParams); const headers = new Headers((0, primitives_js_1.compactMap)({ "Content-Type": "application/json", Accept: "application/json", })); const secConfig = await (0, security_js_1.extractSecurity)(client._options.accessToken); const securityInput = secConfig == null ? {} : { accessToken: secConfig }; const requestSecurity = (0, security_js_1.resolveGlobalSecurity)(securityInput, [0]); const context = { options: client._options, baseURL: options?.serverURL ?? client._baseURL ?? "", operationID: "createWorkspaceEnvelope", oAuth2Scopes: null, resolvedSecurity: requestSecurity, securitySource: client._options.accessToken, retryConfig: options?.retries || client._options.retryConfig || { strategy: "backoff", backoff: { initialInterval: 500, maxInterval: 5000, exponent: 1.5, maxElapsedTime: 30000, }, retryConnectionErrors: true, } || { strategy: "none" }, retryCodes: options?.retryCodes || ["5XX", "429"], }; const requestRes = client._createRequest(context, { security: requestSecurity, method: "POST", baseURL: options?.serverURL, path: path, headers: headers, body: body, userAgent: client._options.userAgent, timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1, }, options); if (!requestRes.ok) { return [requestRes, { status: "invalid" }]; } const req = requestRes.value; const doResult = await client._do(req, { context, isErrorStatusCode: (statusCode) => (0, http_js_1.matchStatusCode)({ status: statusCode }, ["4XX", "5XX"]), retryConfig: context.retryConfig, retryCodes: context.retryCodes, }); if (!doResult.ok) { return [doResult, { status: "request-error", request: req }]; } const response = doResult.value; const responseFields = { HttpMeta: { Response: response, Request: req }, }; const [result] = await M.match(M.json(201, components.CreateWorkspaceEnvelopeResponse$inboundSchema), M.jsonErr([400, 401], errors.ErrorDetails$inboundSchema), M.jsonErr(500, errors.ErrorDetails$inboundSchema), M.fail("4XX"), M.fail("5XX"))(response, req, { extraFields: responseFields }); if (!result.ok) { return [result, { status: "complete", request: req, response }]; } return [result, { status: "complete", request: req, response }]; } //# sourceMappingURL=workspacesWorkspacesCreateWorkspaceEnvelope.js.map