box-node-sdk
Version:
Official SDK for Box Platform APIs
1,055 lines (1,054 loc) • 36.8 kB
text/typescript
import { serializeStoragePolicyAssignments } from '../schemas/storagePolicyAssignments';
import { deserializeStoragePolicyAssignments } from '../schemas/storagePolicyAssignments';
import { serializeClientError } from '../schemas/clientError';
import { deserializeClientError } from '../schemas/clientError';
import { serializeStoragePolicyAssignment } from '../schemas/storagePolicyAssignment';
import { deserializeStoragePolicyAssignment } from '../schemas/storagePolicyAssignment';
import { ResponseFormat } from '../networking/fetchOptions';
import { StoragePolicyAssignments } from '../schemas/storagePolicyAssignments';
import { ClientError } from '../schemas/clientError';
import { StoragePolicyAssignment } from '../schemas/storagePolicyAssignment';
import { BoxSdkError } from '../box/errors';
import { Authentication } from '../networking/auth';
import { NetworkSession } from '../networking/network';
import { FetchOptions } from '../networking/fetchOptions';
import { FetchResponse } from '../networking/fetchResponse';
import { prepareParams } from '../internal/utils';
import { toString } from '../internal/utils';
import { ByteStream } from '../internal/utils';
import { CancellationToken } from '../internal/utils';
import { sdToJson } from '../serialization/json';
import { SerializedData } from '../serialization/json';
import { sdIsEmpty } from '../serialization/json';
import { sdIsBoolean } from '../serialization/json';
import { sdIsNumber } from '../serialization/json';
import { sdIsString } from '../serialization/json';
import { sdIsList } from '../serialization/json';
import { sdIsMap } from '../serialization/json';
export class GetStoragePolicyAssignmentsOptionals {
readonly headers: GetStoragePolicyAssignmentsHeaders =
new GetStoragePolicyAssignmentsHeaders({});
readonly cancellationToken?: CancellationToken = void 0;
constructor(
fields: Omit<
GetStoragePolicyAssignmentsOptionals,
'headers' | 'cancellationToken'
> &
Partial<
Pick<
GetStoragePolicyAssignmentsOptionals,
'headers' | 'cancellationToken'
>
>,
) {
if (fields.headers !== undefined) {
this.headers = fields.headers;
}
if (fields.cancellationToken !== undefined) {
this.cancellationToken = fields.cancellationToken;
}
}
}
export interface GetStoragePolicyAssignmentsOptionalsInput {
readonly headers?: GetStoragePolicyAssignmentsHeaders;
readonly cancellationToken?: CancellationToken;
}
export class CreateStoragePolicyAssignmentOptionals {
readonly headers: CreateStoragePolicyAssignmentHeaders =
new CreateStoragePolicyAssignmentHeaders({});
readonly cancellationToken?: CancellationToken = void 0;
constructor(
fields: Omit<
CreateStoragePolicyAssignmentOptionals,
'headers' | 'cancellationToken'
> &
Partial<
Pick<
CreateStoragePolicyAssignmentOptionals,
'headers' | 'cancellationToken'
>
>,
) {
if (fields.headers !== undefined) {
this.headers = fields.headers;
}
if (fields.cancellationToken !== undefined) {
this.cancellationToken = fields.cancellationToken;
}
}
}
export interface CreateStoragePolicyAssignmentOptionalsInput {
readonly headers?: CreateStoragePolicyAssignmentHeaders;
readonly cancellationToken?: CancellationToken;
}
export class GetStoragePolicyAssignmentByIdOptionals {
readonly headers: GetStoragePolicyAssignmentByIdHeaders =
new GetStoragePolicyAssignmentByIdHeaders({});
readonly cancellationToken?: CancellationToken = void 0;
constructor(
fields: Omit<
GetStoragePolicyAssignmentByIdOptionals,
'headers' | 'cancellationToken'
> &
Partial<
Pick<
GetStoragePolicyAssignmentByIdOptionals,
'headers' | 'cancellationToken'
>
>,
) {
if (fields.headers !== undefined) {
this.headers = fields.headers;
}
if (fields.cancellationToken !== undefined) {
this.cancellationToken = fields.cancellationToken;
}
}
}
export interface GetStoragePolicyAssignmentByIdOptionalsInput {
readonly headers?: GetStoragePolicyAssignmentByIdHeaders;
readonly cancellationToken?: CancellationToken;
}
export class UpdateStoragePolicyAssignmentByIdOptionals {
readonly headers: UpdateStoragePolicyAssignmentByIdHeaders =
new UpdateStoragePolicyAssignmentByIdHeaders({});
readonly cancellationToken?: CancellationToken = void 0;
constructor(
fields: Omit<
UpdateStoragePolicyAssignmentByIdOptionals,
'headers' | 'cancellationToken'
> &
Partial<
Pick<
UpdateStoragePolicyAssignmentByIdOptionals,
'headers' | 'cancellationToken'
>
>,
) {
if (fields.headers !== undefined) {
this.headers = fields.headers;
}
if (fields.cancellationToken !== undefined) {
this.cancellationToken = fields.cancellationToken;
}
}
}
export interface UpdateStoragePolicyAssignmentByIdOptionalsInput {
readonly headers?: UpdateStoragePolicyAssignmentByIdHeaders;
readonly cancellationToken?: CancellationToken;
}
export class DeleteStoragePolicyAssignmentByIdOptionals {
readonly headers: DeleteStoragePolicyAssignmentByIdHeaders =
new DeleteStoragePolicyAssignmentByIdHeaders({});
readonly cancellationToken?: CancellationToken = void 0;
constructor(
fields: Omit<
DeleteStoragePolicyAssignmentByIdOptionals,
'headers' | 'cancellationToken'
> &
Partial<
Pick<
DeleteStoragePolicyAssignmentByIdOptionals,
'headers' | 'cancellationToken'
>
>,
) {
if (fields.headers !== undefined) {
this.headers = fields.headers;
}
if (fields.cancellationToken !== undefined) {
this.cancellationToken = fields.cancellationToken;
}
}
}
export interface DeleteStoragePolicyAssignmentByIdOptionalsInput {
readonly headers?: DeleteStoragePolicyAssignmentByIdHeaders;
readonly cancellationToken?: CancellationToken;
}
export type GetStoragePolicyAssignmentsQueryParamsResolvedForTypeField =
| 'user'
| 'enterprise'
| string;
export interface GetStoragePolicyAssignmentsQueryParams {
/**
* Defines the position marker at which to begin returning results. This is
* used when paginating using marker-based pagination.
*
* This requires `usemarker` to be set to `true`. */
readonly marker?: string;
/**
* The target type to return assignments for. */
readonly resolvedForType: GetStoragePolicyAssignmentsQueryParamsResolvedForTypeField;
/**
* The ID of the user or enterprise to return assignments for. */
readonly resolvedForId: string;
}
export class GetStoragePolicyAssignmentsHeaders {
/**
* Extra headers that will be included in the HTTP request. */
readonly extraHeaders?: {
readonly [key: string]: undefined | string;
} = {};
constructor(
fields: Omit<GetStoragePolicyAssignmentsHeaders, 'extraHeaders'> &
Partial<Pick<GetStoragePolicyAssignmentsHeaders, 'extraHeaders'>>,
) {
if (fields.extraHeaders !== undefined) {
this.extraHeaders = fields.extraHeaders;
}
}
}
export interface GetStoragePolicyAssignmentsHeadersInput {
/**
* Extra headers that will be included in the HTTP request. */
readonly extraHeaders?: {
readonly [key: string]: undefined | string;
};
}
export type CreateStoragePolicyAssignmentRequestBodyStoragePolicyTypeField =
'storage_policy';
export class CreateStoragePolicyAssignmentRequestBodyStoragePolicyField {
/**
* The type to assign. */
readonly type: CreateStoragePolicyAssignmentRequestBodyStoragePolicyTypeField =
'storage_policy' as CreateStoragePolicyAssignmentRequestBodyStoragePolicyTypeField;
/**
* The ID of the storage policy to assign. */
readonly id!: string;
readonly rawData?: SerializedData;
constructor(
fields: Omit<
CreateStoragePolicyAssignmentRequestBodyStoragePolicyField,
'type'
> &
Partial<
Pick<CreateStoragePolicyAssignmentRequestBodyStoragePolicyField, 'type'>
>,
) {
if (fields.type !== undefined) {
this.type = fields.type;
}
if (fields.id !== undefined) {
this.id = fields.id;
}
if (fields.rawData !== undefined) {
this.rawData = fields.rawData;
}
}
}
export interface CreateStoragePolicyAssignmentRequestBodyStoragePolicyFieldInput {
/**
* The type to assign. */
readonly type?: CreateStoragePolicyAssignmentRequestBodyStoragePolicyTypeField;
/**
* The ID of the storage policy to assign. */
readonly id: string;
readonly rawData?: SerializedData;
}
export type CreateStoragePolicyAssignmentRequestBodyAssignedToTypeField =
| 'user'
| 'enterprise';
export interface CreateStoragePolicyAssignmentRequestBodyAssignedToField {
/**
* The type to assign the policy to. */
readonly type: CreateStoragePolicyAssignmentRequestBodyAssignedToTypeField;
/**
* The ID of the user or enterprise. */
readonly id: string;
readonly rawData?: SerializedData;
}
export interface CreateStoragePolicyAssignmentRequestBody {
/**
* The storage policy to assign to the user or
* enterprise. */
readonly storagePolicy: CreateStoragePolicyAssignmentRequestBodyStoragePolicyField;
/**
* The user or enterprise to assign the storage
* policy to. */
readonly assignedTo: CreateStoragePolicyAssignmentRequestBodyAssignedToField;
readonly rawData?: SerializedData;
}
export class CreateStoragePolicyAssignmentHeaders {
/**
* Extra headers that will be included in the HTTP request. */
readonly extraHeaders?: {
readonly [key: string]: undefined | string;
} = {};
constructor(
fields: Omit<CreateStoragePolicyAssignmentHeaders, 'extraHeaders'> &
Partial<Pick<CreateStoragePolicyAssignmentHeaders, 'extraHeaders'>>,
) {
if (fields.extraHeaders !== undefined) {
this.extraHeaders = fields.extraHeaders;
}
}
}
export interface CreateStoragePolicyAssignmentHeadersInput {
/**
* Extra headers that will be included in the HTTP request. */
readonly extraHeaders?: {
readonly [key: string]: undefined | string;
};
}
export class GetStoragePolicyAssignmentByIdHeaders {
/**
* Extra headers that will be included in the HTTP request. */
readonly extraHeaders?: {
readonly [key: string]: undefined | string;
} = {};
constructor(
fields: Omit<GetStoragePolicyAssignmentByIdHeaders, 'extraHeaders'> &
Partial<Pick<GetStoragePolicyAssignmentByIdHeaders, 'extraHeaders'>>,
) {
if (fields.extraHeaders !== undefined) {
this.extraHeaders = fields.extraHeaders;
}
}
}
export interface GetStoragePolicyAssignmentByIdHeadersInput {
/**
* Extra headers that will be included in the HTTP request. */
readonly extraHeaders?: {
readonly [key: string]: undefined | string;
};
}
export type UpdateStoragePolicyAssignmentByIdRequestBodyStoragePolicyTypeField =
'storage_policy';
export class UpdateStoragePolicyAssignmentByIdRequestBodyStoragePolicyField {
/**
* The type to assign. */
readonly type: UpdateStoragePolicyAssignmentByIdRequestBodyStoragePolicyTypeField =
'storage_policy' as UpdateStoragePolicyAssignmentByIdRequestBodyStoragePolicyTypeField;
/**
* The ID of the storage policy to assign. */
readonly id!: string;
readonly rawData?: SerializedData;
constructor(
fields: Omit<
UpdateStoragePolicyAssignmentByIdRequestBodyStoragePolicyField,
'type'
> &
Partial<
Pick<
UpdateStoragePolicyAssignmentByIdRequestBodyStoragePolicyField,
'type'
>
>,
) {
if (fields.type !== undefined) {
this.type = fields.type;
}
if (fields.id !== undefined) {
this.id = fields.id;
}
if (fields.rawData !== undefined) {
this.rawData = fields.rawData;
}
}
}
export interface UpdateStoragePolicyAssignmentByIdRequestBodyStoragePolicyFieldInput {
/**
* The type to assign. */
readonly type?: UpdateStoragePolicyAssignmentByIdRequestBodyStoragePolicyTypeField;
/**
* The ID of the storage policy to assign. */
readonly id: string;
readonly rawData?: SerializedData;
}
export interface UpdateStoragePolicyAssignmentByIdRequestBody {
/**
* The storage policy to assign to the user or
* enterprise. */
readonly storagePolicy: UpdateStoragePolicyAssignmentByIdRequestBodyStoragePolicyField;
readonly rawData?: SerializedData;
}
export class UpdateStoragePolicyAssignmentByIdHeaders {
/**
* Extra headers that will be included in the HTTP request. */
readonly extraHeaders?: {
readonly [key: string]: undefined | string;
} = {};
constructor(
fields: Omit<UpdateStoragePolicyAssignmentByIdHeaders, 'extraHeaders'> &
Partial<Pick<UpdateStoragePolicyAssignmentByIdHeaders, 'extraHeaders'>>,
) {
if (fields.extraHeaders !== undefined) {
this.extraHeaders = fields.extraHeaders;
}
}
}
export interface UpdateStoragePolicyAssignmentByIdHeadersInput {
/**
* Extra headers that will be included in the HTTP request. */
readonly extraHeaders?: {
readonly [key: string]: undefined | string;
};
}
export class DeleteStoragePolicyAssignmentByIdHeaders {
/**
* Extra headers that will be included in the HTTP request. */
readonly extraHeaders?: {
readonly [key: string]: undefined | string;
} = {};
constructor(
fields: Omit<DeleteStoragePolicyAssignmentByIdHeaders, 'extraHeaders'> &
Partial<Pick<DeleteStoragePolicyAssignmentByIdHeaders, 'extraHeaders'>>,
) {
if (fields.extraHeaders !== undefined) {
this.extraHeaders = fields.extraHeaders;
}
}
}
export interface DeleteStoragePolicyAssignmentByIdHeadersInput {
/**
* Extra headers that will be included in the HTTP request. */
readonly extraHeaders?: {
readonly [key: string]: undefined | string;
};
}
export class StoragePolicyAssignmentsManager {
readonly auth?: Authentication;
readonly networkSession: NetworkSession = new NetworkSession({});
constructor(
fields: Omit<
StoragePolicyAssignmentsManager,
| 'networkSession'
| 'getStoragePolicyAssignments'
| 'createStoragePolicyAssignment'
| 'getStoragePolicyAssignmentById'
| 'updateStoragePolicyAssignmentById'
| 'deleteStoragePolicyAssignmentById'
> &
Partial<Pick<StoragePolicyAssignmentsManager, 'networkSession'>>,
) {
if (fields.auth !== undefined) {
this.auth = fields.auth;
}
if (fields.networkSession !== undefined) {
this.networkSession = fields.networkSession;
}
}
/**
* Fetches all the storage policy assignment for an enterprise or user.
* @param {GetStoragePolicyAssignmentsQueryParams} queryParams Query parameters of getStoragePolicyAssignments method
* @param {GetStoragePolicyAssignmentsOptionalsInput} optionalsInput
* @returns {Promise<StoragePolicyAssignments>}
*/
async getStoragePolicyAssignments(
queryParams: GetStoragePolicyAssignmentsQueryParams,
optionalsInput: GetStoragePolicyAssignmentsOptionalsInput = {},
): Promise<StoragePolicyAssignments> {
const optionals: GetStoragePolicyAssignmentsOptionals =
new GetStoragePolicyAssignmentsOptionals({
headers: optionalsInput.headers,
cancellationToken: optionalsInput.cancellationToken,
});
const headers: any = optionals.headers;
const cancellationToken: any = optionals.cancellationToken;
const queryParamsMap: {
readonly [key: string]: string;
} = prepareParams({
['marker']: toString(queryParams.marker) as string,
['resolved_for_type']: toString(queryParams.resolvedForType) as string,
['resolved_for_id']: toString(queryParams.resolvedForId) as string,
});
const headersMap: {
readonly [key: string]: string;
} = prepareParams({ ...{}, ...headers.extraHeaders });
const response: FetchResponse =
await this.networkSession.networkClient.fetch(
new FetchOptions({
url: ''.concat(
this.networkSession.baseUrls.baseUrl,
'/2.0/storage_policy_assignments',
) as string,
method: 'GET',
params: queryParamsMap,
headers: headersMap,
responseFormat: 'json' as ResponseFormat,
auth: this.auth,
networkSession: this.networkSession,
cancellationToken: cancellationToken,
}),
);
return {
...deserializeStoragePolicyAssignments(response.data!),
rawData: response.data!,
};
}
/**
* Creates a storage policy assignment for an enterprise or user.
* @param {CreateStoragePolicyAssignmentRequestBody} requestBody Request body of createStoragePolicyAssignment method
* @param {CreateStoragePolicyAssignmentOptionalsInput} optionalsInput
* @returns {Promise<StoragePolicyAssignment>}
*/
async createStoragePolicyAssignment(
requestBody: CreateStoragePolicyAssignmentRequestBody,
optionalsInput: CreateStoragePolicyAssignmentOptionalsInput = {},
): Promise<StoragePolicyAssignment> {
const optionals: CreateStoragePolicyAssignmentOptionals =
new CreateStoragePolicyAssignmentOptionals({
headers: optionalsInput.headers,
cancellationToken: optionalsInput.cancellationToken,
});
const headers: any = optionals.headers;
const cancellationToken: any = optionals.cancellationToken;
const headersMap: {
readonly [key: string]: string;
} = prepareParams({ ...{}, ...headers.extraHeaders });
const response: FetchResponse =
await this.networkSession.networkClient.fetch(
new FetchOptions({
url: ''.concat(
this.networkSession.baseUrls.baseUrl,
'/2.0/storage_policy_assignments',
) as string,
method: 'POST',
headers: headersMap,
data: serializeCreateStoragePolicyAssignmentRequestBody(requestBody),
contentType: 'application/json',
responseFormat: 'json' as ResponseFormat,
auth: this.auth,
networkSession: this.networkSession,
cancellationToken: cancellationToken,
}),
);
return {
...deserializeStoragePolicyAssignment(response.data!),
rawData: response.data!,
};
}
/**
* Fetches a specific storage policy assignment.
* @param {string} storagePolicyAssignmentId The ID of the storage policy assignment.
Example: "932483"
* @param {GetStoragePolicyAssignmentByIdOptionalsInput} optionalsInput
* @returns {Promise<StoragePolicyAssignment>}
*/
async getStoragePolicyAssignmentById(
storagePolicyAssignmentId: string,
optionalsInput: GetStoragePolicyAssignmentByIdOptionalsInput = {},
): Promise<StoragePolicyAssignment> {
const optionals: GetStoragePolicyAssignmentByIdOptionals =
new GetStoragePolicyAssignmentByIdOptionals({
headers: optionalsInput.headers,
cancellationToken: optionalsInput.cancellationToken,
});
const headers: any = optionals.headers;
const cancellationToken: any = optionals.cancellationToken;
const headersMap: {
readonly [key: string]: string;
} = prepareParams({ ...{}, ...headers.extraHeaders });
const response: FetchResponse =
await this.networkSession.networkClient.fetch(
new FetchOptions({
url: ''.concat(
this.networkSession.baseUrls.baseUrl,
'/2.0/storage_policy_assignments/',
(toString(storagePolicyAssignmentId) as string)!,
) as string,
method: 'GET',
headers: headersMap,
responseFormat: 'json' as ResponseFormat,
auth: this.auth,
networkSession: this.networkSession,
cancellationToken: cancellationToken,
}),
);
return {
...deserializeStoragePolicyAssignment(response.data!),
rawData: response.data!,
};
}
/**
* Updates a specific storage policy assignment.
* @param {string} storagePolicyAssignmentId The ID of the storage policy assignment.
Example: "932483"
* @param {UpdateStoragePolicyAssignmentByIdRequestBody} requestBody Request body of updateStoragePolicyAssignmentById method
* @param {UpdateStoragePolicyAssignmentByIdOptionalsInput} optionalsInput
* @returns {Promise<StoragePolicyAssignment>}
*/
async updateStoragePolicyAssignmentById(
storagePolicyAssignmentId: string,
requestBody: UpdateStoragePolicyAssignmentByIdRequestBody,
optionalsInput: UpdateStoragePolicyAssignmentByIdOptionalsInput = {},
): Promise<StoragePolicyAssignment> {
const optionals: UpdateStoragePolicyAssignmentByIdOptionals =
new UpdateStoragePolicyAssignmentByIdOptionals({
headers: optionalsInput.headers,
cancellationToken: optionalsInput.cancellationToken,
});
const headers: any = optionals.headers;
const cancellationToken: any = optionals.cancellationToken;
const headersMap: {
readonly [key: string]: string;
} = prepareParams({ ...{}, ...headers.extraHeaders });
const response: FetchResponse =
await this.networkSession.networkClient.fetch(
new FetchOptions({
url: ''.concat(
this.networkSession.baseUrls.baseUrl,
'/2.0/storage_policy_assignments/',
(toString(storagePolicyAssignmentId) as string)!,
) as string,
method: 'PUT',
headers: headersMap,
data: serializeUpdateStoragePolicyAssignmentByIdRequestBody(
requestBody,
),
contentType: 'application/json',
responseFormat: 'json' as ResponseFormat,
auth: this.auth,
networkSession: this.networkSession,
cancellationToken: cancellationToken,
}),
);
return {
...deserializeStoragePolicyAssignment(response.data!),
rawData: response.data!,
};
}
/**
* Delete a storage policy assignment.
*
* Deleting a storage policy assignment on a user
* will have the user inherit the enterprise's default
* storage policy.
*
* There is a rate limit for calling this endpoint of only
* twice per user in a 24 hour time frame.
* @param {string} storagePolicyAssignmentId The ID of the storage policy assignment.
Example: "932483"
* @param {DeleteStoragePolicyAssignmentByIdOptionalsInput} optionalsInput
* @returns {Promise<undefined>}
*/
async deleteStoragePolicyAssignmentById(
storagePolicyAssignmentId: string,
optionalsInput: DeleteStoragePolicyAssignmentByIdOptionalsInput = {},
): Promise<undefined> {
const optionals: DeleteStoragePolicyAssignmentByIdOptionals =
new DeleteStoragePolicyAssignmentByIdOptionals({
headers: optionalsInput.headers,
cancellationToken: optionalsInput.cancellationToken,
});
const headers: any = optionals.headers;
const cancellationToken: any = optionals.cancellationToken;
const headersMap: {
readonly [key: string]: string;
} = prepareParams({ ...{}, ...headers.extraHeaders });
const response: FetchResponse =
await this.networkSession.networkClient.fetch(
new FetchOptions({
url: ''.concat(
this.networkSession.baseUrls.baseUrl,
'/2.0/storage_policy_assignments/',
(toString(storagePolicyAssignmentId) as string)!,
) as string,
method: 'DELETE',
headers: headersMap,
responseFormat: 'no_content' as ResponseFormat,
auth: this.auth,
networkSession: this.networkSession,
cancellationToken: cancellationToken,
}),
);
return void 0;
}
}
export interface StoragePolicyAssignmentsManagerInput {
readonly auth?: Authentication;
readonly networkSession?: NetworkSession;
}
export function serializeGetStoragePolicyAssignmentsQueryParamsResolvedForTypeField(
val: GetStoragePolicyAssignmentsQueryParamsResolvedForTypeField,
): SerializedData {
return val;
}
export function deserializeGetStoragePolicyAssignmentsQueryParamsResolvedForTypeField(
val: SerializedData,
): GetStoragePolicyAssignmentsQueryParamsResolvedForTypeField {
if (val == 'user') {
return val;
}
if (val == 'enterprise') {
return val;
}
if (sdIsString(val)) {
return val;
}
throw new BoxSdkError({
message:
"Can't deserialize GetStoragePolicyAssignmentsQueryParamsResolvedForTypeField",
});
}
export function serializeCreateStoragePolicyAssignmentRequestBodyStoragePolicyTypeField(
val: CreateStoragePolicyAssignmentRequestBodyStoragePolicyTypeField,
): SerializedData {
return val;
}
export function deserializeCreateStoragePolicyAssignmentRequestBodyStoragePolicyTypeField(
val: SerializedData,
): CreateStoragePolicyAssignmentRequestBodyStoragePolicyTypeField {
if (val == 'storage_policy') {
return val;
}
throw new BoxSdkError({
message:
"Can't deserialize CreateStoragePolicyAssignmentRequestBodyStoragePolicyTypeField",
});
}
export function serializeCreateStoragePolicyAssignmentRequestBodyStoragePolicyField(
val: CreateStoragePolicyAssignmentRequestBodyStoragePolicyField,
): SerializedData {
return {
['type']:
serializeCreateStoragePolicyAssignmentRequestBodyStoragePolicyTypeField(
val.type,
),
['id']: val.id,
};
}
export function deserializeCreateStoragePolicyAssignmentRequestBodyStoragePolicyField(
val: SerializedData,
): CreateStoragePolicyAssignmentRequestBodyStoragePolicyField {
if (!sdIsMap(val)) {
throw new BoxSdkError({
message:
'Expecting a map for "CreateStoragePolicyAssignmentRequestBodyStoragePolicyField"',
});
}
if (val.type == void 0) {
throw new BoxSdkError({
message:
'Expecting "type" of type "CreateStoragePolicyAssignmentRequestBodyStoragePolicyField" to be defined',
});
}
const type: CreateStoragePolicyAssignmentRequestBodyStoragePolicyTypeField =
deserializeCreateStoragePolicyAssignmentRequestBodyStoragePolicyTypeField(
val.type,
);
if (val.id == void 0) {
throw new BoxSdkError({
message:
'Expecting "id" of type "CreateStoragePolicyAssignmentRequestBodyStoragePolicyField" to be defined',
});
}
if (!sdIsString(val.id)) {
throw new BoxSdkError({
message:
'Expecting string for "id" of type "CreateStoragePolicyAssignmentRequestBodyStoragePolicyField"',
});
}
const id: string = val.id;
return {
type: type,
id: id,
} satisfies CreateStoragePolicyAssignmentRequestBodyStoragePolicyField;
}
export function serializeCreateStoragePolicyAssignmentRequestBodyStoragePolicyFieldInput(
val: CreateStoragePolicyAssignmentRequestBodyStoragePolicyFieldInput,
): SerializedData {
return {
['type']:
val.type == void 0
? val.type
: serializeCreateStoragePolicyAssignmentRequestBodyStoragePolicyTypeField(
val.type,
),
['id']: val.id,
};
}
export function deserializeCreateStoragePolicyAssignmentRequestBodyStoragePolicyFieldInput(
val: SerializedData,
): CreateStoragePolicyAssignmentRequestBodyStoragePolicyFieldInput {
if (!sdIsMap(val)) {
throw new BoxSdkError({
message:
'Expecting a map for "CreateStoragePolicyAssignmentRequestBodyStoragePolicyFieldInput"',
});
}
const type:
| undefined
| CreateStoragePolicyAssignmentRequestBodyStoragePolicyTypeField =
val.type == void 0
? void 0
: deserializeCreateStoragePolicyAssignmentRequestBodyStoragePolicyTypeField(
val.type,
);
if (val.id == void 0) {
throw new BoxSdkError({
message:
'Expecting "id" of type "CreateStoragePolicyAssignmentRequestBodyStoragePolicyFieldInput" to be defined',
});
}
if (!sdIsString(val.id)) {
throw new BoxSdkError({
message:
'Expecting string for "id" of type "CreateStoragePolicyAssignmentRequestBodyStoragePolicyFieldInput"',
});
}
const id: string = val.id;
return {
type: type,
id: id,
} satisfies CreateStoragePolicyAssignmentRequestBodyStoragePolicyFieldInput;
}
export function serializeCreateStoragePolicyAssignmentRequestBodyAssignedToTypeField(
val: CreateStoragePolicyAssignmentRequestBodyAssignedToTypeField,
): SerializedData {
return val;
}
export function deserializeCreateStoragePolicyAssignmentRequestBodyAssignedToTypeField(
val: SerializedData,
): CreateStoragePolicyAssignmentRequestBodyAssignedToTypeField {
if (val == 'user') {
return val;
}
if (val == 'enterprise') {
return val;
}
throw new BoxSdkError({
message:
"Can't deserialize CreateStoragePolicyAssignmentRequestBodyAssignedToTypeField",
});
}
export function serializeCreateStoragePolicyAssignmentRequestBodyAssignedToField(
val: CreateStoragePolicyAssignmentRequestBodyAssignedToField,
): SerializedData {
return {
['type']:
serializeCreateStoragePolicyAssignmentRequestBodyAssignedToTypeField(
val.type,
),
['id']: val.id,
};
}
export function deserializeCreateStoragePolicyAssignmentRequestBodyAssignedToField(
val: SerializedData,
): CreateStoragePolicyAssignmentRequestBodyAssignedToField {
if (!sdIsMap(val)) {
throw new BoxSdkError({
message:
'Expecting a map for "CreateStoragePolicyAssignmentRequestBodyAssignedToField"',
});
}
if (val.type == void 0) {
throw new BoxSdkError({
message:
'Expecting "type" of type "CreateStoragePolicyAssignmentRequestBodyAssignedToField" to be defined',
});
}
const type: CreateStoragePolicyAssignmentRequestBodyAssignedToTypeField =
deserializeCreateStoragePolicyAssignmentRequestBodyAssignedToTypeField(
val.type,
);
if (val.id == void 0) {
throw new BoxSdkError({
message:
'Expecting "id" of type "CreateStoragePolicyAssignmentRequestBodyAssignedToField" to be defined',
});
}
if (!sdIsString(val.id)) {
throw new BoxSdkError({
message:
'Expecting string for "id" of type "CreateStoragePolicyAssignmentRequestBodyAssignedToField"',
});
}
const id: string = val.id;
return {
type: type,
id: id,
} satisfies CreateStoragePolicyAssignmentRequestBodyAssignedToField;
}
export function serializeCreateStoragePolicyAssignmentRequestBody(
val: CreateStoragePolicyAssignmentRequestBody,
): SerializedData {
return {
['storage_policy']:
serializeCreateStoragePolicyAssignmentRequestBodyStoragePolicyField(
val.storagePolicy,
),
['assigned_to']:
serializeCreateStoragePolicyAssignmentRequestBodyAssignedToField(
val.assignedTo,
),
};
}
export function deserializeCreateStoragePolicyAssignmentRequestBody(
val: SerializedData,
): CreateStoragePolicyAssignmentRequestBody {
if (!sdIsMap(val)) {
throw new BoxSdkError({
message: 'Expecting a map for "CreateStoragePolicyAssignmentRequestBody"',
});
}
if (val.storage_policy == void 0) {
throw new BoxSdkError({
message:
'Expecting "storage_policy" of type "CreateStoragePolicyAssignmentRequestBody" to be defined',
});
}
const storagePolicy: CreateStoragePolicyAssignmentRequestBodyStoragePolicyField =
deserializeCreateStoragePolicyAssignmentRequestBodyStoragePolicyField(
val.storage_policy,
);
if (val.assigned_to == void 0) {
throw new BoxSdkError({
message:
'Expecting "assigned_to" of type "CreateStoragePolicyAssignmentRequestBody" to be defined',
});
}
const assignedTo: CreateStoragePolicyAssignmentRequestBodyAssignedToField =
deserializeCreateStoragePolicyAssignmentRequestBodyAssignedToField(
val.assigned_to,
);
return {
storagePolicy: storagePolicy,
assignedTo: assignedTo,
} satisfies CreateStoragePolicyAssignmentRequestBody;
}
export function serializeUpdateStoragePolicyAssignmentByIdRequestBodyStoragePolicyTypeField(
val: UpdateStoragePolicyAssignmentByIdRequestBodyStoragePolicyTypeField,
): SerializedData {
return val;
}
export function deserializeUpdateStoragePolicyAssignmentByIdRequestBodyStoragePolicyTypeField(
val: SerializedData,
): UpdateStoragePolicyAssignmentByIdRequestBodyStoragePolicyTypeField {
if (val == 'storage_policy') {
return val;
}
throw new BoxSdkError({
message:
"Can't deserialize UpdateStoragePolicyAssignmentByIdRequestBodyStoragePolicyTypeField",
});
}
export function serializeUpdateStoragePolicyAssignmentByIdRequestBodyStoragePolicyField(
val: UpdateStoragePolicyAssignmentByIdRequestBodyStoragePolicyField,
): SerializedData {
return {
['type']:
serializeUpdateStoragePolicyAssignmentByIdRequestBodyStoragePolicyTypeField(
val.type,
),
['id']: val.id,
};
}
export function deserializeUpdateStoragePolicyAssignmentByIdRequestBodyStoragePolicyField(
val: SerializedData,
): UpdateStoragePolicyAssignmentByIdRequestBodyStoragePolicyField {
if (!sdIsMap(val)) {
throw new BoxSdkError({
message:
'Expecting a map for "UpdateStoragePolicyAssignmentByIdRequestBodyStoragePolicyField"',
});
}
if (val.type == void 0) {
throw new BoxSdkError({
message:
'Expecting "type" of type "UpdateStoragePolicyAssignmentByIdRequestBodyStoragePolicyField" to be defined',
});
}
const type: UpdateStoragePolicyAssignmentByIdRequestBodyStoragePolicyTypeField =
deserializeUpdateStoragePolicyAssignmentByIdRequestBodyStoragePolicyTypeField(
val.type,
);
if (val.id == void 0) {
throw new BoxSdkError({
message:
'Expecting "id" of type "UpdateStoragePolicyAssignmentByIdRequestBodyStoragePolicyField" to be defined',
});
}
if (!sdIsString(val.id)) {
throw new BoxSdkError({
message:
'Expecting string for "id" of type "UpdateStoragePolicyAssignmentByIdRequestBodyStoragePolicyField"',
});
}
const id: string = val.id;
return {
type: type,
id: id,
} satisfies UpdateStoragePolicyAssignmentByIdRequestBodyStoragePolicyField;
}
export function serializeUpdateStoragePolicyAssignmentByIdRequestBodyStoragePolicyFieldInput(
val: UpdateStoragePolicyAssignmentByIdRequestBodyStoragePolicyFieldInput,
): SerializedData {
return {
['type']:
val.type == void 0
? val.type
: serializeUpdateStoragePolicyAssignmentByIdRequestBodyStoragePolicyTypeField(
val.type,
),
['id']: val.id,
};
}
export function deserializeUpdateStoragePolicyAssignmentByIdRequestBodyStoragePolicyFieldInput(
val: SerializedData,
): UpdateStoragePolicyAssignmentByIdRequestBodyStoragePolicyFieldInput {
if (!sdIsMap(val)) {
throw new BoxSdkError({
message:
'Expecting a map for "UpdateStoragePolicyAssignmentByIdRequestBodyStoragePolicyFieldInput"',
});
}
const type:
| undefined
| UpdateStoragePolicyAssignmentByIdRequestBodyStoragePolicyTypeField =
val.type == void 0
? void 0
: deserializeUpdateStoragePolicyAssignmentByIdRequestBodyStoragePolicyTypeField(
val.type,
);
if (val.id == void 0) {
throw new BoxSdkError({
message:
'Expecting "id" of type "UpdateStoragePolicyAssignmentByIdRequestBodyStoragePolicyFieldInput" to be defined',
});
}
if (!sdIsString(val.id)) {
throw new BoxSdkError({
message:
'Expecting string for "id" of type "UpdateStoragePolicyAssignmentByIdRequestBodyStoragePolicyFieldInput"',
});
}
const id: string = val.id;
return {
type: type,
id: id,
} satisfies UpdateStoragePolicyAssignmentByIdRequestBodyStoragePolicyFieldInput;
}
export function serializeUpdateStoragePolicyAssignmentByIdRequestBody(
val: UpdateStoragePolicyAssignmentByIdRequestBody,
): SerializedData {
return {
['storage_policy']:
serializeUpdateStoragePolicyAssignmentByIdRequestBodyStoragePolicyField(
val.storagePolicy,
),
};
}
export function deserializeUpdateStoragePolicyAssignmentByIdRequestBody(
val: SerializedData,
): UpdateStoragePolicyAssignmentByIdRequestBody {
if (!sdIsMap(val)) {
throw new BoxSdkError({
message:
'Expecting a map for "UpdateStoragePolicyAssignmentByIdRequestBody"',
});
}
if (val.storage_policy == void 0) {
throw new BoxSdkError({
message:
'Expecting "storage_policy" of type "UpdateStoragePolicyAssignmentByIdRequestBody" to be defined',
});
}
const storagePolicy: UpdateStoragePolicyAssignmentByIdRequestBodyStoragePolicyField =
deserializeUpdateStoragePolicyAssignmentByIdRequestBodyStoragePolicyField(
val.storage_policy,
);
return {
storagePolicy: storagePolicy,
} satisfies UpdateStoragePolicyAssignmentByIdRequestBody;
}