box-node-sdk
Version:
Official SDK for Box Platform APIs
179 lines (178 loc) • 6.53 kB
text/typescript
import { serializeUserOrGroupReferenceV2025R0 } from './userOrGroupReferenceV2025R0';
import { deserializeUserOrGroupReferenceV2025R0 } from './userOrGroupReferenceV2025R0';
import { UserOrGroupReferenceV2025R0 } from './userOrGroupReferenceV2025R0';
import { BoxSdkError } from '../../box/errors';
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 interface EnterpriseFeatureSettingV2025R0FeatureField {
/**
* The identifier of the feature. */
readonly id?: string | null;
readonly rawData?: SerializedData;
}
export interface EnterpriseFeatureSettingV2025R0 {
/**
* The identifier of the enterprise feature setting. */
readonly id?: string | null;
/**
* The feature. */
readonly feature?: EnterpriseFeatureSettingV2025R0FeatureField;
/**
* The state of the feature. */
readonly state?: string | null;
/**
* Whether the feature can be configured. */
readonly canConfigure?: boolean | null;
/**
* Whether the feature is configured. */
readonly isConfigured?: boolean | null;
/**
* Enterprise feature setting is enabled for only this set of users and groups. */
readonly allowlist?: readonly UserOrGroupReferenceV2025R0[] | null;
/**
* Enterprise feature setting is enabled for everyone except this set of users and groups. */
readonly denylist?: readonly UserOrGroupReferenceV2025R0[] | null;
readonly rawData?: SerializedData;
}
export function serializeEnterpriseFeatureSettingV2025R0FeatureField(
val: EnterpriseFeatureSettingV2025R0FeatureField,
): SerializedData {
return { ['id']: val.id };
}
export function deserializeEnterpriseFeatureSettingV2025R0FeatureField(
val: SerializedData,
): EnterpriseFeatureSettingV2025R0FeatureField {
if (!sdIsMap(val)) {
throw new BoxSdkError({
message:
'Expecting a map for "EnterpriseFeatureSettingV2025R0FeatureField"',
});
}
if (!(val.id == void 0) && !sdIsString(val.id)) {
throw new BoxSdkError({
message:
'Expecting string for "id" of type "EnterpriseFeatureSettingV2025R0FeatureField"',
});
}
const id: undefined | string = val.id == void 0 ? void 0 : val.id;
return { id: id } satisfies EnterpriseFeatureSettingV2025R0FeatureField;
}
export function serializeEnterpriseFeatureSettingV2025R0(
val: EnterpriseFeatureSettingV2025R0,
): SerializedData {
return {
['id']: val.id,
['feature']:
val.feature == void 0
? val.feature
: serializeEnterpriseFeatureSettingV2025R0FeatureField(val.feature),
['state']: val.state,
['can_configure']: val.canConfigure,
['is_configured']: val.isConfigured,
['allowlist']:
val.allowlist == void 0
? val.allowlist
: (val.allowlist.map(function (
item: UserOrGroupReferenceV2025R0,
): SerializedData {
return serializeUserOrGroupReferenceV2025R0(item);
}) as readonly any[]),
['denylist']:
val.denylist == void 0
? val.denylist
: (val.denylist.map(function (
item: UserOrGroupReferenceV2025R0,
): SerializedData {
return serializeUserOrGroupReferenceV2025R0(item);
}) as readonly any[]),
};
}
export function deserializeEnterpriseFeatureSettingV2025R0(
val: SerializedData,
): EnterpriseFeatureSettingV2025R0 {
if (!sdIsMap(val)) {
throw new BoxSdkError({
message: 'Expecting a map for "EnterpriseFeatureSettingV2025R0"',
});
}
if (!(val.id == void 0) && !sdIsString(val.id)) {
throw new BoxSdkError({
message:
'Expecting string for "id" of type "EnterpriseFeatureSettingV2025R0"',
});
}
const id: undefined | string = val.id == void 0 ? void 0 : val.id;
const feature: undefined | EnterpriseFeatureSettingV2025R0FeatureField =
val.feature == void 0
? void 0
: deserializeEnterpriseFeatureSettingV2025R0FeatureField(val.feature);
if (!(val.state == void 0) && !sdIsString(val.state)) {
throw new BoxSdkError({
message:
'Expecting string for "state" of type "EnterpriseFeatureSettingV2025R0"',
});
}
const state: undefined | string = val.state == void 0 ? void 0 : val.state;
if (!(val.can_configure == void 0) && !sdIsBoolean(val.can_configure)) {
throw new BoxSdkError({
message:
'Expecting boolean for "can_configure" of type "EnterpriseFeatureSettingV2025R0"',
});
}
const canConfigure: undefined | boolean =
val.can_configure == void 0 ? void 0 : val.can_configure;
if (!(val.is_configured == void 0) && !sdIsBoolean(val.is_configured)) {
throw new BoxSdkError({
message:
'Expecting boolean for "is_configured" of type "EnterpriseFeatureSettingV2025R0"',
});
}
const isConfigured: undefined | boolean =
val.is_configured == void 0 ? void 0 : val.is_configured;
if (!(val.allowlist == void 0) && !sdIsList(val.allowlist)) {
throw new BoxSdkError({
message:
'Expecting array for "allowlist" of type "EnterpriseFeatureSettingV2025R0"',
});
}
const allowlist: undefined | readonly UserOrGroupReferenceV2025R0[] =
val.allowlist == void 0
? void 0
: sdIsList(val.allowlist)
? (val.allowlist.map(function (
itm: SerializedData,
): UserOrGroupReferenceV2025R0 {
return deserializeUserOrGroupReferenceV2025R0(itm);
}) as readonly any[])
: [];
if (!(val.denylist == void 0) && !sdIsList(val.denylist)) {
throw new BoxSdkError({
message:
'Expecting array for "denylist" of type "EnterpriseFeatureSettingV2025R0"',
});
}
const denylist: undefined | readonly UserOrGroupReferenceV2025R0[] =
val.denylist == void 0
? void 0
: sdIsList(val.denylist)
? (val.denylist.map(function (
itm: SerializedData,
): UserOrGroupReferenceV2025R0 {
return deserializeUserOrGroupReferenceV2025R0(itm);
}) as readonly any[])
: [];
return {
id: id,
feature: feature,
state: state,
canConfigure: canConfigure,
isConfigured: isConfigured,
allowlist: allowlist,
denylist: denylist,
} satisfies EnterpriseFeatureSettingV2025R0;
}