box-node-sdk
Version:
Official SDK for Box Platform APIs
263 lines • 11.5 kB
JavaScript
import { deserializeCollaborationAllowlistExemptTargets } from '../schemas/collaborationAllowlistExemptTargets.js';
import { deserializeCollaborationAllowlistExemptTarget } from '../schemas/collaborationAllowlistExemptTarget.js';
import { BoxSdkError } from '../box/errors.js';
import { NetworkSession } from '../networking/network.js';
import { FetchOptions } from '../networking/fetchOptions.js';
import { prepareParams } from '../internal/utils.js';
import { toString } from '../internal/utils.js';
import { sdIsString } from '../serialization/json.js';
import { sdIsMap } from '../serialization/json.js';
export class CreateCollaborationWhitelistExemptTargetOptionals {
headers = new CreateCollaborationWhitelistExemptTargetHeaders({});
cancellationToken = void 0;
constructor(fields) {
if (fields.headers !== undefined) {
this.headers = fields.headers;
}
if (fields.cancellationToken !== undefined) {
this.cancellationToken = fields.cancellationToken;
}
}
}
export class GetCollaborationWhitelistExemptTargetByIdOptionals {
headers = new GetCollaborationWhitelistExemptTargetByIdHeaders({});
cancellationToken = void 0;
constructor(fields) {
if (fields.headers !== undefined) {
this.headers = fields.headers;
}
if (fields.cancellationToken !== undefined) {
this.cancellationToken = fields.cancellationToken;
}
}
}
export class DeleteCollaborationWhitelistExemptTargetByIdOptionals {
headers = new DeleteCollaborationWhitelistExemptTargetByIdHeaders({});
cancellationToken = void 0;
constructor(fields) {
if (fields.headers !== undefined) {
this.headers = fields.headers;
}
if (fields.cancellationToken !== undefined) {
this.cancellationToken = fields.cancellationToken;
}
}
}
export class GetCollaborationWhitelistExemptTargetsHeaders {
/**
* Extra headers that will be included in the HTTP request. */
extraHeaders = {};
constructor(fields) {
if (fields.extraHeaders !== undefined) {
this.extraHeaders = fields.extraHeaders;
}
}
}
export class CreateCollaborationWhitelistExemptTargetHeaders {
/**
* Extra headers that will be included in the HTTP request. */
extraHeaders = {};
constructor(fields) {
if (fields.extraHeaders !== undefined) {
this.extraHeaders = fields.extraHeaders;
}
}
}
export class GetCollaborationWhitelistExemptTargetByIdHeaders {
/**
* Extra headers that will be included in the HTTP request. */
extraHeaders = {};
constructor(fields) {
if (fields.extraHeaders !== undefined) {
this.extraHeaders = fields.extraHeaders;
}
}
}
export class DeleteCollaborationWhitelistExemptTargetByIdHeaders {
/**
* Extra headers that will be included in the HTTP request. */
extraHeaders = {};
constructor(fields) {
if (fields.extraHeaders !== undefined) {
this.extraHeaders = fields.extraHeaders;
}
}
}
export class CollaborationAllowlistExemptTargetsManager {
auth;
networkSession = new NetworkSession({});
constructor(fields) {
if (fields.auth !== undefined) {
this.auth = fields.auth;
}
if (fields.networkSession !== undefined) {
this.networkSession = fields.networkSession;
}
}
/**
* Returns a list of users who have been exempt from the collaboration
* domain restrictions.
* @param {GetCollaborationWhitelistExemptTargetsQueryParams} queryParams Query parameters of getCollaborationWhitelistExemptTargets method
* @param {GetCollaborationWhitelistExemptTargetsHeadersInput} headersInput Headers of getCollaborationWhitelistExemptTargets method
* @param {CancellationToken} cancellationToken Token used for request cancellation.
* @returns {Promise<CollaborationAllowlistExemptTargets>}
*/
async getCollaborationWhitelistExemptTargets(queryParams = {}, headersInput = new GetCollaborationWhitelistExemptTargetsHeaders({}), cancellationToken) {
const headers = new GetCollaborationWhitelistExemptTargetsHeaders({
extraHeaders: headersInput.extraHeaders,
});
const queryParamsMap = prepareParams({
['marker']: toString(queryParams.marker),
['limit']: toString(queryParams.limit),
});
const headersMap = prepareParams({ ...{}, ...headers.extraHeaders });
const response = await this.networkSession.networkClient.fetch(new FetchOptions({
url: ''.concat(this.networkSession.baseUrls.baseUrl, '/2.0/collaboration_whitelist_exempt_targets'),
method: 'GET',
params: queryParamsMap,
headers: headersMap,
responseFormat: 'json',
auth: this.auth,
networkSession: this.networkSession,
cancellationToken: cancellationToken,
}));
return {
...deserializeCollaborationAllowlistExemptTargets(response.data),
rawData: response.data,
};
}
/**
* Exempts a user from the restrictions set out by the allowed list of domains
* for collaborations.
* @param {CreateCollaborationWhitelistExemptTargetRequestBody} requestBody Request body of createCollaborationWhitelistExemptTarget method
* @param {CreateCollaborationWhitelistExemptTargetOptionalsInput} optionalsInput
* @returns {Promise<CollaborationAllowlistExemptTarget>}
*/
async createCollaborationWhitelistExemptTarget(requestBody, optionalsInput = {}) {
const optionals = new CreateCollaborationWhitelistExemptTargetOptionals({
headers: optionalsInput.headers,
cancellationToken: optionalsInput.cancellationToken,
});
const headers = optionals.headers;
const cancellationToken = optionals.cancellationToken;
const headersMap = prepareParams({ ...{}, ...headers.extraHeaders });
const response = await this.networkSession.networkClient.fetch(new FetchOptions({
url: ''.concat(this.networkSession.baseUrls.baseUrl, '/2.0/collaboration_whitelist_exempt_targets'),
method: 'POST',
headers: headersMap,
data: serializeCreateCollaborationWhitelistExemptTargetRequestBody(requestBody),
contentType: 'application/json',
responseFormat: 'json',
auth: this.auth,
networkSession: this.networkSession,
cancellationToken: cancellationToken,
}));
return {
...deserializeCollaborationAllowlistExemptTarget(response.data),
rawData: response.data,
};
}
/**
* Returns a users who has been exempt from the collaboration
* domain restrictions.
* @param {string} collaborationWhitelistExemptTargetId The ID of the exemption to the list.
Example: "984923"
* @param {GetCollaborationWhitelistExemptTargetByIdOptionalsInput} optionalsInput
* @returns {Promise<CollaborationAllowlistExemptTarget>}
*/
async getCollaborationWhitelistExemptTargetById(collaborationWhitelistExemptTargetId, optionalsInput = {}) {
const optionals = new GetCollaborationWhitelistExemptTargetByIdOptionals({
headers: optionalsInput.headers,
cancellationToken: optionalsInput.cancellationToken,
});
const headers = optionals.headers;
const cancellationToken = optionals.cancellationToken;
const headersMap = prepareParams({ ...{}, ...headers.extraHeaders });
const response = await this.networkSession.networkClient.fetch(new FetchOptions({
url: ''.concat(this.networkSession.baseUrls.baseUrl, '/2.0/collaboration_whitelist_exempt_targets/', toString(collaborationWhitelistExemptTargetId)),
method: 'GET',
headers: headersMap,
responseFormat: 'json',
auth: this.auth,
networkSession: this.networkSession,
cancellationToken: cancellationToken,
}));
return {
...deserializeCollaborationAllowlistExemptTarget(response.data),
rawData: response.data,
};
}
/**
* Removes a user's exemption from the restrictions set out by the allowed list
* of domains for collaborations.
* @param {string} collaborationWhitelistExemptTargetId The ID of the exemption to the list.
Example: "984923"
* @param {DeleteCollaborationWhitelistExemptTargetByIdOptionalsInput} optionalsInput
* @returns {Promise<undefined>}
*/
async deleteCollaborationWhitelistExemptTargetById(collaborationWhitelistExemptTargetId, optionalsInput = {}) {
const optionals = new DeleteCollaborationWhitelistExemptTargetByIdOptionals({
headers: optionalsInput.headers,
cancellationToken: optionalsInput.cancellationToken,
});
const headers = optionals.headers;
const cancellationToken = optionals.cancellationToken;
const headersMap = prepareParams({ ...{}, ...headers.extraHeaders });
const response = await this.networkSession.networkClient.fetch(new FetchOptions({
url: ''.concat(this.networkSession.baseUrls.baseUrl, '/2.0/collaboration_whitelist_exempt_targets/', toString(collaborationWhitelistExemptTargetId)),
method: 'DELETE',
headers: headersMap,
responseFormat: 'no_content',
auth: this.auth,
networkSession: this.networkSession,
cancellationToken: cancellationToken,
}));
return void 0;
}
}
export function serializeCreateCollaborationWhitelistExemptTargetRequestBodyUserField(val) {
return { ['id']: val.id };
}
export function deserializeCreateCollaborationWhitelistExemptTargetRequestBodyUserField(val) {
if (!sdIsMap(val)) {
throw new BoxSdkError({
message: 'Expecting a map for "CreateCollaborationWhitelistExemptTargetRequestBodyUserField"',
});
}
if (val.id == void 0) {
throw new BoxSdkError({
message: 'Expecting "id" of type "CreateCollaborationWhitelistExemptTargetRequestBodyUserField" to be defined',
});
}
if (!sdIsString(val.id)) {
throw new BoxSdkError({
message: 'Expecting string for "id" of type "CreateCollaborationWhitelistExemptTargetRequestBodyUserField"',
});
}
const id = val.id;
return {
id: id,
};
}
export function serializeCreateCollaborationWhitelistExemptTargetRequestBody(val) {
return {
['user']: serializeCreateCollaborationWhitelistExemptTargetRequestBodyUserField(val.user),
};
}
export function deserializeCreateCollaborationWhitelistExemptTargetRequestBody(val) {
if (!sdIsMap(val)) {
throw new BoxSdkError({
message: 'Expecting a map for "CreateCollaborationWhitelistExemptTargetRequestBody"',
});
}
if (val.user == void 0) {
throw new BoxSdkError({
message: 'Expecting "user" of type "CreateCollaborationWhitelistExemptTargetRequestBody" to be defined',
});
}
const user = deserializeCreateCollaborationWhitelistExemptTargetRequestBodyUserField(val.user);
return {
user: user,
};
}
//# sourceMappingURL=collaborationAllowlistExemptTargets.js.map