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

box / box-typescript-sdk-gen / 8286001390

14 Mar 2024 06:42PM UTC coverage: 43.903% (+1.9%) from 42.003%
8286001390

Pull #90

github

web-flow
Merge 85fa69f1e into 14e115481
Pull Request #90: feat: use getDiscriminatorsForUnion in generic serialization (box/box-codegen#448)

2293 of 9072 branches covered (25.28%)

Branch coverage included in aggregate %.

347 of 405 new or added lines in 17 files covered. (85.68%)

187 existing lines in 6 files now uncovered.

7226 of 12610 relevant lines covered (57.3%)

68.16 hits per line

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

39.53
/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]: string;
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?: {
8✔
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);
8✔
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?: {
8✔
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);
8✔
187
  }
188
}
189
export class MetadataTemplatesManager {
136✔
190
  readonly auth?: Authentication;
191
  readonly networkSession: NetworkSession = new NetworkSession({});
258✔
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);
258✔
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,
8✔
311
    templateKey: string,
312
    headers: DeleteMetadataTemplateHeaders = new DeleteMetadataTemplateHeaders(
8✔
313
      {}
314
    ),
315
    cancellationToken?: CancellationToken
316
  ): Promise<undefined> {
317
    const headersMap: {
318
      readonly [key: string]: string;
319
    } = prepareParams({ ...{}, ...headers.extraHeaders });
8✔
320
    const response: FetchResponse = (await fetch(
8✔
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;
6✔
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,
8✔
435
    headers: CreateMetadataTemplateHeaders = new CreateMetadataTemplateHeaders(
8✔
436
      {}
437
    ),
438
    cancellationToken?: CancellationToken
439
  ): Promise<MetadataTemplate> {
440
    const headersMap: {
441
      readonly [key: string]: string;
442
    } = prepareParams({ ...{}, ...headers.extraHeaders });
8✔
443
    const response: FetchResponse = (await fetch(
8✔
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);
8✔
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']: val.data == void 0 ? void 0 : val.data,
2!
567
    ['fieldKey']: val.fieldKey == void 0 ? void 0 : val.fieldKey,
2!
568
    ['fieldKeys']:
569
      val.fieldKeys == void 0
2!
570
        ? void 0
571
        : (val.fieldKeys.map(function (item: string): any {
572
            return item;
×
573
          }) as readonly any[]),
574
    ['enumOptionKey']: val.enumOptionKey == void 0 ? void 0 : val.enumOptionKey,
2!
575
    ['enumOptionKeys']:
576
      val.enumOptionKeys == void 0
2!
577
        ? void 0
578
        : (val.enumOptionKeys.map(function (item: string): any {
579
            return item;
×
580
          }) as readonly any[]),
581
    ['multiSelectOptionKey']:
582
      val.multiSelectOptionKey == void 0 ? void 0 : val.multiSelectOptionKey,
2!
583
    ['multiSelectOptionKeys']:
584
      val.multiSelectOptionKeys == void 0
2!
585
        ? void 0
586
        : (val.multiSelectOptionKeys.map(function (item: string): any {
587
            return item;
×
588
          }) as readonly any[]),
589
  };
590
}
591
export function deserializeUpdateMetadataTemplateRequestBody(
136✔
592
  val: any
593
): UpdateMetadataTemplateRequestBody {
594
  const op: UpdateMetadataTemplateRequestBodyOpField =
595
    deserializeUpdateMetadataTemplateRequestBodyOpField(val.op);
×
596
  const data:
597
    | undefined
598
    | {
599
        readonly [key: string]: string;
600
      } = val.data == void 0 ? void 0 : val.data;
×
601
  const fieldKey: undefined | string =
602
    val.fieldKey == void 0 ? void 0 : val.fieldKey;
×
603
  const fieldKeys: undefined | readonly string[] =
604
    val.fieldKeys == void 0
×
605
      ? void 0
606
      : sdIsList(val.fieldKeys)
×
607
      ? (val.fieldKeys.map(function (itm: SerializedData): any {
608
          return itm;
×
609
        }) as readonly any[])
610
      : [];
611
  const enumOptionKey: undefined | string =
612
    val.enumOptionKey == void 0 ? void 0 : val.enumOptionKey;
×
613
  const enumOptionKeys: undefined | readonly string[] =
614
    val.enumOptionKeys == void 0
×
615
      ? void 0
616
      : sdIsList(val.enumOptionKeys)
×
617
      ? (val.enumOptionKeys.map(function (itm: SerializedData): any {
618
          return itm;
×
619
        }) as readonly any[])
620
      : [];
621
  const multiSelectOptionKey: undefined | string =
622
    val.multiSelectOptionKey == void 0 ? void 0 : val.multiSelectOptionKey;
×
623
  const multiSelectOptionKeys: undefined | readonly string[] =
624
    val.multiSelectOptionKeys == void 0
×
625
      ? void 0
626
      : sdIsList(val.multiSelectOptionKeys)
×
627
      ? (val.multiSelectOptionKeys.map(function (itm: SerializedData): any {
628
          return itm;
×
629
        }) as readonly any[])
630
      : [];
631
  return {
×
632
    op: op,
633
    data: data,
634
    fieldKey: fieldKey,
635
    fieldKeys: fieldKeys,
636
    enumOptionKey: enumOptionKey,
637
    enumOptionKeys: enumOptionKeys,
638
    multiSelectOptionKey: multiSelectOptionKey,
639
    multiSelectOptionKeys: multiSelectOptionKeys,
640
  } satisfies UpdateMetadataTemplateRequestBody;
641
}
642
export function serializeDeleteMetadataTemplateScope(val: any): SerializedData {
136✔
UNCOV
643
  return val;
×
644
}
645
export function deserializeDeleteMetadataTemplateScope(
136✔
646
  val: any
647
): DeleteMetadataTemplateScope {
648
  if (!sdIsString(val)) {
×
649
    throw new BoxSdkError({
×
650
      message: 'Expecting a string for "DeleteMetadataTemplateScope"',
651
    });
652
  }
653
  if (val == 'global') {
×
654
    return 'global';
×
655
  }
656
  if (val == 'enterprise') {
×
657
    return 'enterprise';
×
658
  }
659
  throw new BoxSdkError({
×
660
    message: ''.concat('Invalid value: ', val) as string,
661
  });
662
}
663
export function serializeCreateMetadataTemplateRequestBodyFieldsTypeField(
136✔
664
  val: any
665
): SerializedData {
666
  return val;
8✔
667
}
668
export function deserializeCreateMetadataTemplateRequestBodyFieldsTypeField(
136✔
669
  val: any
670
): CreateMetadataTemplateRequestBodyFieldsTypeField {
671
  if (!sdIsString(val)) {
×
672
    throw new BoxSdkError({
×
673
      message:
674
        'Expecting a string for "CreateMetadataTemplateRequestBodyFieldsTypeField"',
675
    });
676
  }
677
  if (val == 'string') {
×
678
    return 'string';
×
679
  }
680
  if (val == 'float') {
×
681
    return 'float';
×
682
  }
683
  if (val == 'date') {
×
684
    return 'date';
×
685
  }
686
  if (val == 'enum') {
×
687
    return 'enum';
×
688
  }
689
  if (val == 'multiSelect') {
×
690
    return 'multiSelect';
×
691
  }
692
  throw new BoxSdkError({
×
693
    message: ''.concat('Invalid value: ', val) as string,
694
  });
695
}
696
export function serializeCreateMetadataTemplateRequestBodyFieldsOptionsField(
136✔
697
  val: any
698
): SerializedData {
699
  return { ['key']: val.key };
×
700
}
701
export function deserializeCreateMetadataTemplateRequestBodyFieldsOptionsField(
136✔
702
  val: any
703
): CreateMetadataTemplateRequestBodyFieldsOptionsField {
704
  const key: string = val.key;
×
705
  return {
×
706
    key: key,
707
  } satisfies CreateMetadataTemplateRequestBodyFieldsOptionsField;
708
}
709
export function serializeCreateMetadataTemplateRequestBodyFieldsField(
136✔
710
  val: any
711
): SerializedData {
712
  return {
8✔
713
    ['type']: serializeCreateMetadataTemplateRequestBodyFieldsTypeField(
714
      val.type
715
    ),
716
    ['key']: val.key,
717
    ['displayName']: val.displayName,
718
    ['description']: val.description == void 0 ? void 0 : val.description,
8!
719
    ['hidden']: val.hidden == void 0 ? void 0 : val.hidden,
8!
720
    ['options']:
721
      val.options == void 0
8!
722
        ? void 0
723
        : (val.options.map(function (
724
            item: CreateMetadataTemplateRequestBodyFieldsOptionsField
725
          ): any {
726
            return serializeCreateMetadataTemplateRequestBodyFieldsOptionsField(
×
727
              item
728
            );
729
          }) as readonly any[]),
730
  };
731
}
732
export function deserializeCreateMetadataTemplateRequestBodyFieldsField(
136✔
733
  val: any
734
): CreateMetadataTemplateRequestBodyFieldsField {
735
  const type: CreateMetadataTemplateRequestBodyFieldsTypeField =
736
    deserializeCreateMetadataTemplateRequestBodyFieldsTypeField(val.type);
×
737
  const key: string = val.key;
×
738
  const displayName: string = val.displayName;
×
739
  const description: undefined | string =
740
    val.description == void 0 ? void 0 : val.description;
×
741
  const hidden: undefined | boolean =
742
    val.hidden == void 0 ? void 0 : val.hidden;
×
743
  const options:
744
    | undefined
745
    | readonly CreateMetadataTemplateRequestBodyFieldsOptionsField[] =
746
    val.options == void 0
×
747
      ? void 0
748
      : sdIsList(val.options)
×
749
      ? (val.options.map(function (itm: SerializedData): any {
750
          return deserializeCreateMetadataTemplateRequestBodyFieldsOptionsField(
×
751
            itm
752
          );
753
        }) as readonly any[])
754
      : [];
755
  return {
×
756
    type: type,
757
    key: key,
758
    displayName: displayName,
759
    description: description,
760
    hidden: hidden,
761
    options: options,
762
  } satisfies CreateMetadataTemplateRequestBodyFieldsField;
763
}
764
export function serializeCreateMetadataTemplateRequestBody(
136✔
765
  val: any
766
): SerializedData {
767
  return {
8✔
768
    ['scope']: val.scope,
769
    ['templateKey']: val.templateKey == void 0 ? void 0 : val.templateKey,
8!
770
    ['displayName']: val.displayName,
771
    ['hidden']: val.hidden == void 0 ? void 0 : val.hidden,
8!
772
    ['fields']:
773
      val.fields == void 0
8!
774
        ? void 0
775
        : (val.fields.map(function (
776
            item: CreateMetadataTemplateRequestBodyFieldsField
777
          ): any {
778
            return serializeCreateMetadataTemplateRequestBodyFieldsField(item);
8✔
779
          }) as readonly any[]),
780
    ['copyInstanceOnItemCopy']:
781
      val.copyInstanceOnItemCopy == void 0
8!
782
        ? void 0
783
        : val.copyInstanceOnItemCopy,
784
  };
785
}
786
export function deserializeCreateMetadataTemplateRequestBody(
136✔
787
  val: any
788
): CreateMetadataTemplateRequestBody {
789
  const scope: string = val.scope;
×
790
  const templateKey: undefined | string =
791
    val.templateKey == void 0 ? void 0 : val.templateKey;
×
792
  const displayName: string = val.displayName;
×
793
  const hidden: undefined | boolean =
794
    val.hidden == void 0 ? void 0 : val.hidden;
×
795
  const fields:
796
    | undefined
797
    | readonly CreateMetadataTemplateRequestBodyFieldsField[] =
798
    val.fields == void 0
×
799
      ? void 0
800
      : sdIsList(val.fields)
×
801
      ? (val.fields.map(function (itm: SerializedData): any {
802
          return deserializeCreateMetadataTemplateRequestBodyFieldsField(itm);
×
803
        }) as readonly any[])
804
      : [];
805
  const copyInstanceOnItemCopy: undefined | boolean =
806
    val.copyInstanceOnItemCopy == void 0 ? void 0 : val.copyInstanceOnItemCopy;
×
807
  return {
×
808
    scope: scope,
809
    templateKey: templateKey,
810
    displayName: displayName,
811
    hidden: hidden,
812
    fields: fields,
813
    copyInstanceOnItemCopy: copyInstanceOnItemCopy,
814
  } satisfies CreateMetadataTemplateRequestBody;
815
}
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