@docusign/iam-sdk
Version:
Developer-friendly & type-safe Typescript SDK specifically catered to leverage *@docusign/iam-sdk* API.
148 lines • 6.57 kB
JavaScript
;
/*
* 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.workspacesWorkspaceUsersUpdateWorkspaceUser = workspacesWorkspaceUsersUpdateWorkspaceUser;
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");
/**
* Updates the specified user's role
*
* @remarks
* This operation updates the specified user's role in the workspace. Users within the account are considered "Internal" and may be assigned any role. Users outside the account are considered "External" and may only be assigned "External" roles.
*
* If set, this operation will use {@link Security.accessToken} from the global security.
*/
function workspacesWorkspaceUsersUpdateWorkspaceUser(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.UpdateWorkspaceUserRequest$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.WorkspaceUserForUpdate, {
explode: true,
});
const pathParams = {
accountId: (0, encodings_js_1.encodeSimple)("accountId", payload.accountId, {
explode: false,
charEncoding: "percent",
}),
userId: (0, encodings_js_1.encodeSimple)("userId", payload.userId, {
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}/users/{userId}")(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: "updateWorkspaceUser",
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: "PUT",
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(200, components.UpdateWorkspaceUserResponse$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=workspacesWorkspaceUsersUpdateWorkspaceUser.js.map