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

box / box-typescript-sdk-gen / 12870156465

20 Jan 2025 02:28PM UTC coverage: 42.419%. First build
12870156465

push

github

web-flow
feat: Use extensible enums (box/box-codegen#639) (#487)

3990 of 15999 branches covered (24.94%)

Branch coverage included in aggregate %.

0 of 408 new or added lines in 104 files covered. (0.0%)

14249 of 26998 relevant lines covered (52.78%)

93.02 hits per line

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

34.52
/src/managers/sharedLinksFiles.generated.ts
1
import { serializeFileFull } from '../schemas/fileFull.generated.js';
2
import { deserializeFileFull } from '../schemas/fileFull.generated.js';
144✔
3
import { serializeClientError } from '../schemas/clientError.generated.js';
4
import { deserializeClientError } from '../schemas/clientError.generated.js';
5
import { serializeDateTime } from '../internal/utils.js';
144✔
6
import { deserializeDateTime } from '../internal/utils.js';
144✔
7
import { ResponseFormat } from '../networking/fetchOptions.generated.js';
8
import { FileFull } from '../schemas/fileFull.generated.js';
9
import { ClientError } from '../schemas/clientError.generated.js';
10
import { BoxSdkError } from '../box/errors.js';
144✔
11
import { Authentication } from '../networking/auth.generated.js';
12
import { NetworkSession } from '../networking/network.generated.js';
144✔
13
import { FetchOptions } from '../networking/fetchOptions.generated.js';
144✔
14
import { FetchResponse } from '../networking/fetchResponse.generated.js';
15
import { prepareParams } from '../internal/utils.js';
144✔
16
import { toString } from '../internal/utils.js';
144✔
17
import { ByteStream } from '../internal/utils.js';
18
import { CancellationToken } from '../internal/utils.js';
19
import { sdToJson } from '../serialization/json.js';
20
import { SerializedData } from '../serialization/json.js';
21
import { DateTime } from '../internal/utils.js';
22
import { sdIsEmpty } from '../serialization/json.js';
23
import { sdIsBoolean } from '../serialization/json.js';
144✔
24
import { sdIsNumber } from '../serialization/json.js';
25
import { sdIsString } from '../serialization/json.js';
144✔
26
import { sdIsList } from '../serialization/json.js';
27
import { sdIsMap } from '../serialization/json.js';
144✔
28
export class FindFileForSharedLinkOptionals {
144✔
29
  readonly cancellationToken?: CancellationToken = void 0;
4✔
30
  constructor(
31
    fields: Omit<FindFileForSharedLinkOptionals, 'cancellationToken'> &
32
      Partial<Pick<FindFileForSharedLinkOptionals, 'cancellationToken'>>,
33
  ) {
34
    if (fields.cancellationToken !== undefined) {
4!
35
      this.cancellationToken = fields.cancellationToken;
×
36
    }
37
  }
38
}
39
export interface FindFileForSharedLinkOptionalsInput {
40
  readonly cancellationToken?: undefined | CancellationToken;
41
}
42
export class GetSharedLinkForFileOptionals {
144✔
43
  readonly headers: GetSharedLinkForFileHeaders =
2✔
44
    new GetSharedLinkForFileHeaders({});
45
  readonly cancellationToken?: CancellationToken = void 0;
2✔
46
  constructor(
47
    fields: Omit<
48
      GetSharedLinkForFileOptionals,
49
      'headers' | 'cancellationToken'
50
    > &
51
      Partial<
52
        Pick<GetSharedLinkForFileOptionals, 'headers' | 'cancellationToken'>
53
      >,
54
  ) {
55
    if (fields.headers !== undefined) {
2!
56
      this.headers = fields.headers;
×
57
    }
58
    if (fields.cancellationToken !== undefined) {
2!
59
      this.cancellationToken = fields.cancellationToken;
×
60
    }
61
  }
62
}
63
export interface GetSharedLinkForFileOptionalsInput {
64
  readonly headers?: GetSharedLinkForFileHeaders;
65
  readonly cancellationToken?: undefined | CancellationToken;
66
}
67
export class AddShareLinkToFileOptionals {
144✔
68
  readonly headers: AddShareLinkToFileHeaders = new AddShareLinkToFileHeaders(
2✔
69
    {},
70
  );
71
  readonly cancellationToken?: CancellationToken = void 0;
2✔
72
  constructor(
73
    fields: Omit<AddShareLinkToFileOptionals, 'headers' | 'cancellationToken'> &
74
      Partial<
75
        Pick<AddShareLinkToFileOptionals, 'headers' | 'cancellationToken'>
76
      >,
77
  ) {
78
    if (fields.headers !== undefined) {
2!
79
      this.headers = fields.headers;
×
80
    }
81
    if (fields.cancellationToken !== undefined) {
2!
82
      this.cancellationToken = fields.cancellationToken;
×
83
    }
84
  }
85
}
86
export interface AddShareLinkToFileOptionalsInput {
87
  readonly headers?: AddShareLinkToFileHeaders;
88
  readonly cancellationToken?: undefined | CancellationToken;
89
}
90
export class UpdateSharedLinkOnFileOptionals {
144✔
91
  readonly headers: UpdateSharedLinkOnFileHeaders =
2✔
92
    new UpdateSharedLinkOnFileHeaders({});
93
  readonly cancellationToken?: CancellationToken = void 0;
2✔
94
  constructor(
95
    fields: Omit<
96
      UpdateSharedLinkOnFileOptionals,
97
      'headers' | 'cancellationToken'
98
    > &
99
      Partial<
100
        Pick<UpdateSharedLinkOnFileOptionals, 'headers' | 'cancellationToken'>
101
      >,
102
  ) {
103
    if (fields.headers !== undefined) {
2!
104
      this.headers = fields.headers;
×
105
    }
106
    if (fields.cancellationToken !== undefined) {
2!
107
      this.cancellationToken = fields.cancellationToken;
×
108
    }
109
  }
110
}
111
export interface UpdateSharedLinkOnFileOptionalsInput {
112
  readonly headers?: UpdateSharedLinkOnFileHeaders;
113
  readonly cancellationToken?: undefined | CancellationToken;
114
}
115
export class RemoveSharedLinkFromFileOptionals {
144✔
116
  readonly headers: RemoveSharedLinkFromFileHeaders =
×
117
    new RemoveSharedLinkFromFileHeaders({});
118
  readonly cancellationToken?: CancellationToken = void 0;
×
119
  constructor(
120
    fields: Omit<
121
      RemoveSharedLinkFromFileOptionals,
122
      'headers' | 'cancellationToken'
123
    > &
124
      Partial<
125
        Pick<RemoveSharedLinkFromFileOptionals, 'headers' | 'cancellationToken'>
126
      >,
127
  ) {
128
    if (fields.headers !== undefined) {
×
129
      this.headers = fields.headers;
×
130
    }
131
    if (fields.cancellationToken !== undefined) {
×
132
      this.cancellationToken = fields.cancellationToken;
×
133
    }
134
  }
135
}
136
export interface RemoveSharedLinkFromFileOptionalsInput {
137
  readonly headers?: RemoveSharedLinkFromFileHeaders;
138
  readonly cancellationToken?: undefined | CancellationToken;
139
}
140
export interface FindFileForSharedLinkQueryParams {
141
  /**
142
   * A comma-separated list of attributes to include in the
143
   * response. This can be used to request fields that are
144
   * not normally returned in a standard response.
145
   *
146
   * Be aware that specifying this parameter will have the
147
   * effect that none of the standard fields are returned in
148
   * the response unless explicitly specified, instead only
149
   * fields for the mini representation are returned, additional
150
   * to the fields requested. */
151
  readonly fields?: readonly string[];
152
}
153
export class FindFileForSharedLinkHeaders {
144✔
154
  /**
155
   * Ensures an item is only returned if it has changed.
156
   *
157
   * Pass in the item's last observed `etag` value
158
   * into this header and the endpoint will fail
159
   * with a `304 Not Modified` if the item has not
160
   * changed since. */
161
  readonly ifNoneMatch?: string;
162
  /**
163
   * A header containing the shared link and optional password for the
164
   * shared link.
165
   *
166
   * The format for this header is as follows.
167
   *
168
   * `shared_link=[link]&shared_link_password=[password]` */
169
  readonly boxapi!: string;
170
  /**
171
   * Extra headers that will be included in the HTTP request. */
172
  readonly extraHeaders?: {
4✔
173
    readonly [key: string]: undefined | string;
174
  } = {};
175
  constructor(
176
    fields: Omit<FindFileForSharedLinkHeaders, 'extraHeaders'> &
177
      Partial<Pick<FindFileForSharedLinkHeaders, 'extraHeaders'>>,
178
  ) {
179
    if (fields.ifNoneMatch !== undefined) {
4!
180
      this.ifNoneMatch = fields.ifNoneMatch;
×
181
    }
182
    if (fields.boxapi !== undefined) {
4✔
183
      this.boxapi = fields.boxapi;
4✔
184
    }
185
    if (fields.extraHeaders !== undefined) {
4!
186
      this.extraHeaders = fields.extraHeaders;
×
187
    }
188
  }
189
}
190
export interface FindFileForSharedLinkHeadersInput {
191
  /**
192
   * Ensures an item is only returned if it has changed.
193
   *
194
   * Pass in the item's last observed `etag` value
195
   * into this header and the endpoint will fail
196
   * with a `304 Not Modified` if the item has not
197
   * changed since. */
198
  readonly ifNoneMatch?: string;
199
  /**
200
   * A header containing the shared link and optional password for the
201
   * shared link.
202
   *
203
   * The format for this header is as follows.
204
   *
205
   * `shared_link=[link]&shared_link_password=[password]` */
206
  readonly boxapi: string;
207
  /**
208
   * Extra headers that will be included in the HTTP request. */
209
  readonly extraHeaders?:
210
    | undefined
211
    | {
212
        readonly [key: string]: undefined | string;
213
      };
214
}
215
export interface GetSharedLinkForFileQueryParams {
216
  /**
217
   * Explicitly request the `shared_link` fields
218
   * to be returned for this item. */
219
  readonly fields: string;
220
}
221
export class GetSharedLinkForFileHeaders {
144✔
222
  /**
223
   * Extra headers that will be included in the HTTP request. */
224
  readonly extraHeaders?: {
2✔
225
    readonly [key: string]: undefined | string;
226
  } = {};
227
  constructor(
228
    fields: Omit<GetSharedLinkForFileHeaders, 'extraHeaders'> &
229
      Partial<Pick<GetSharedLinkForFileHeaders, 'extraHeaders'>>,
230
  ) {
231
    if (fields.extraHeaders !== undefined) {
2!
232
      this.extraHeaders = fields.extraHeaders;
×
233
    }
234
  }
235
}
236
export interface GetSharedLinkForFileHeadersInput {
237
  /**
238
   * Extra headers that will be included in the HTTP request. */
239
  readonly extraHeaders?:
240
    | undefined
241
    | {
242
        readonly [key: string]: undefined | string;
243
      };
244
}
245
export type AddShareLinkToFileRequestBodySharedLinkAccessField =
246
  | 'open'
247
  | 'company'
248
  | 'collaborators'
249
  | string;
250
export interface AddShareLinkToFileRequestBodySharedLinkPermissionsField {
251
  /**
252
   * If the shared link allows for downloading of files.
253
   * This can only be set when `access` is set to
254
   * `open` or `company`. */
255
  readonly canDownload?: boolean;
256
  /**
257
   * If the shared link allows for previewing of files.
258
   * This value is always `true`. For shared links on folders
259
   * this also applies to any items in the folder. */
260
  readonly canPreview?: boolean;
261
  /**
262
   * If the shared link allows for editing of files.
263
   * This can only be set when `access` is set to
264
   * `open` or `company`.
265
   * This value can only be `true` is `can_download` is
266
   * also `true`. */
267
  readonly canEdit?: boolean;
268
  readonly rawData?: SerializedData;
269
}
270
export interface AddShareLinkToFileRequestBodySharedLinkField {
271
  /**
272
   * The level of access for the shared link. This can be
273
   * restricted to anyone with the link (`open`), only people
274
   * within the company (`company`) and only those who
275
   * have been invited to the file (`collaborators`).
276
   *
277
   * If not set, this field defaults to the access level specified
278
   * by the enterprise admin. To create a shared link with this
279
   * default setting pass the `shared_link` object with
280
   * no `access` field, for example `{ "shared_link": {} }`.
281
   *
282
   * The `company` access level is only available to paid
283
   * accounts. */
284
  readonly access?: AddShareLinkToFileRequestBodySharedLinkAccessField;
285
  /**
286
   * The password required to access the shared link. Set the
287
   * password to `null` to remove it.
288
   * Passwords must now be at least eight characters
289
   * long and include a number, upper case letter, or
290
   * a non-numeric or non-alphabetic character.
291
   * A password can only be set when `access` is set to `open`. */
292
  readonly password?: string | null;
293
  /**
294
   * Defines a custom vanity name to use in the shared link URL,
295
   * for example `https://app.box.com/v/my-shared-link`.
296
   *
297
   * Custom URLs should not be used when sharing sensitive content
298
   * as vanity URLs are a lot easier to guess than regular shared
299
   * links. */
300
  readonly vanityName?: string;
301
  /**
302
   * The timestamp at which this shared link will
303
   * expire. This field can only be set by
304
   * users with paid accounts. The value must be greater than the
305
   * current date and time. */
306
  readonly unsharedAt?: DateTime;
307
  readonly permissions?: AddShareLinkToFileRequestBodySharedLinkPermissionsField;
308
  readonly rawData?: SerializedData;
309
}
310
export interface AddShareLinkToFileRequestBody {
311
  /**
312
   * The settings for the shared link to create on the file.
313
   * Use an empty object (`{}`) to use the default settings for shared
314
   * links. */
315
  readonly sharedLink?: AddShareLinkToFileRequestBodySharedLinkField;
316
  readonly rawData?: SerializedData;
317
}
318
export interface AddShareLinkToFileQueryParams {
319
  /**
320
   * Explicitly request the `shared_link` fields
321
   * to be returned for this item. */
322
  readonly fields: string;
323
}
324
export class AddShareLinkToFileHeaders {
144✔
325
  /**
326
   * Extra headers that will be included in the HTTP request. */
327
  readonly extraHeaders?: {
2✔
328
    readonly [key: string]: undefined | string;
329
  } = {};
330
  constructor(
331
    fields: Omit<AddShareLinkToFileHeaders, 'extraHeaders'> &
332
      Partial<Pick<AddShareLinkToFileHeaders, 'extraHeaders'>>,
333
  ) {
334
    if (fields.extraHeaders !== undefined) {
2!
335
      this.extraHeaders = fields.extraHeaders;
×
336
    }
337
  }
338
}
339
export interface AddShareLinkToFileHeadersInput {
340
  /**
341
   * Extra headers that will be included in the HTTP request. */
342
  readonly extraHeaders?:
343
    | undefined
344
    | {
345
        readonly [key: string]: undefined | string;
346
      };
347
}
348
export type UpdateSharedLinkOnFileRequestBodySharedLinkAccessField =
349
  | 'open'
350
  | 'company'
351
  | 'collaborators'
352
  | string;
353
export interface UpdateSharedLinkOnFileRequestBodySharedLinkPermissionsField {
354
  /**
355
   * If the shared link allows for downloading of files.
356
   * This can only be set when `access` is set to
357
   * `open` or `company`. */
358
  readonly canDownload?: boolean;
359
  /**
360
   * If the shared link allows for previewing of files.
361
   * This value is always `true`. For shared links on folders
362
   * this also applies to any items in the folder. */
363
  readonly canPreview?: boolean;
364
  /**
365
   * If the shared link allows for editing of files.
366
   * This can only be set when `access` is set to
367
   * `open` or `company`.
368
   * This value can only be `true` is `can_download` is
369
   * also `true`. */
370
  readonly canEdit?: boolean;
371
  readonly rawData?: SerializedData;
372
}
373
export interface UpdateSharedLinkOnFileRequestBodySharedLinkField {
374
  /**
375
   * The level of access for the shared link. This can be
376
   * restricted to anyone with the link (`open`), only people
377
   * within the company (`company`) and only those who
378
   * have been invited to the folder (`collaborators`).
379
   *
380
   * If not set, this field defaults to the access level specified
381
   * by the enterprise admin. To create a shared link with this
382
   * default setting pass the `shared_link` object with
383
   * no `access` field, for example `{ "shared_link": {} }`.
384
   *
385
   * The `company` access level is only available to paid
386
   * accounts. */
387
  readonly access?: UpdateSharedLinkOnFileRequestBodySharedLinkAccessField;
388
  /**
389
   * The password required to access the shared link. Set the
390
   * password to `null` to remove it.
391
   * Passwords must now be at least eight characters
392
   * long and include a number, upper case letter, or
393
   * a non-numeric or non-alphabetic character.
394
   * A password can only be set when `access` is set to `open`. */
395
  readonly password?: string | null;
396
  /**
397
   * Defines a custom vanity name to use in the shared link URL,
398
   * for example `https://app.box.com/v/my-shared-link`.
399
   *
400
   * Custom URLs should not be used when sharing sensitive content
401
   * as vanity URLs are a lot easier to guess than regular shared
402
   * links. */
403
  readonly vanityName?: string;
404
  /**
405
   * The timestamp at which this shared link will
406
   * expire. This field can only be set by
407
   * users with paid accounts. The value must be greater than the
408
   * current date and time. */
409
  readonly unsharedAt?: DateTime;
410
  readonly permissions?: UpdateSharedLinkOnFileRequestBodySharedLinkPermissionsField;
411
  readonly rawData?: SerializedData;
412
}
413
export interface UpdateSharedLinkOnFileRequestBody {
414
  /**
415
   * The settings for the shared link to update. */
416
  readonly sharedLink?: UpdateSharedLinkOnFileRequestBodySharedLinkField;
417
  readonly rawData?: SerializedData;
418
}
419
export interface UpdateSharedLinkOnFileQueryParams {
420
  /**
421
   * Explicitly request the `shared_link` fields
422
   * to be returned for this item. */
423
  readonly fields: string;
424
}
425
export class UpdateSharedLinkOnFileHeaders {
144✔
426
  /**
427
   * Extra headers that will be included in the HTTP request. */
428
  readonly extraHeaders?: {
2✔
429
    readonly [key: string]: undefined | string;
430
  } = {};
431
  constructor(
432
    fields: Omit<UpdateSharedLinkOnFileHeaders, 'extraHeaders'> &
433
      Partial<Pick<UpdateSharedLinkOnFileHeaders, 'extraHeaders'>>,
434
  ) {
435
    if (fields.extraHeaders !== undefined) {
2!
436
      this.extraHeaders = fields.extraHeaders;
×
437
    }
438
  }
439
}
440
export interface UpdateSharedLinkOnFileHeadersInput {
441
  /**
442
   * Extra headers that will be included in the HTTP request. */
443
  readonly extraHeaders?:
444
    | undefined
445
    | {
446
        readonly [key: string]: undefined | string;
447
      };
448
}
449
export interface RemoveSharedLinkFromFileRequestBodySharedLinkField {
450
  readonly rawData?: SerializedData;
451
}
452
export interface RemoveSharedLinkFromFileRequestBody {
453
  /**
454
   * By setting this value to `null`, the shared link
455
   * is removed from the file. */
456
  readonly sharedLink?: RemoveSharedLinkFromFileRequestBodySharedLinkField | null;
457
  readonly rawData?: SerializedData;
458
}
459
export interface RemoveSharedLinkFromFileQueryParams {
460
  /**
461
   * Explicitly request the `shared_link` fields
462
   * to be returned for this item. */
463
  readonly fields: string;
464
}
465
export class RemoveSharedLinkFromFileHeaders {
144✔
466
  /**
467
   * Extra headers that will be included in the HTTP request. */
468
  readonly extraHeaders?: {
×
469
    readonly [key: string]: undefined | string;
470
  } = {};
471
  constructor(
472
    fields: Omit<RemoveSharedLinkFromFileHeaders, 'extraHeaders'> &
473
      Partial<Pick<RemoveSharedLinkFromFileHeaders, 'extraHeaders'>>,
474
  ) {
475
    if (fields.extraHeaders !== undefined) {
×
476
      this.extraHeaders = fields.extraHeaders;
×
477
    }
478
  }
479
}
480
export interface RemoveSharedLinkFromFileHeadersInput {
481
  /**
482
   * Extra headers that will be included in the HTTP request. */
483
  readonly extraHeaders?:
484
    | undefined
485
    | {
486
        readonly [key: string]: undefined | string;
487
      };
488
}
489
export class SharedLinksFilesManager {
144✔
490
  readonly auth?: Authentication;
491
  readonly networkSession: NetworkSession = new NetworkSession({});
312✔
492
  constructor(
493
    fields: Omit<
494
      SharedLinksFilesManager,
495
      | 'networkSession'
496
      | 'findFileForSharedLink'
497
      | 'getSharedLinkForFile'
498
      | 'addShareLinkToFile'
499
      | 'updateSharedLinkOnFile'
500
      | 'removeSharedLinkFromFile'
501
    > &
502
      Partial<Pick<SharedLinksFilesManager, 'networkSession'>>,
503
  ) {
504
    if (fields.auth !== undefined) {
312✔
505
      this.auth = fields.auth;
312✔
506
    }
507
    if (fields.networkSession !== undefined) {
312✔
508
      this.networkSession = fields.networkSession;
312✔
509
    }
510
  }
511
  /**
512
   * Returns the file represented by a shared link.
513
   *
514
   * A shared file can be represented by a shared link,
515
   * which can originate within the current enterprise or within another.
516
   *
517
   * This endpoint allows an application to retrieve information about a
518
   * shared file when only given a shared link.
519
   *
520
   * The `shared_link_permission_options` array field can be returned
521
   * by requesting it in the `fields` query parameter.
522
   * @param {FindFileForSharedLinkQueryParams} queryParams Query parameters of findFileForSharedLink method
523
   * @param {FindFileForSharedLinkHeadersInput} headersInput Headers of findFileForSharedLink method
524
   * @param {FindFileForSharedLinkOptionalsInput} optionalsInput
525
   * @returns {Promise<FileFull>}
526
   */
527
  async findFileForSharedLink(
528
    queryParams: FindFileForSharedLinkQueryParams = {} satisfies FindFileForSharedLinkQueryParams,
4!
529
    headersInput: FindFileForSharedLinkHeadersInput,
530
    optionalsInput: FindFileForSharedLinkOptionalsInput = {},
4✔
531
  ): Promise<FileFull> {
532
    const headers: FindFileForSharedLinkHeaders =
533
      new FindFileForSharedLinkHeaders({
4✔
534
        ifNoneMatch: headersInput.ifNoneMatch,
535
        boxapi: headersInput.boxapi,
536
        extraHeaders: headersInput.extraHeaders,
537
      });
538
    const optionals: FindFileForSharedLinkOptionals =
539
      new FindFileForSharedLinkOptionals({
4✔
540
        cancellationToken: optionalsInput.cancellationToken,
541
      });
542
    const cancellationToken: any = optionals.cancellationToken;
4✔
543
    const queryParamsMap: {
544
      readonly [key: string]: string;
545
    } = prepareParams({
4✔
546
      ['fields']: queryParams.fields
4!
547
        ? queryParams.fields.map(toString).join(',')
548
        : undefined,
549
    });
550
    const headersMap: {
551
      readonly [key: string]: string;
552
    } = prepareParams({
4✔
553
      ...{
554
        ['if-none-match']: toString(headers.ifNoneMatch) as string,
555
        ['boxapi']: toString(headers.boxapi) as string,
556
      },
557
      ...headers.extraHeaders,
558
    });
559
    const response: FetchResponse =
560
      await this.networkSession.networkClient.fetch(
4✔
561
        new FetchOptions({
562
          url: ''.concat(
563
            this.networkSession.baseUrls.baseUrl,
564
            '/2.0/shared_items',
565
          ) as string,
566
          method: 'GET',
567
          params: queryParamsMap,
568
          headers: headersMap,
569
          responseFormat: 'json' as ResponseFormat,
570
          auth: this.auth,
571
          networkSession: this.networkSession,
572
          cancellationToken: cancellationToken,
573
        }),
574
      );
575
    return {
2✔
576
      ...deserializeFileFull(response.data!),
577
      rawData: response.data!,
578
    };
579
  }
580
  /**
581
     * Gets the information for a shared link on a file.
582
     * @param {string} fileId The unique identifier that represents a file.
583
    
584
    The ID for any file can be determined
585
    by visiting a file in the web application
586
    and copying the ID from the URL. For example,
587
    for the URL `https://*.app.box.com/files/123`
588
    the `file_id` is `123`.
589
    Example: "12345"
590
     * @param {GetSharedLinkForFileQueryParams} queryParams Query parameters of getSharedLinkForFile method
591
     * @param {GetSharedLinkForFileOptionalsInput} optionalsInput
592
     * @returns {Promise<FileFull>}
593
     */
594
  async getSharedLinkForFile(
595
    fileId: string,
2✔
596
    queryParams: GetSharedLinkForFileQueryParams,
597
    optionalsInput: GetSharedLinkForFileOptionalsInput = {},
2✔
598
  ): Promise<FileFull> {
599
    const optionals: GetSharedLinkForFileOptionals =
600
      new GetSharedLinkForFileOptionals({
2✔
601
        headers: optionalsInput.headers,
602
        cancellationToken: optionalsInput.cancellationToken,
603
      });
604
    const headers: any = optionals.headers;
2✔
605
    const cancellationToken: any = optionals.cancellationToken;
2✔
606
    const queryParamsMap: {
607
      readonly [key: string]: string;
608
    } = prepareParams({ ['fields']: toString(queryParams.fields) as string });
2✔
609
    const headersMap: {
610
      readonly [key: string]: string;
611
    } = prepareParams({ ...{}, ...headers.extraHeaders });
2✔
612
    const response: FetchResponse =
613
      await this.networkSession.networkClient.fetch(
2✔
614
        new FetchOptions({
615
          url: ''.concat(
616
            this.networkSession.baseUrls.baseUrl,
617
            '/2.0/files/',
618
            toString(fileId) as string,
619
            '#get_shared_link',
620
          ) as string,
621
          method: 'GET',
622
          params: queryParamsMap,
623
          headers: headersMap,
624
          responseFormat: 'json' as ResponseFormat,
625
          auth: this.auth,
626
          networkSession: this.networkSession,
627
          cancellationToken: cancellationToken,
628
        }),
629
      );
630
    return {
2✔
631
      ...deserializeFileFull(response.data!),
632
      rawData: response.data!,
633
    };
634
  }
635
  /**
636
     * Adds a shared link to a file.
637
     * @param {string} fileId The unique identifier that represents a file.
638
    
639
    The ID for any file can be determined
640
    by visiting a file in the web application
641
    and copying the ID from the URL. For example,
642
    for the URL `https://*.app.box.com/files/123`
643
    the `file_id` is `123`.
644
    Example: "12345"
645
     * @param {AddShareLinkToFileRequestBody} requestBody Request body of addShareLinkToFile method
646
     * @param {AddShareLinkToFileQueryParams} queryParams Query parameters of addShareLinkToFile method
647
     * @param {AddShareLinkToFileOptionalsInput} optionalsInput
648
     * @returns {Promise<FileFull>}
649
     */
650
  async addShareLinkToFile(
651
    fileId: string,
2✔
652
    requestBody: AddShareLinkToFileRequestBody = {} satisfies AddShareLinkToFileRequestBody,
×
653
    queryParams: AddShareLinkToFileQueryParams,
654
    optionalsInput: AddShareLinkToFileOptionalsInput = {},
2✔
655
  ): Promise<FileFull> {
656
    const optionals: AddShareLinkToFileOptionals =
657
      new AddShareLinkToFileOptionals({
2✔
658
        headers: optionalsInput.headers,
659
        cancellationToken: optionalsInput.cancellationToken,
660
      });
661
    const headers: any = optionals.headers;
2✔
662
    const cancellationToken: any = optionals.cancellationToken;
2✔
663
    const queryParamsMap: {
664
      readonly [key: string]: string;
665
    } = prepareParams({ ['fields']: toString(queryParams.fields) as string });
2✔
666
    const headersMap: {
667
      readonly [key: string]: string;
668
    } = prepareParams({ ...{}, ...headers.extraHeaders });
2✔
669
    const response: FetchResponse =
670
      await this.networkSession.networkClient.fetch(
2✔
671
        new FetchOptions({
672
          url: ''.concat(
673
            this.networkSession.baseUrls.baseUrl,
674
            '/2.0/files/',
675
            toString(fileId) as string,
676
            '#add_shared_link',
677
          ) as string,
678
          method: 'PUT',
679
          params: queryParamsMap,
680
          headers: headersMap,
681
          data: serializeAddShareLinkToFileRequestBody(requestBody),
682
          contentType: 'application/json',
683
          responseFormat: 'json' as ResponseFormat,
684
          auth: this.auth,
685
          networkSession: this.networkSession,
686
          cancellationToken: cancellationToken,
687
        }),
688
      );
689
    return {
2✔
690
      ...deserializeFileFull(response.data!),
691
      rawData: response.data!,
692
    };
693
  }
694
  /**
695
     * Updates a shared link on a file.
696
     * @param {string} fileId The unique identifier that represents a file.
697
    
698
    The ID for any file can be determined
699
    by visiting a file in the web application
700
    and copying the ID from the URL. For example,
701
    for the URL `https://*.app.box.com/files/123`
702
    the `file_id` is `123`.
703
    Example: "12345"
704
     * @param {UpdateSharedLinkOnFileRequestBody} requestBody Request body of updateSharedLinkOnFile method
705
     * @param {UpdateSharedLinkOnFileQueryParams} queryParams Query parameters of updateSharedLinkOnFile method
706
     * @param {UpdateSharedLinkOnFileOptionalsInput} optionalsInput
707
     * @returns {Promise<FileFull>}
708
     */
709
  async updateSharedLinkOnFile(
710
    fileId: string,
2✔
711
    requestBody: UpdateSharedLinkOnFileRequestBody = {} satisfies UpdateSharedLinkOnFileRequestBody,
×
712
    queryParams: UpdateSharedLinkOnFileQueryParams,
713
    optionalsInput: UpdateSharedLinkOnFileOptionalsInput = {},
2✔
714
  ): Promise<FileFull> {
715
    const optionals: UpdateSharedLinkOnFileOptionals =
716
      new UpdateSharedLinkOnFileOptionals({
2✔
717
        headers: optionalsInput.headers,
718
        cancellationToken: optionalsInput.cancellationToken,
719
      });
720
    const headers: any = optionals.headers;
2✔
721
    const cancellationToken: any = optionals.cancellationToken;
2✔
722
    const queryParamsMap: {
723
      readonly [key: string]: string;
724
    } = prepareParams({ ['fields']: toString(queryParams.fields) as string });
2✔
725
    const headersMap: {
726
      readonly [key: string]: string;
727
    } = prepareParams({ ...{}, ...headers.extraHeaders });
2✔
728
    const response: FetchResponse =
729
      await this.networkSession.networkClient.fetch(
2✔
730
        new FetchOptions({
731
          url: ''.concat(
732
            this.networkSession.baseUrls.baseUrl,
733
            '/2.0/files/',
734
            toString(fileId) as string,
735
            '#update_shared_link',
736
          ) as string,
737
          method: 'PUT',
738
          params: queryParamsMap,
739
          headers: headersMap,
740
          data: serializeUpdateSharedLinkOnFileRequestBody(requestBody),
741
          contentType: 'application/json',
742
          responseFormat: 'json' as ResponseFormat,
743
          auth: this.auth,
744
          networkSession: this.networkSession,
745
          cancellationToken: cancellationToken,
746
        }),
747
      );
748
    return {
2✔
749
      ...deserializeFileFull(response.data!),
750
      rawData: response.data!,
751
    };
752
  }
753
  /**
754
     * Removes a shared link from a file.
755
     * @param {string} fileId The unique identifier that represents a file.
756
    
757
    The ID for any file can be determined
758
    by visiting a file in the web application
759
    and copying the ID from the URL. For example,
760
    for the URL `https://*.app.box.com/files/123`
761
    the `file_id` is `123`.
762
    Example: "12345"
763
     * @param {RemoveSharedLinkFromFileRequestBody} requestBody Request body of removeSharedLinkFromFile method
764
     * @param {RemoveSharedLinkFromFileQueryParams} queryParams Query parameters of removeSharedLinkFromFile method
765
     * @param {RemoveSharedLinkFromFileOptionalsInput} optionalsInput
766
     * @returns {Promise<FileFull>}
767
     */
768
  async removeSharedLinkFromFile(
769
    fileId: string,
×
770
    requestBody: RemoveSharedLinkFromFileRequestBody = {} satisfies RemoveSharedLinkFromFileRequestBody,
×
771
    queryParams: RemoveSharedLinkFromFileQueryParams,
772
    optionalsInput: RemoveSharedLinkFromFileOptionalsInput = {},
×
773
  ): Promise<FileFull> {
774
    const optionals: RemoveSharedLinkFromFileOptionals =
775
      new RemoveSharedLinkFromFileOptionals({
×
776
        headers: optionalsInput.headers,
777
        cancellationToken: optionalsInput.cancellationToken,
778
      });
779
    const headers: any = optionals.headers;
×
780
    const cancellationToken: any = optionals.cancellationToken;
×
781
    const queryParamsMap: {
782
      readonly [key: string]: string;
783
    } = prepareParams({ ['fields']: toString(queryParams.fields) as string });
×
784
    const headersMap: {
785
      readonly [key: string]: string;
786
    } = prepareParams({ ...{}, ...headers.extraHeaders });
×
787
    const response: FetchResponse =
788
      await this.networkSession.networkClient.fetch(
×
789
        new FetchOptions({
790
          url: ''.concat(
791
            this.networkSession.baseUrls.baseUrl,
792
            '/2.0/files/',
793
            toString(fileId) as string,
794
            '#remove_shared_link',
795
          ) as string,
796
          method: 'PUT',
797
          params: queryParamsMap,
798
          headers: headersMap,
799
          data: serializeRemoveSharedLinkFromFileRequestBody(requestBody),
800
          contentType: 'application/json',
801
          responseFormat: 'json' as ResponseFormat,
802
          auth: this.auth,
803
          networkSession: this.networkSession,
804
          cancellationToken: cancellationToken,
805
        }),
806
      );
807
    return {
×
808
      ...deserializeFileFull(response.data!),
809
      rawData: response.data!,
810
    };
811
  }
812
}
813
export interface SharedLinksFilesManagerInput {
814
  readonly auth?: Authentication;
815
  readonly networkSession?: NetworkSession;
816
}
817
export function serializeAddShareLinkToFileRequestBodySharedLinkAccessField(
144✔
818
  val: AddShareLinkToFileRequestBodySharedLinkAccessField,
819
): SerializedData {
820
  return val;
2✔
821
}
822
export function deserializeAddShareLinkToFileRequestBodySharedLinkAccessField(
144✔
823
  val: SerializedData,
824
): AddShareLinkToFileRequestBodySharedLinkAccessField {
825
  if (val == 'open') {
×
826
    return val;
×
827
  }
828
  if (val == 'company') {
×
829
    return val;
×
830
  }
831
  if (val == 'collaborators') {
×
832
    return val;
×
833
  }
NEW
834
  if (sdIsString(val)) {
×
NEW
835
    return val;
×
836
  }
837
  throw new BoxSdkError({
×
838
    message:
839
      "Can't deserialize AddShareLinkToFileRequestBodySharedLinkAccessField",
840
  });
841
}
842
export function serializeAddShareLinkToFileRequestBodySharedLinkPermissionsField(
144✔
843
  val: AddShareLinkToFileRequestBodySharedLinkPermissionsField,
844
): SerializedData {
845
  return {
×
846
    ['can_download']: val.canDownload,
847
    ['can_preview']: val.canPreview,
848
    ['can_edit']: val.canEdit,
849
  };
850
}
851
export function deserializeAddShareLinkToFileRequestBodySharedLinkPermissionsField(
144✔
852
  val: SerializedData,
853
): AddShareLinkToFileRequestBodySharedLinkPermissionsField {
854
  if (!sdIsMap(val)) {
×
855
    throw new BoxSdkError({
×
856
      message:
857
        'Expecting a map for "AddShareLinkToFileRequestBodySharedLinkPermissionsField"',
858
    });
859
  }
860
  if (!(val.can_download == void 0) && !sdIsBoolean(val.can_download)) {
×
861
    throw new BoxSdkError({
×
862
      message:
863
        'Expecting boolean for "can_download" of type "AddShareLinkToFileRequestBodySharedLinkPermissionsField"',
864
    });
865
  }
866
  const canDownload: undefined | boolean =
867
    val.can_download == void 0 ? void 0 : val.can_download;
×
868
  if (!(val.can_preview == void 0) && !sdIsBoolean(val.can_preview)) {
×
869
    throw new BoxSdkError({
×
870
      message:
871
        'Expecting boolean for "can_preview" of type "AddShareLinkToFileRequestBodySharedLinkPermissionsField"',
872
    });
873
  }
874
  const canPreview: undefined | boolean =
875
    val.can_preview == void 0 ? void 0 : val.can_preview;
×
876
  if (!(val.can_edit == void 0) && !sdIsBoolean(val.can_edit)) {
×
877
    throw new BoxSdkError({
×
878
      message:
879
        'Expecting boolean for "can_edit" of type "AddShareLinkToFileRequestBodySharedLinkPermissionsField"',
880
    });
881
  }
882
  const canEdit: undefined | boolean =
883
    val.can_edit == void 0 ? void 0 : val.can_edit;
×
884
  return {
×
885
    canDownload: canDownload,
886
    canPreview: canPreview,
887
    canEdit: canEdit,
888
  } satisfies AddShareLinkToFileRequestBodySharedLinkPermissionsField;
889
}
890
export function serializeAddShareLinkToFileRequestBodySharedLinkField(
144✔
891
  val: AddShareLinkToFileRequestBodySharedLinkField,
892
): SerializedData {
893
  return {
2✔
894
    ['access']:
895
      val.access == void 0
2!
896
        ? val.access
897
        : serializeAddShareLinkToFileRequestBodySharedLinkAccessField(
898
            val.access,
899
          ),
900
    ['password']: val.password,
901
    ['vanity_name']: val.vanityName,
902
    ['unshared_at']:
903
      val.unsharedAt == void 0
2!
904
        ? val.unsharedAt
905
        : serializeDateTime(val.unsharedAt),
906
    ['permissions']:
907
      val.permissions == void 0
2!
908
        ? val.permissions
909
        : serializeAddShareLinkToFileRequestBodySharedLinkPermissionsField(
910
            val.permissions,
911
          ),
912
  };
913
}
914
export function deserializeAddShareLinkToFileRequestBodySharedLinkField(
144✔
915
  val: SerializedData,
916
): AddShareLinkToFileRequestBodySharedLinkField {
917
  if (!sdIsMap(val)) {
×
918
    throw new BoxSdkError({
×
919
      message:
920
        'Expecting a map for "AddShareLinkToFileRequestBodySharedLinkField"',
921
    });
922
  }
923
  const access: undefined | AddShareLinkToFileRequestBodySharedLinkAccessField =
924
    val.access == void 0
×
925
      ? void 0
926
      : deserializeAddShareLinkToFileRequestBodySharedLinkAccessField(
927
          val.access,
928
        );
929
  if (!(val.password == void 0) && !sdIsString(val.password)) {
×
930
    throw new BoxSdkError({
×
931
      message:
932
        'Expecting string for "password" of type "AddShareLinkToFileRequestBodySharedLinkField"',
933
    });
934
  }
935
  const password: undefined | string =
936
    val.password == void 0 ? void 0 : val.password;
×
937
  if (!(val.vanity_name == void 0) && !sdIsString(val.vanity_name)) {
×
938
    throw new BoxSdkError({
×
939
      message:
940
        'Expecting string for "vanity_name" of type "AddShareLinkToFileRequestBodySharedLinkField"',
941
    });
942
  }
943
  const vanityName: undefined | string =
944
    val.vanity_name == void 0 ? void 0 : val.vanity_name;
×
945
  if (!(val.unshared_at == void 0) && !sdIsString(val.unshared_at)) {
×
946
    throw new BoxSdkError({
×
947
      message:
948
        'Expecting string for "unshared_at" of type "AddShareLinkToFileRequestBodySharedLinkField"',
949
    });
950
  }
951
  const unsharedAt: undefined | DateTime =
952
    val.unshared_at == void 0 ? void 0 : deserializeDateTime(val.unshared_at);
×
953
  const permissions:
954
    | undefined
955
    | AddShareLinkToFileRequestBodySharedLinkPermissionsField =
956
    val.permissions == void 0
×
957
      ? void 0
958
      : deserializeAddShareLinkToFileRequestBodySharedLinkPermissionsField(
959
          val.permissions,
960
        );
961
  return {
×
962
    access: access,
963
    password: password,
964
    vanityName: vanityName,
965
    unsharedAt: unsharedAt,
966
    permissions: permissions,
967
  } satisfies AddShareLinkToFileRequestBodySharedLinkField;
968
}
969
export function serializeAddShareLinkToFileRequestBody(
144✔
970
  val: AddShareLinkToFileRequestBody,
971
): SerializedData {
972
  return {
2✔
973
    ['shared_link']:
974
      val.sharedLink == void 0
2!
975
        ? val.sharedLink
976
        : serializeAddShareLinkToFileRequestBodySharedLinkField(val.sharedLink),
977
  };
978
}
979
export function deserializeAddShareLinkToFileRequestBody(
144✔
980
  val: SerializedData,
981
): AddShareLinkToFileRequestBody {
982
  if (!sdIsMap(val)) {
×
983
    throw new BoxSdkError({
×
984
      message: 'Expecting a map for "AddShareLinkToFileRequestBody"',
985
    });
986
  }
987
  const sharedLink: undefined | AddShareLinkToFileRequestBodySharedLinkField =
988
    val.shared_link == void 0
×
989
      ? void 0
990
      : deserializeAddShareLinkToFileRequestBodySharedLinkField(
991
          val.shared_link,
992
        );
993
  return { sharedLink: sharedLink } satisfies AddShareLinkToFileRequestBody;
×
994
}
995
export function serializeUpdateSharedLinkOnFileRequestBodySharedLinkAccessField(
144✔
996
  val: UpdateSharedLinkOnFileRequestBodySharedLinkAccessField,
997
): SerializedData {
998
  return val;
2✔
999
}
1000
export function deserializeUpdateSharedLinkOnFileRequestBodySharedLinkAccessField(
144✔
1001
  val: SerializedData,
1002
): UpdateSharedLinkOnFileRequestBodySharedLinkAccessField {
1003
  if (val == 'open') {
×
1004
    return val;
×
1005
  }
1006
  if (val == 'company') {
×
1007
    return val;
×
1008
  }
1009
  if (val == 'collaborators') {
×
1010
    return val;
×
1011
  }
NEW
1012
  if (sdIsString(val)) {
×
NEW
1013
    return val;
×
1014
  }
1015
  throw new BoxSdkError({
×
1016
    message:
1017
      "Can't deserialize UpdateSharedLinkOnFileRequestBodySharedLinkAccessField",
1018
  });
1019
}
1020
export function serializeUpdateSharedLinkOnFileRequestBodySharedLinkPermissionsField(
144✔
1021
  val: UpdateSharedLinkOnFileRequestBodySharedLinkPermissionsField,
1022
): SerializedData {
1023
  return {
×
1024
    ['can_download']: val.canDownload,
1025
    ['can_preview']: val.canPreview,
1026
    ['can_edit']: val.canEdit,
1027
  };
1028
}
1029
export function deserializeUpdateSharedLinkOnFileRequestBodySharedLinkPermissionsField(
144✔
1030
  val: SerializedData,
1031
): UpdateSharedLinkOnFileRequestBodySharedLinkPermissionsField {
1032
  if (!sdIsMap(val)) {
×
1033
    throw new BoxSdkError({
×
1034
      message:
1035
        'Expecting a map for "UpdateSharedLinkOnFileRequestBodySharedLinkPermissionsField"',
1036
    });
1037
  }
1038
  if (!(val.can_download == void 0) && !sdIsBoolean(val.can_download)) {
×
1039
    throw new BoxSdkError({
×
1040
      message:
1041
        'Expecting boolean for "can_download" of type "UpdateSharedLinkOnFileRequestBodySharedLinkPermissionsField"',
1042
    });
1043
  }
1044
  const canDownload: undefined | boolean =
1045
    val.can_download == void 0 ? void 0 : val.can_download;
×
1046
  if (!(val.can_preview == void 0) && !sdIsBoolean(val.can_preview)) {
×
1047
    throw new BoxSdkError({
×
1048
      message:
1049
        'Expecting boolean for "can_preview" of type "UpdateSharedLinkOnFileRequestBodySharedLinkPermissionsField"',
1050
    });
1051
  }
1052
  const canPreview: undefined | boolean =
1053
    val.can_preview == void 0 ? void 0 : val.can_preview;
×
1054
  if (!(val.can_edit == void 0) && !sdIsBoolean(val.can_edit)) {
×
1055
    throw new BoxSdkError({
×
1056
      message:
1057
        'Expecting boolean for "can_edit" of type "UpdateSharedLinkOnFileRequestBodySharedLinkPermissionsField"',
1058
    });
1059
  }
1060
  const canEdit: undefined | boolean =
1061
    val.can_edit == void 0 ? void 0 : val.can_edit;
×
1062
  return {
×
1063
    canDownload: canDownload,
1064
    canPreview: canPreview,
1065
    canEdit: canEdit,
1066
  } satisfies UpdateSharedLinkOnFileRequestBodySharedLinkPermissionsField;
1067
}
1068
export function serializeUpdateSharedLinkOnFileRequestBodySharedLinkField(
144✔
1069
  val: UpdateSharedLinkOnFileRequestBodySharedLinkField,
1070
): SerializedData {
1071
  return {
2✔
1072
    ['access']:
1073
      val.access == void 0
2!
1074
        ? val.access
1075
        : serializeUpdateSharedLinkOnFileRequestBodySharedLinkAccessField(
1076
            val.access,
1077
          ),
1078
    ['password']: val.password,
1079
    ['vanity_name']: val.vanityName,
1080
    ['unshared_at']:
1081
      val.unsharedAt == void 0
2!
1082
        ? val.unsharedAt
1083
        : serializeDateTime(val.unsharedAt),
1084
    ['permissions']:
1085
      val.permissions == void 0
2!
1086
        ? val.permissions
1087
        : serializeUpdateSharedLinkOnFileRequestBodySharedLinkPermissionsField(
1088
            val.permissions,
1089
          ),
1090
  };
1091
}
1092
export function deserializeUpdateSharedLinkOnFileRequestBodySharedLinkField(
144✔
1093
  val: SerializedData,
1094
): UpdateSharedLinkOnFileRequestBodySharedLinkField {
1095
  if (!sdIsMap(val)) {
×
1096
    throw new BoxSdkError({
×
1097
      message:
1098
        'Expecting a map for "UpdateSharedLinkOnFileRequestBodySharedLinkField"',
1099
    });
1100
  }
1101
  const access:
1102
    | undefined
1103
    | UpdateSharedLinkOnFileRequestBodySharedLinkAccessField =
1104
    val.access == void 0
×
1105
      ? void 0
1106
      : deserializeUpdateSharedLinkOnFileRequestBodySharedLinkAccessField(
1107
          val.access,
1108
        );
1109
  if (!(val.password == void 0) && !sdIsString(val.password)) {
×
1110
    throw new BoxSdkError({
×
1111
      message:
1112
        'Expecting string for "password" of type "UpdateSharedLinkOnFileRequestBodySharedLinkField"',
1113
    });
1114
  }
1115
  const password: undefined | string =
1116
    val.password == void 0 ? void 0 : val.password;
×
1117
  if (!(val.vanity_name == void 0) && !sdIsString(val.vanity_name)) {
×
1118
    throw new BoxSdkError({
×
1119
      message:
1120
        'Expecting string for "vanity_name" of type "UpdateSharedLinkOnFileRequestBodySharedLinkField"',
1121
    });
1122
  }
1123
  const vanityName: undefined | string =
1124
    val.vanity_name == void 0 ? void 0 : val.vanity_name;
×
1125
  if (!(val.unshared_at == void 0) && !sdIsString(val.unshared_at)) {
×
1126
    throw new BoxSdkError({
×
1127
      message:
1128
        'Expecting string for "unshared_at" of type "UpdateSharedLinkOnFileRequestBodySharedLinkField"',
1129
    });
1130
  }
1131
  const unsharedAt: undefined | DateTime =
1132
    val.unshared_at == void 0 ? void 0 : deserializeDateTime(val.unshared_at);
×
1133
  const permissions:
1134
    | undefined
1135
    | UpdateSharedLinkOnFileRequestBodySharedLinkPermissionsField =
1136
    val.permissions == void 0
×
1137
      ? void 0
1138
      : deserializeUpdateSharedLinkOnFileRequestBodySharedLinkPermissionsField(
1139
          val.permissions,
1140
        );
1141
  return {
×
1142
    access: access,
1143
    password: password,
1144
    vanityName: vanityName,
1145
    unsharedAt: unsharedAt,
1146
    permissions: permissions,
1147
  } satisfies UpdateSharedLinkOnFileRequestBodySharedLinkField;
1148
}
1149
export function serializeUpdateSharedLinkOnFileRequestBody(
144✔
1150
  val: UpdateSharedLinkOnFileRequestBody,
1151
): SerializedData {
1152
  return {
2✔
1153
    ['shared_link']:
1154
      val.sharedLink == void 0
2!
1155
        ? val.sharedLink
1156
        : serializeUpdateSharedLinkOnFileRequestBodySharedLinkField(
1157
            val.sharedLink,
1158
          ),
1159
  };
1160
}
1161
export function deserializeUpdateSharedLinkOnFileRequestBody(
144✔
1162
  val: SerializedData,
1163
): UpdateSharedLinkOnFileRequestBody {
1164
  if (!sdIsMap(val)) {
×
1165
    throw new BoxSdkError({
×
1166
      message: 'Expecting a map for "UpdateSharedLinkOnFileRequestBody"',
1167
    });
1168
  }
1169
  const sharedLink:
1170
    | undefined
1171
    | UpdateSharedLinkOnFileRequestBodySharedLinkField =
1172
    val.shared_link == void 0
×
1173
      ? void 0
1174
      : deserializeUpdateSharedLinkOnFileRequestBodySharedLinkField(
1175
          val.shared_link,
1176
        );
1177
  return { sharedLink: sharedLink } satisfies UpdateSharedLinkOnFileRequestBody;
×
1178
}
1179
export function serializeRemoveSharedLinkFromFileRequestBodySharedLinkField(
144✔
1180
  val: RemoveSharedLinkFromFileRequestBodySharedLinkField,
1181
): SerializedData {
1182
  return {};
×
1183
}
1184
export function deserializeRemoveSharedLinkFromFileRequestBodySharedLinkField(
144✔
1185
  val: SerializedData,
1186
): RemoveSharedLinkFromFileRequestBodySharedLinkField {
1187
  if (!sdIsMap(val)) {
×
1188
    throw new BoxSdkError({
×
1189
      message:
1190
        'Expecting a map for "RemoveSharedLinkFromFileRequestBodySharedLinkField"',
1191
    });
1192
  }
1193
  return {} satisfies RemoveSharedLinkFromFileRequestBodySharedLinkField;
×
1194
}
1195
export function serializeRemoveSharedLinkFromFileRequestBody(
144✔
1196
  val: RemoveSharedLinkFromFileRequestBody,
1197
): SerializedData {
1198
  return {
×
1199
    ['shared_link']:
1200
      val.sharedLink == void 0
×
1201
        ? val.sharedLink
1202
        : serializeRemoveSharedLinkFromFileRequestBodySharedLinkField(
1203
            val.sharedLink,
1204
          ),
1205
  };
1206
}
1207
export function deserializeRemoveSharedLinkFromFileRequestBody(
144✔
1208
  val: SerializedData,
1209
): RemoveSharedLinkFromFileRequestBody {
1210
  if (!sdIsMap(val)) {
×
1211
    throw new BoxSdkError({
×
1212
      message: 'Expecting a map for "RemoveSharedLinkFromFileRequestBody"',
1213
    });
1214
  }
1215
  const sharedLink:
1216
    | undefined
1217
    | RemoveSharedLinkFromFileRequestBodySharedLinkField =
1218
    val.shared_link == void 0
×
1219
      ? void 0
1220
      : deserializeRemoveSharedLinkFromFileRequestBodySharedLinkField(
1221
          val.shared_link,
1222
        );
1223
  return {
×
1224
    sharedLink: sharedLink,
1225
  } satisfies RemoveSharedLinkFromFileRequestBody;
1226
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc