• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

box / box-typescript-sdk-gen / 8298652836

15 Mar 2024 03:31PM UTC coverage: 43.864% (+1.9%) from 42.003%
8298652836

Pull #97

github

web-flow
Merge ef32e8277 into 14e115481
Pull Request #97: feat: Support `additionalProperties` of type any in Python and TS (box/box-codegen#453)

2288 of 9072 branches covered (25.22%)

Branch coverage included in aggregate %.

355 of 416 new or added lines in 17 files covered. (85.34%)

186 existing lines in 5 files now uncovered.

7226 of 12618 relevant lines covered (57.27%)

68.63 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

40.92
/src/managers/metadataTemplates.generated.ts
1
import { serializeMetadataTemplates } from '../schemas.generated.js';
2
import { deserializeMetadataTemplates } from '../schemas.generated.js';
136✔
3
import { serializeClientError } from '../schemas.generated.js';
4
import { deserializeClientError } from '../schemas.generated.js';
5
import { serializeMetadataTemplate } from '../schemas.generated.js';
6
import { deserializeMetadataTemplate } from '../schemas.generated.js';
136✔
7
import { MetadataTemplates } from '../schemas.generated.js';
8
import { ClientError } from '../schemas.generated.js';
9
import { MetadataTemplate } from '../schemas.generated.js';
10
import { Authentication } from '../networking/auth.generated.js';
11
import { NetworkSession } from '../networking/network.generated.js';
136✔
12
import { prepareParams } from '../internal/utils.js';
136✔
13
import { toString } from '../internal/utils.js';
136✔
14
import { ByteStream } from '../internal/utils.js';
15
import { CancellationToken } from '../internal/utils.js';
16
import { sdToJson } from '../serialization/json.js';
17
import { FetchOptions } from '../networking/fetch.js';
18
import { FetchResponse } from '../networking/fetch.js';
19
import { fetch } from '../networking/fetch.js';
136✔
20
import { SerializedData } from '../serialization/json.js';
21
import { BoxSdkError } from '../box/errors.js';
136✔
22
import { sdIsEmpty } from '../serialization/json.js';
23
import { sdIsBoolean } from '../serialization/json.js';
24
import { sdIsNumber } from '../serialization/json.js';
25
import { sdIsString } from '../serialization/json.js';
136✔
26
import { sdIsList } from '../serialization/json.js';
136✔
27
import { sdIsMap } from '../serialization/json.js';
28
export interface GetMetadataTemplatesByInstanceIdQueryParams {
29
  readonly metadataInstanceId: string;
30
}
31
export class GetMetadataTemplatesByInstanceIdHeaders {
136✔
32
  readonly extraHeaders?: {
2✔
33
    readonly [key: string]: undefined | string;
34
  } = {};
35
  constructor(
36
    fields:
37
      | Omit<GetMetadataTemplatesByInstanceIdHeaders, 'extraHeaders'>
38
      | Partial<Pick<GetMetadataTemplatesByInstanceIdHeaders, 'extraHeaders'>>
39
  ) {
40
    Object.assign(this, fields);
2✔
41
  }
42
}
43
export type GetMetadataTemplateScope = 'global' | 'enterprise';
44
export class GetMetadataTemplateHeaders {
136✔
45
  readonly extraHeaders?: {
2✔
46
    readonly [key: string]: undefined | string;
47
  } = {};
48
  constructor(
49
    fields:
50
      | Omit<GetMetadataTemplateHeaders, 'extraHeaders'>
51
      | Partial<Pick<GetMetadataTemplateHeaders, 'extraHeaders'>>
52
  ) {
53
    Object.assign(this, fields);
2✔
54
  }
55
}
56
export type UpdateMetadataTemplateScope = 'global' | 'enterprise';
57
export type UpdateMetadataTemplateRequestBodyOpField =
58
  | 'editTemplate'
59
  | 'addField'
60
  | 'reorderFields'
61
  | 'addEnumOption'
62
  | 'reorderEnumOptions'
63
  | 'reorderMultiSelectOptions'
64
  | 'addMultiSelectOption'
65
  | 'editField'
66
  | 'removeField'
67
  | 'editEnumOption'
68
  | 'removeEnumOption'
69
  | 'editMultiSelectOption'
70
  | 'removeMultiSelectOption';
71
export interface UpdateMetadataTemplateRequestBody {
72
  readonly op: UpdateMetadataTemplateRequestBodyOpField;
73
  readonly data?: {
74
    readonly [key: string]: any;
75
  };
76
  readonly fieldKey?: string;
77
  readonly fieldKeys?: readonly string[];
78
  readonly enumOptionKey?: string;
79
  readonly enumOptionKeys?: readonly string[];
80
  readonly multiSelectOptionKey?: string;
81
  readonly multiSelectOptionKeys?: readonly string[];
82
}
83
export class UpdateMetadataTemplateHeaders {
136✔
84
  readonly extraHeaders?: {
2✔
85
    readonly [key: string]: undefined | string;
86
  } = {};
87
  constructor(
88
    fields:
89
      | Omit<UpdateMetadataTemplateHeaders, 'extraHeaders'>
90
      | Partial<Pick<UpdateMetadataTemplateHeaders, 'extraHeaders'>>
91
  ) {
92
    Object.assign(this, fields);
2✔
93
  }
94
}
95
export type DeleteMetadataTemplateScope = 'global' | 'enterprise';
96
export class DeleteMetadataTemplateHeaders {
136✔
97
  readonly extraHeaders?: {
12✔
98
    readonly [key: string]: undefined | string;
99
  } = {};
100
  constructor(
101
    fields:
102
      | Omit<DeleteMetadataTemplateHeaders, 'extraHeaders'>
103
      | Partial<Pick<DeleteMetadataTemplateHeaders, 'extraHeaders'>>
104
  ) {
105
    Object.assign(this, fields);
12✔
106
  }
107
}
108
export class GetMetadataTemplateByIdHeaders {
136✔
109
  readonly extraHeaders?: {
2✔
110
    readonly [key: string]: undefined | string;
111
  } = {};
112
  constructor(
113
    fields:
114
      | Omit<GetMetadataTemplateByIdHeaders, 'extraHeaders'>
115
      | Partial<Pick<GetMetadataTemplateByIdHeaders, 'extraHeaders'>>
116
  ) {
117
    Object.assign(this, fields);
2✔
118
  }
119
}
120
export interface GetGlobalMetadataTemplatesQueryParams {
121
  readonly marker?: string;
122
  readonly limit?: number;
123
}
124
export class GetGlobalMetadataTemplatesHeaders {
136✔
125
  readonly extraHeaders?: {
2✔
126
    readonly [key: string]: undefined | string;
127
  } = {};
128
  constructor(
129
    fields:
130
      | Omit<GetGlobalMetadataTemplatesHeaders, 'extraHeaders'>
131
      | Partial<Pick<GetGlobalMetadataTemplatesHeaders, 'extraHeaders'>>
132
  ) {
133
    Object.assign(this, fields);
2✔
134
  }
135
}
136
export interface GetEnterpriseMetadataTemplatesQueryParams {
137
  readonly marker?: string;
138
  readonly limit?: number;
139
}
140
export class GetEnterpriseMetadataTemplatesHeaders {
136✔
141
  readonly extraHeaders?: {
2✔
142
    readonly [key: string]: undefined | string;
143
  } = {};
144
  constructor(
145
    fields:
146
      | Omit<GetEnterpriseMetadataTemplatesHeaders, 'extraHeaders'>
147
      | Partial<Pick<GetEnterpriseMetadataTemplatesHeaders, 'extraHeaders'>>
148
  ) {
149
    Object.assign(this, fields);
2✔
150
  }
151
}
152
export type CreateMetadataTemplateRequestBodyFieldsTypeField =
153
  | 'string'
154
  | 'float'
155
  | 'date'
156
  | 'enum'
157
  | 'multiSelect';
158
export interface CreateMetadataTemplateRequestBodyFieldsOptionsField {
159
  readonly key: string;
160
}
161
export interface CreateMetadataTemplateRequestBodyFieldsField {
162
  readonly type: CreateMetadataTemplateRequestBodyFieldsTypeField;
163
  readonly key: string;
164
  readonly displayName: string;
165
  readonly description?: string;
166
  readonly hidden?: boolean;
167
  readonly options?: readonly CreateMetadataTemplateRequestBodyFieldsOptionsField[];
168
}
169
export interface CreateMetadataTemplateRequestBody {
170
  readonly scope: string;
171
  readonly templateKey?: string;
172
  readonly displayName: string;
173
  readonly hidden?: boolean;
174
  readonly fields?: readonly CreateMetadataTemplateRequestBodyFieldsField[];
175
  readonly copyInstanceOnItemCopy?: boolean;
176
}
177
export class CreateMetadataTemplateHeaders {
136✔
178
  readonly extraHeaders?: {
12✔
179
    readonly [key: string]: undefined | string;
180
  } = {};
181
  constructor(
182
    fields:
183
      | Omit<CreateMetadataTemplateHeaders, 'extraHeaders'>
184
      | Partial<Pick<CreateMetadataTemplateHeaders, 'extraHeaders'>>
185
  ) {
186
    Object.assign(this, fields);
12✔
187
  }
188
}
189
export class MetadataTemplatesManager {
136✔
190
  readonly auth?: Authentication;
191
  readonly networkSession: NetworkSession = new NetworkSession({});
262✔
192
  constructor(
193
    fields:
194
      | Omit<
195
          MetadataTemplatesManager,
196
          | 'networkSession'
197
          | 'getMetadataTemplatesByInstanceId'
198
          | 'getMetadataTemplate'
199
          | 'updateMetadataTemplate'
200
          | 'deleteMetadataTemplate'
201
          | 'getMetadataTemplateById'
202
          | 'getGlobalMetadataTemplates'
203
          | 'getEnterpriseMetadataTemplates'
204
          | 'createMetadataTemplate'
205
        >
206
      | Partial<Pick<MetadataTemplatesManager, 'networkSession'>>
207
  ) {
208
    Object.assign(this, fields);
262✔
209
  }
210
  async getMetadataTemplatesByInstanceId(
211
    queryParams: GetMetadataTemplatesByInstanceIdQueryParams,
2✔
212
    headers: GetMetadataTemplatesByInstanceIdHeaders = new GetMetadataTemplatesByInstanceIdHeaders(
2✔
213
      {}
214
    ),
215
    cancellationToken?: CancellationToken
216
  ): Promise<MetadataTemplates> {
217
    const queryParamsMap: {
218
      readonly [key: string]: string;
219
    } = prepareParams({
2✔
220
      ['metadata_instance_id']: toString(
221
        queryParams.metadataInstanceId
222
      ) as string,
223
    });
224
    const headersMap: {
225
      readonly [key: string]: string;
226
    } = prepareParams({ ...{}, ...headers.extraHeaders });
2✔
227
    const response: FetchResponse = (await fetch(
2✔
228
      ''.concat(
229
        this.networkSession.baseUrls.baseUrl,
230
        '/metadata_templates'
231
      ) as string,
232
      {
233
        method: 'GET',
234
        params: queryParamsMap,
235
        headers: headersMap,
236
        responseFormat: 'json',
237
        auth: this.auth,
238
        networkSession: this.networkSession,
239
        cancellationToken: cancellationToken,
240
      } satisfies FetchOptions
241
    )) as FetchResponse;
242
    return deserializeMetadataTemplates(response.data);
2✔
243
  }
244
  async getMetadataTemplate(
245
    scope: GetMetadataTemplateScope,
2✔
246
    templateKey: string,
247
    headers: GetMetadataTemplateHeaders = new GetMetadataTemplateHeaders({}),
2✔
248
    cancellationToken?: CancellationToken
249
  ): Promise<MetadataTemplate> {
250
    const headersMap: {
251
      readonly [key: string]: string;
252
    } = prepareParams({ ...{}, ...headers.extraHeaders });
2✔
253
    const response: FetchResponse = (await fetch(
2✔
254
      ''.concat(
255
        this.networkSession.baseUrls.baseUrl,
256
        '/metadata_templates/',
257
        toString(scope) as string,
258
        '/',
259
        toString(templateKey) as string,
260
        '/schema'
261
      ) as string,
262
      {
263
        method: 'GET',
264
        headers: headersMap,
265
        responseFormat: 'json',
266
        auth: this.auth,
267
        networkSession: this.networkSession,
268
        cancellationToken: cancellationToken,
269
      } satisfies FetchOptions
270
    )) as FetchResponse;
271
    return deserializeMetadataTemplate(response.data);
2✔
272
  }
273
  async updateMetadataTemplate(
274
    scope: UpdateMetadataTemplateScope,
2✔
275
    templateKey: string,
276
    requestBody: readonly UpdateMetadataTemplateRequestBody[],
277
    headers: UpdateMetadataTemplateHeaders = new UpdateMetadataTemplateHeaders(
2✔
278
      {}
279
    ),
280
    cancellationToken?: CancellationToken
281
  ): Promise<MetadataTemplate> {
282
    const headersMap: {
283
      readonly [key: string]: string;
284
    } = prepareParams({ ...{}, ...headers.extraHeaders });
2✔
285
    const response: FetchResponse = (await fetch(
2✔
286
      ''.concat(
287
        this.networkSession.baseUrls.baseUrl,
288
        '/metadata_templates/',
289
        toString(scope) as string,
290
        '/',
291
        toString(templateKey) as string,
292
        '/schema'
293
      ) as string,
294
      {
295
        method: 'PUT',
296
        headers: headersMap,
297
        data: requestBody.map(
298
          serializeUpdateMetadataTemplateRequestBody
299
        ) as readonly any[],
300
        contentType: 'application/json-patch+json',
301
        responseFormat: 'json',
302
        auth: this.auth,
303
        networkSession: this.networkSession,
304
        cancellationToken: cancellationToken,
305
      } satisfies FetchOptions
306
    )) as FetchResponse;
307
    return deserializeMetadataTemplate(response.data);
2✔
308
  }
309
  async deleteMetadataTemplate(
310
    scope: DeleteMetadataTemplateScope,
12✔
311
    templateKey: string,
312
    headers: DeleteMetadataTemplateHeaders = new DeleteMetadataTemplateHeaders(
12✔
313
      {}
314
    ),
315
    cancellationToken?: CancellationToken
316
  ): Promise<undefined> {
317
    const headersMap: {
318
      readonly [key: string]: string;
319
    } = prepareParams({ ...{}, ...headers.extraHeaders });
12✔
320
    const response: FetchResponse = (await fetch(
12✔
321
      ''.concat(
322
        this.networkSession.baseUrls.baseUrl,
323
        '/metadata_templates/',
324
        toString(scope) as string,
325
        '/',
326
        toString(templateKey) as string,
327
        '/schema'
328
      ) as string,
329
      {
330
        method: 'DELETE',
331
        headers: headersMap,
332
        responseFormat: void 0,
333
        auth: this.auth,
334
        networkSession: this.networkSession,
335
        cancellationToken: cancellationToken,
336
      } satisfies FetchOptions
337
    )) as FetchResponse;
338
    return void 0;
10✔
339
  }
340
  async getMetadataTemplateById(
341
    templateId: string,
2✔
342
    headers: GetMetadataTemplateByIdHeaders = new GetMetadataTemplateByIdHeaders(
2✔
343
      {}
344
    ),
345
    cancellationToken?: CancellationToken
346
  ): Promise<MetadataTemplate> {
347
    const headersMap: {
348
      readonly [key: string]: string;
349
    } = prepareParams({ ...{}, ...headers.extraHeaders });
2✔
350
    const response: FetchResponse = (await fetch(
2✔
351
      ''.concat(
352
        this.networkSession.baseUrls.baseUrl,
353
        '/metadata_templates/',
354
        toString(templateId) as string
355
      ) as string,
356
      {
357
        method: 'GET',
358
        headers: headersMap,
359
        responseFormat: 'json',
360
        auth: this.auth,
361
        networkSession: this.networkSession,
362
        cancellationToken: cancellationToken,
363
      } satisfies FetchOptions
364
    )) as FetchResponse;
365
    return deserializeMetadataTemplate(response.data);
2✔
366
  }
367
  async getGlobalMetadataTemplates(
368
    queryParams: GetGlobalMetadataTemplatesQueryParams = {} satisfies GetGlobalMetadataTemplatesQueryParams,
2✔
369
    headers: GetGlobalMetadataTemplatesHeaders = new GetGlobalMetadataTemplatesHeaders(
2✔
370
      {}
371
    ),
372
    cancellationToken?: CancellationToken
373
  ): Promise<MetadataTemplates> {
374
    const queryParamsMap: {
375
      readonly [key: string]: string;
376
    } = prepareParams({
2✔
377
      ['marker']: toString(queryParams.marker) as string,
378
      ['limit']: toString(queryParams.limit) as string,
379
    });
380
    const headersMap: {
381
      readonly [key: string]: string;
382
    } = prepareParams({ ...{}, ...headers.extraHeaders });
2✔
383
    const response: FetchResponse = (await fetch(
2✔
384
      ''.concat(
385
        this.networkSession.baseUrls.baseUrl,
386
        '/metadata_templates/global'
387
      ) as string,
388
      {
389
        method: 'GET',
390
        params: queryParamsMap,
391
        headers: headersMap,
392
        responseFormat: 'json',
393
        auth: this.auth,
394
        networkSession: this.networkSession,
395
        cancellationToken: cancellationToken,
396
      } satisfies FetchOptions
397
    )) as FetchResponse;
398
    return deserializeMetadataTemplates(response.data);
2✔
399
  }
400
  async getEnterpriseMetadataTemplates(
401
    queryParams: GetEnterpriseMetadataTemplatesQueryParams = {} satisfies GetEnterpriseMetadataTemplatesQueryParams,
2✔
402
    headers: GetEnterpriseMetadataTemplatesHeaders = new GetEnterpriseMetadataTemplatesHeaders(
2✔
403
      {}
404
    ),
405
    cancellationToken?: CancellationToken
406
  ): Promise<MetadataTemplates> {
407
    const queryParamsMap: {
408
      readonly [key: string]: string;
409
    } = prepareParams({
2✔
410
      ['marker']: toString(queryParams.marker) as string,
411
      ['limit']: toString(queryParams.limit) as string,
412
    });
413
    const headersMap: {
414
      readonly [key: string]: string;
415
    } = prepareParams({ ...{}, ...headers.extraHeaders });
2✔
416
    const response: FetchResponse = (await fetch(
2✔
417
      ''.concat(
418
        this.networkSession.baseUrls.baseUrl,
419
        '/metadata_templates/enterprise'
420
      ) as string,
421
      {
422
        method: 'GET',
423
        params: queryParamsMap,
424
        headers: headersMap,
425
        responseFormat: 'json',
426
        auth: this.auth,
427
        networkSession: this.networkSession,
428
        cancellationToken: cancellationToken,
429
      } satisfies FetchOptions
430
    )) as FetchResponse;
431
    return deserializeMetadataTemplates(response.data);
2✔
432
  }
433
  async createMetadataTemplate(
434
    requestBody: CreateMetadataTemplateRequestBody,
12✔
435
    headers: CreateMetadataTemplateHeaders = new CreateMetadataTemplateHeaders(
12✔
436
      {}
437
    ),
438
    cancellationToken?: CancellationToken
439
  ): Promise<MetadataTemplate> {
440
    const headersMap: {
441
      readonly [key: string]: string;
442
    } = prepareParams({ ...{}, ...headers.extraHeaders });
12✔
443
    const response: FetchResponse = (await fetch(
12✔
444
      ''.concat(
445
        this.networkSession.baseUrls.baseUrl,
446
        '/metadata_templates/schema'
447
      ) as string,
448
      {
449
        method: 'POST',
450
        headers: headersMap,
451
        data: serializeCreateMetadataTemplateRequestBody(requestBody),
452
        contentType: 'application/json',
453
        responseFormat: 'json',
454
        auth: this.auth,
455
        networkSession: this.networkSession,
456
        cancellationToken: cancellationToken,
457
      } satisfies FetchOptions
458
    )) as FetchResponse;
459
    return deserializeMetadataTemplate(response.data);
12✔
460
  }
461
}
462
export function serializeGetMetadataTemplateScope(val: any): SerializedData {
136✔
UNCOV
463
  return val;
×
464
}
465
export function deserializeGetMetadataTemplateScope(
136✔
466
  val: any
467
): GetMetadataTemplateScope {
468
  if (!sdIsString(val)) {
×
469
    throw new BoxSdkError({
×
470
      message: 'Expecting a string for "GetMetadataTemplateScope"',
471
    });
472
  }
473
  if (val == 'global') {
×
474
    return 'global';
×
475
  }
476
  if (val == 'enterprise') {
×
477
    return 'enterprise';
×
478
  }
479
  throw new BoxSdkError({
×
480
    message: ''.concat('Invalid value: ', val) as string,
481
  });
482
}
483
export function serializeUpdateMetadataTemplateScope(val: any): SerializedData {
136✔
UNCOV
484
  return val;
×
485
}
486
export function deserializeUpdateMetadataTemplateScope(
136✔
487
  val: any
488
): UpdateMetadataTemplateScope {
489
  if (!sdIsString(val)) {
×
490
    throw new BoxSdkError({
×
491
      message: 'Expecting a string for "UpdateMetadataTemplateScope"',
492
    });
493
  }
494
  if (val == 'global') {
×
495
    return 'global';
×
496
  }
497
  if (val == 'enterprise') {
×
498
    return 'enterprise';
×
499
  }
500
  throw new BoxSdkError({
×
501
    message: ''.concat('Invalid value: ', val) as string,
502
  });
503
}
504
export function serializeUpdateMetadataTemplateRequestBodyOpField(
136✔
505
  val: any
506
): SerializedData {
507
  return val;
2✔
508
}
509
export function deserializeUpdateMetadataTemplateRequestBodyOpField(
136✔
510
  val: any
511
): UpdateMetadataTemplateRequestBodyOpField {
512
  if (!sdIsString(val)) {
×
513
    throw new BoxSdkError({
×
514
      message:
515
        'Expecting a string for "UpdateMetadataTemplateRequestBodyOpField"',
516
    });
517
  }
518
  if (val == 'editTemplate') {
×
519
    return 'editTemplate';
×
520
  }
521
  if (val == 'addField') {
×
522
    return 'addField';
×
523
  }
524
  if (val == 'reorderFields') {
×
525
    return 'reorderFields';
×
526
  }
527
  if (val == 'addEnumOption') {
×
528
    return 'addEnumOption';
×
529
  }
530
  if (val == 'reorderEnumOptions') {
×
531
    return 'reorderEnumOptions';
×
532
  }
533
  if (val == 'reorderMultiSelectOptions') {
×
534
    return 'reorderMultiSelectOptions';
×
535
  }
536
  if (val == 'addMultiSelectOption') {
×
537
    return 'addMultiSelectOption';
×
538
  }
539
  if (val == 'editField') {
×
540
    return 'editField';
×
541
  }
542
  if (val == 'removeField') {
×
543
    return 'removeField';
×
544
  }
545
  if (val == 'editEnumOption') {
×
546
    return 'editEnumOption';
×
547
  }
548
  if (val == 'removeEnumOption') {
×
549
    return 'removeEnumOption';
×
550
  }
551
  if (val == 'editMultiSelectOption') {
×
552
    return 'editMultiSelectOption';
×
553
  }
554
  if (val == 'removeMultiSelectOption') {
×
555
    return 'removeMultiSelectOption';
×
556
  }
557
  throw new BoxSdkError({
×
558
    message: ''.concat('Invalid value: ', val) as string,
559
  });
560
}
561
export function serializeUpdateMetadataTemplateRequestBody(
136✔
562
  val: any
563
): SerializedData {
564
  return {
2✔
565
    ['op']: serializeUpdateMetadataTemplateRequestBodyOpField(val.op),
566
    ['data']:
567
      val.data == void 0
2!
568
        ? void 0
569
        : (Object.fromEntries(
570
            Object.entries(val.data).map(([k, v]: [string, any]) => [
4✔
571
              k,
572
              (function (v: any): any {
573
                return v;
4✔
574
              })(v),
575
            ])
576
          ) as {
577
            readonly [key: string]: any;
578
          }),
579
    ['fieldKey']: val.fieldKey == void 0 ? void 0 : val.fieldKey,
2!
580
    ['fieldKeys']:
581
      val.fieldKeys == void 0
2!
582
        ? void 0
583
        : (val.fieldKeys.map(function (item: string): any {
584
            return item;
×
585
          }) as readonly any[]),
586
    ['enumOptionKey']: val.enumOptionKey == void 0 ? void 0 : val.enumOptionKey,
2!
587
    ['enumOptionKeys']:
588
      val.enumOptionKeys == void 0
2!
589
        ? void 0
590
        : (val.enumOptionKeys.map(function (item: string): any {
591
            return item;
×
592
          }) as readonly any[]),
593
    ['multiSelectOptionKey']:
594
      val.multiSelectOptionKey == void 0 ? void 0 : val.multiSelectOptionKey,
2!
595
    ['multiSelectOptionKeys']:
596
      val.multiSelectOptionKeys == void 0
2!
597
        ? void 0
598
        : (val.multiSelectOptionKeys.map(function (item: string): any {
599
            return item;
×
600
          }) as readonly any[]),
601
  };
602
}
603
export function deserializeUpdateMetadataTemplateRequestBody(
136✔
604
  val: any
605
): UpdateMetadataTemplateRequestBody {
606
  const op: UpdateMetadataTemplateRequestBodyOpField =
607
    deserializeUpdateMetadataTemplateRequestBodyOpField(val.op);
×
608
  const data:
609
    | undefined
610
    | {
611
        readonly [key: string]: any;
612
      } = val.data == void 0 ? void 0 : val.data;
×
613
  const fieldKey: undefined | string =
614
    val.fieldKey == void 0 ? void 0 : val.fieldKey;
×
615
  const fieldKeys: undefined | readonly string[] =
616
    val.fieldKeys == void 0
×
617
      ? void 0
618
      : sdIsList(val.fieldKeys)
×
619
      ? (val.fieldKeys.map(function (itm: SerializedData): any {
620
          return itm;
×
621
        }) as readonly any[])
622
      : [];
623
  const enumOptionKey: undefined | string =
624
    val.enumOptionKey == void 0 ? void 0 : val.enumOptionKey;
×
625
  const enumOptionKeys: undefined | readonly string[] =
626
    val.enumOptionKeys == void 0
×
627
      ? void 0
628
      : sdIsList(val.enumOptionKeys)
×
629
      ? (val.enumOptionKeys.map(function (itm: SerializedData): any {
630
          return itm;
×
631
        }) as readonly any[])
632
      : [];
633
  const multiSelectOptionKey: undefined | string =
634
    val.multiSelectOptionKey == void 0 ? void 0 : val.multiSelectOptionKey;
×
635
  const multiSelectOptionKeys: undefined | readonly string[] =
636
    val.multiSelectOptionKeys == void 0
×
637
      ? void 0
638
      : sdIsList(val.multiSelectOptionKeys)
×
639
      ? (val.multiSelectOptionKeys.map(function (itm: SerializedData): any {
640
          return itm;
×
641
        }) as readonly any[])
642
      : [];
643
  return {
×
644
    op: op,
645
    data: data,
646
    fieldKey: fieldKey,
647
    fieldKeys: fieldKeys,
648
    enumOptionKey: enumOptionKey,
649
    enumOptionKeys: enumOptionKeys,
650
    multiSelectOptionKey: multiSelectOptionKey,
651
    multiSelectOptionKeys: multiSelectOptionKeys,
652
  } satisfies UpdateMetadataTemplateRequestBody;
653
}
654
export function serializeDeleteMetadataTemplateScope(val: any): SerializedData {
136✔
UNCOV
655
  return val;
×
656
}
657
export function deserializeDeleteMetadataTemplateScope(
136✔
658
  val: any
659
): DeleteMetadataTemplateScope {
660
  if (!sdIsString(val)) {
×
661
    throw new BoxSdkError({
×
662
      message: 'Expecting a string for "DeleteMetadataTemplateScope"',
663
    });
664
  }
665
  if (val == 'global') {
×
666
    return 'global';
×
667
  }
668
  if (val == 'enterprise') {
×
669
    return 'enterprise';
×
670
  }
671
  throw new BoxSdkError({
×
672
    message: ''.concat('Invalid value: ', val) as string,
673
  });
674
}
675
export function serializeCreateMetadataTemplateRequestBodyFieldsTypeField(
136✔
676
  val: any
677
): SerializedData {
678
  return val;
28✔
679
}
680
export function deserializeCreateMetadataTemplateRequestBodyFieldsTypeField(
136✔
681
  val: any
682
): CreateMetadataTemplateRequestBodyFieldsTypeField {
683
  if (!sdIsString(val)) {
×
684
    throw new BoxSdkError({
×
685
      message:
686
        'Expecting a string for "CreateMetadataTemplateRequestBodyFieldsTypeField"',
687
    });
688
  }
689
  if (val == 'string') {
×
690
    return 'string';
×
691
  }
692
  if (val == 'float') {
×
693
    return 'float';
×
694
  }
695
  if (val == 'date') {
×
696
    return 'date';
×
697
  }
698
  if (val == 'enum') {
×
699
    return 'enum';
×
700
  }
701
  if (val == 'multiSelect') {
×
702
    return 'multiSelect';
×
703
  }
704
  throw new BoxSdkError({
×
705
    message: ''.concat('Invalid value: ', val) as string,
706
  });
707
}
708
export function serializeCreateMetadataTemplateRequestBodyFieldsOptionsField(
136✔
709
  val: any
710
): SerializedData {
711
  return { ['key']: val.key };
20✔
712
}
713
export function deserializeCreateMetadataTemplateRequestBodyFieldsOptionsField(
136✔
714
  val: any
715
): CreateMetadataTemplateRequestBodyFieldsOptionsField {
716
  const key: string = val.key;
×
717
  return {
×
718
    key: key,
719
  } satisfies CreateMetadataTemplateRequestBodyFieldsOptionsField;
720
}
721
export function serializeCreateMetadataTemplateRequestBodyFieldsField(
136✔
722
  val: any
723
): SerializedData {
724
  return {
28✔
725
    ['type']: serializeCreateMetadataTemplateRequestBodyFieldsTypeField(
726
      val.type
727
    ),
728
    ['key']: val.key,
729
    ['displayName']: val.displayName,
730
    ['description']: val.description == void 0 ? void 0 : val.description,
28!
731
    ['hidden']: val.hidden == void 0 ? void 0 : val.hidden,
28!
732
    ['options']:
733
      val.options == void 0
28✔
734
        ? void 0
735
        : (val.options.map(function (
736
            item: CreateMetadataTemplateRequestBodyFieldsOptionsField
737
          ): any {
738
            return serializeCreateMetadataTemplateRequestBodyFieldsOptionsField(
20✔
739
              item
740
            );
741
          }) as readonly any[]),
742
  };
743
}
744
export function deserializeCreateMetadataTemplateRequestBodyFieldsField(
136✔
745
  val: any
746
): CreateMetadataTemplateRequestBodyFieldsField {
747
  const type: CreateMetadataTemplateRequestBodyFieldsTypeField =
748
    deserializeCreateMetadataTemplateRequestBodyFieldsTypeField(val.type);
×
749
  const key: string = val.key;
×
750
  const displayName: string = val.displayName;
×
751
  const description: undefined | string =
752
    val.description == void 0 ? void 0 : val.description;
×
753
  const hidden: undefined | boolean =
754
    val.hidden == void 0 ? void 0 : val.hidden;
×
755
  const options:
756
    | undefined
757
    | readonly CreateMetadataTemplateRequestBodyFieldsOptionsField[] =
758
    val.options == void 0
×
759
      ? void 0
760
      : sdIsList(val.options)
×
761
      ? (val.options.map(function (itm: SerializedData): any {
762
          return deserializeCreateMetadataTemplateRequestBodyFieldsOptionsField(
×
763
            itm
764
          );
765
        }) as readonly any[])
766
      : [];
767
  return {
×
768
    type: type,
769
    key: key,
770
    displayName: displayName,
771
    description: description,
772
    hidden: hidden,
773
    options: options,
774
  } satisfies CreateMetadataTemplateRequestBodyFieldsField;
775
}
776
export function serializeCreateMetadataTemplateRequestBody(
136✔
777
  val: any
778
): SerializedData {
779
  return {
12✔
780
    ['scope']: val.scope,
781
    ['templateKey']: val.templateKey == void 0 ? void 0 : val.templateKey,
12!
782
    ['displayName']: val.displayName,
783
    ['hidden']: val.hidden == void 0 ? void 0 : val.hidden,
12!
784
    ['fields']:
785
      val.fields == void 0
12!
786
        ? void 0
787
        : (val.fields.map(function (
788
            item: CreateMetadataTemplateRequestBodyFieldsField
789
          ): any {
790
            return serializeCreateMetadataTemplateRequestBodyFieldsField(item);
28✔
791
          }) as readonly any[]),
792
    ['copyInstanceOnItemCopy']:
793
      val.copyInstanceOnItemCopy == void 0
12!
794
        ? void 0
795
        : val.copyInstanceOnItemCopy,
796
  };
797
}
798
export function deserializeCreateMetadataTemplateRequestBody(
136✔
799
  val: any
800
): CreateMetadataTemplateRequestBody {
801
  const scope: string = val.scope;
×
802
  const templateKey: undefined | string =
803
    val.templateKey == void 0 ? void 0 : val.templateKey;
×
804
  const displayName: string = val.displayName;
×
805
  const hidden: undefined | boolean =
806
    val.hidden == void 0 ? void 0 : val.hidden;
×
807
  const fields:
808
    | undefined
809
    | readonly CreateMetadataTemplateRequestBodyFieldsField[] =
810
    val.fields == void 0
×
811
      ? void 0
812
      : sdIsList(val.fields)
×
813
      ? (val.fields.map(function (itm: SerializedData): any {
814
          return deserializeCreateMetadataTemplateRequestBodyFieldsField(itm);
×
815
        }) as readonly any[])
816
      : [];
817
  const copyInstanceOnItemCopy: undefined | boolean =
818
    val.copyInstanceOnItemCopy == void 0 ? void 0 : val.copyInstanceOnItemCopy;
×
819
  return {
×
820
    scope: scope,
821
    templateKey: templateKey,
822
    displayName: displayName,
823
    hidden: hidden,
824
    fields: fields,
825
    copyInstanceOnItemCopy: copyInstanceOnItemCopy,
826
  } satisfies CreateMetadataTemplateRequestBody;
827
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc