box-typescript-sdk-gen
Version:
Official Box TypeScript Generated SDK
546 lines • 24.3 kB
JavaScript
import { AuthorizationManager } from './managers/authorization.generated.js';
import { FilesManager } from './managers/files.generated.js';
import { TrashedFilesManager } from './managers/trashedFiles.generated.js';
import { AppItemAssociationsManager } from './managers/appItemAssociations.generated.js';
import { DownloadsManager } from './managers/downloads.generated.js';
import { UploadsManager } from './managers/uploads.generated.js';
import { ChunkedUploadsManager } from './managers/chunkedUploads.generated.js';
import { ListCollaborationsManager } from './managers/listCollaborations.generated.js';
import { CommentsManager } from './managers/comments.generated.js';
import { TasksManager } from './managers/tasks.generated.js';
import { FileVersionsManager } from './managers/fileVersions.generated.js';
import { FileMetadataManager } from './managers/fileMetadata.generated.js';
import { FileClassificationsManager } from './managers/fileClassifications.generated.js';
import { SkillsManager } from './managers/skills.generated.js';
import { FileWatermarksManager } from './managers/fileWatermarks.generated.js';
import { FileRequestsManager } from './managers/fileRequests.generated.js';
import { FoldersManager } from './managers/folders.generated.js';
import { TrashedFoldersManager } from './managers/trashedFolders.generated.js';
import { FolderMetadataManager } from './managers/folderMetadata.generated.js';
import { FolderClassificationsManager } from './managers/folderClassifications.generated.js';
import { TrashedItemsManager } from './managers/trashedItems.generated.js';
import { FolderWatermarksManager } from './managers/folderWatermarks.generated.js';
import { FolderLocksManager } from './managers/folderLocks.generated.js';
import { MetadataTemplatesManager } from './managers/metadataTemplates.generated.js';
import { ClassificationsManager } from './managers/classifications.generated.js';
import { MetadataCascadePoliciesManager } from './managers/metadataCascadePolicies.generated.js';
import { SearchManager } from './managers/search.generated.js';
import { UserCollaborationsManager } from './managers/userCollaborations.generated.js';
import { TaskAssignmentsManager } from './managers/taskAssignments.generated.js';
import { SharedLinksFilesManager } from './managers/sharedLinksFiles.generated.js';
import { SharedLinksFoldersManager } from './managers/sharedLinksFolders.generated.js';
import { WebLinksManager } from './managers/webLinks.generated.js';
import { TrashedWebLinksManager } from './managers/trashedWebLinks.generated.js';
import { SharedLinksWebLinksManager } from './managers/sharedLinksWebLinks.generated.js';
import { SharedLinksAppItemsManager } from './managers/sharedLinksAppItems.generated.js';
import { UsersManager } from './managers/users.generated.js';
import { SessionTerminationManager } from './managers/sessionTermination.generated.js';
import { AvatarsManager } from './managers/avatars.generated.js';
import { TransferManager } from './managers/transfer.generated.js';
import { EmailAliasesManager } from './managers/emailAliases.generated.js';
import { MembershipsManager } from './managers/memberships.generated.js';
import { InvitesManager } from './managers/invites.generated.js';
import { GroupsManager } from './managers/groups.generated.js';
import { WebhooksManager } from './managers/webhooks.generated.js';
import { EventsManager } from './managers/events.generated.js';
import { CollectionsManager } from './managers/collections.generated.js';
import { RecentItemsManager } from './managers/recentItems.generated.js';
import { RetentionPoliciesManager } from './managers/retentionPolicies.generated.js';
import { RetentionPolicyAssignmentsManager } from './managers/retentionPolicyAssignments.generated.js';
import { LegalHoldPoliciesManager } from './managers/legalHoldPolicies.generated.js';
import { LegalHoldPolicyAssignmentsManager } from './managers/legalHoldPolicyAssignments.generated.js';
import { FileVersionRetentionsManager } from './managers/fileVersionRetentions.generated.js';
import { FileVersionLegalHoldsManager } from './managers/fileVersionLegalHolds.generated.js';
import { ShieldInformationBarriersManager } from './managers/shieldInformationBarriers.generated.js';
import { ShieldInformationBarrierReportsManager } from './managers/shieldInformationBarrierReports.generated.js';
import { ShieldInformationBarrierSegmentsManager } from './managers/shieldInformationBarrierSegments.generated.js';
import { ShieldInformationBarrierSegmentMembersManager } from './managers/shieldInformationBarrierSegmentMembers.generated.js';
import { ShieldInformationBarrierSegmentRestrictionsManager } from './managers/shieldInformationBarrierSegmentRestrictions.generated.js';
import { DevicePinnersManager } from './managers/devicePinners.generated.js';
import { TermsOfServicesManager } from './managers/termsOfServices.generated.js';
import { TermsOfServiceUserStatusesManager } from './managers/termsOfServiceUserStatuses.generated.js';
import { CollaborationAllowlistEntriesManager } from './managers/collaborationAllowlistEntries.generated.js';
import { CollaborationAllowlistExemptTargetsManager } from './managers/collaborationAllowlistExemptTargets.generated.js';
import { StoragePoliciesManager } from './managers/storagePolicies.generated.js';
import { StoragePolicyAssignmentsManager } from './managers/storagePolicyAssignments.generated.js';
import { ZipDownloadsManager } from './managers/zipDownloads.generated.js';
import { SignRequestsManager } from './managers/signRequests.generated.js';
import { WorkflowsManager } from './managers/workflows.generated.js';
import { SignTemplatesManager } from './managers/signTemplates.generated.js';
import { IntegrationMappingsManager } from './managers/integrationMappings.generated.js';
import { AiManager } from './managers/ai.generated.js';
import { AiStudioManager } from './managers/aiStudio.generated.js';
import { DocgenTemplateManager } from './managers/docgenTemplate.generated.js';
import { DocgenManager } from './managers/docgen.generated.js';
import { HubsManager } from './managers/hubs.generated.js';
import { HubCollaborationsManager } from './managers/hubCollaborations.generated.js';
import { HubItemsManager } from './managers/hubItems.generated.js';
import { ShieldListsManager } from './managers/shieldLists.generated.js';
import { ArchivesManager } from './managers/archives.generated.js';
import { NetworkSession } from './networking/network.generated.js';
import { FetchOptions } from './networking/fetchOptions.generated.js';
import { BaseUrls } from './networking/baseUrls.generated.js';
export class BoxClient {
constructor(fields) {
this.networkSession = new NetworkSession({
baseUrls: new BaseUrls({}),
});
if (fields.auth !== undefined) {
this.auth = fields.auth;
}
if (fields.networkSession !== undefined) {
this.networkSession = fields.networkSession;
}
this.authorization = new AuthorizationManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.files = new FilesManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.trashedFiles = new TrashedFilesManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.appItemAssociations = new AppItemAssociationsManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.downloads = new DownloadsManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.uploads = new UploadsManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.chunkedUploads = new ChunkedUploadsManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.listCollaborations = new ListCollaborationsManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.comments = new CommentsManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.tasks = new TasksManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.fileVersions = new FileVersionsManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.fileMetadata = new FileMetadataManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.fileClassifications = new FileClassificationsManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.skills = new SkillsManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.fileWatermarks = new FileWatermarksManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.fileRequests = new FileRequestsManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.folders = new FoldersManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.trashedFolders = new TrashedFoldersManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.folderMetadata = new FolderMetadataManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.folderClassifications = new FolderClassificationsManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.trashedItems = new TrashedItemsManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.folderWatermarks = new FolderWatermarksManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.folderLocks = new FolderLocksManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.metadataTemplates = new MetadataTemplatesManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.classifications = new ClassificationsManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.metadataCascadePolicies = new MetadataCascadePoliciesManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.search = new SearchManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.userCollaborations = new UserCollaborationsManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.taskAssignments = new TaskAssignmentsManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.sharedLinksFiles = new SharedLinksFilesManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.sharedLinksFolders = new SharedLinksFoldersManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.webLinks = new WebLinksManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.trashedWebLinks = new TrashedWebLinksManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.sharedLinksWebLinks = new SharedLinksWebLinksManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.sharedLinksAppItems = new SharedLinksAppItemsManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.users = new UsersManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.sessionTermination = new SessionTerminationManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.avatars = new AvatarsManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.transfer = new TransferManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.emailAliases = new EmailAliasesManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.memberships = new MembershipsManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.invites = new InvitesManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.groups = new GroupsManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.webhooks = new WebhooksManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.events = new EventsManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.collections = new CollectionsManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.recentItems = new RecentItemsManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.retentionPolicies = new RetentionPoliciesManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.retentionPolicyAssignments = new RetentionPolicyAssignmentsManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.legalHoldPolicies = new LegalHoldPoliciesManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.legalHoldPolicyAssignments = new LegalHoldPolicyAssignmentsManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.fileVersionRetentions = new FileVersionRetentionsManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.fileVersionLegalHolds = new FileVersionLegalHoldsManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.shieldInformationBarriers = new ShieldInformationBarriersManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.shieldInformationBarrierReports =
new ShieldInformationBarrierReportsManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.shieldInformationBarrierSegments =
new ShieldInformationBarrierSegmentsManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.shieldInformationBarrierSegmentMembers =
new ShieldInformationBarrierSegmentMembersManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.shieldInformationBarrierSegmentRestrictions =
new ShieldInformationBarrierSegmentRestrictionsManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.devicePinners = new DevicePinnersManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.termsOfServices = new TermsOfServicesManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.termsOfServiceUserStatuses = new TermsOfServiceUserStatusesManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.collaborationAllowlistEntries =
new CollaborationAllowlistEntriesManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.collaborationAllowlistExemptTargets =
new CollaborationAllowlistExemptTargetsManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.storagePolicies = new StoragePoliciesManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.storagePolicyAssignments = new StoragePolicyAssignmentsManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.zipDownloads = new ZipDownloadsManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.signRequests = new SignRequestsManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.workflows = new WorkflowsManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.signTemplates = new SignTemplatesManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.integrationMappings = new IntegrationMappingsManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.ai = new AiManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.aiStudio = new AiStudioManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.docgenTemplate = new DocgenTemplateManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.docgen = new DocgenManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.hubs = new HubsManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.hubCollaborations = new HubCollaborationsManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.hubItems = new HubItemsManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.shieldLists = new ShieldListsManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.archives = new ArchivesManager({
auth: this.auth,
networkSession: this.networkSession,
});
}
/**
* Make a custom http request using the client authentication and network session.
* @param {FetchOptionsInput} fetchOptionsInput Options to be passed to the fetch call
* @returns {Promise<FetchResponse>}
*/
async makeRequest(fetchOptionsInput) {
const fetchOptions = new FetchOptions({
url: fetchOptionsInput.url,
method: fetchOptionsInput.method,
params: fetchOptionsInput.params,
headers: fetchOptionsInput.headers,
data: fetchOptionsInput.data,
fileStream: fetchOptionsInput.fileStream,
multipartData: fetchOptionsInput.multipartData,
contentType: fetchOptionsInput.contentType,
responseFormat: fetchOptionsInput.responseFormat,
auth: fetchOptionsInput.auth,
networkSession: fetchOptionsInput.networkSession,
cancellationToken: fetchOptionsInput.cancellationToken,
followRedirects: fetchOptionsInput.followRedirects,
});
const auth = fetchOptions.auth == void 0 ? this.auth : fetchOptions.auth;
const networkSession = fetchOptions.networkSession == void 0
? this.networkSession
: fetchOptions.networkSession;
const enrichedFetchOptions = new FetchOptions({
auth: auth,
networkSession: networkSession,
url: fetchOptions.url,
method: fetchOptions.method,
params: fetchOptions.params,
headers: fetchOptions.headers,
data: fetchOptions.data,
fileStream: fetchOptions.fileStream,
multipartData: fetchOptions.multipartData,
contentType: fetchOptions.contentType,
responseFormat: fetchOptions.responseFormat,
followRedirects: fetchOptions.followRedirects,
});
return await networkSession.networkClient.fetch(enrichedFetchOptions);
}
/**
* Create a new client to impersonate user with the provided ID. All calls made with the new client will be made in context of the impersonated user, leaving the original client unmodified.
* @param {string} userId ID of an user to impersonate
* @returns {BoxClient}
*/
withAsUserHeader(userId) {
return new BoxClient({
auth: this.auth,
networkSession: this.networkSession.withAdditionalHeaders({
['As-User']: userId,
}),
});
}
/**
* Create a new client with suppressed notifications. Calls made with the new client will not trigger email or webhook notifications
* @returns {BoxClient}
*/
withSuppressedNotifications() {
return new BoxClient({
auth: this.auth,
networkSession: this.networkSession.withAdditionalHeaders({
['Box-Notifications']: 'off',
}),
});
}
/**
* Create a new client with a custom set of headers that will be included in every API call
* @param {{
readonly [key: string]: string;
}} extraHeaders Custom set of headers that will be included in every API call
* @returns {BoxClient}
*/
withExtraHeaders(extraHeaders = {}) {
return new BoxClient({
auth: this.auth,
networkSession: this.networkSession.withAdditionalHeaders(extraHeaders),
});
}
/**
* Create a new client with a custom set of base urls that will be used for every API call
* @param {BaseUrlsInput} baseUrlsInput Custom set of base urls that will be used for every API call
* @returns {BoxClient}
*/
withCustomBaseUrls(baseUrlsInput) {
const baseUrls = new BaseUrls({
baseUrl: baseUrlsInput.baseUrl,
uploadUrl: baseUrlsInput.uploadUrl,
oauth2Url: baseUrlsInput.oauth2Url,
});
return new BoxClient({
auth: this.auth,
networkSession: this.networkSession.withCustomBaseUrls(baseUrls),
});
}
/**
* Create a new client with a custom proxy that will be used for every API call
* @param {ProxyConfig} config
* @returns {BoxClient}
*/
withProxy(config) {
return new BoxClient({
auth: this.auth,
networkSession: this.networkSession.withProxy(config),
});
}
/**
* Create a new client with a custom set of agent options that will be used for every API call
* @param {AgentOptions} agentOptions Custom set of agent options that will be used for every API call
* @returns {BoxClient}
*/
withCustomAgentOptions(agentOptions) {
return new BoxClient({
auth: this.auth,
networkSession: this.networkSession.withCustomAgentOptions(agentOptions),
});
}
/**
* Create a new client with a custom set of interceptors that will be used for every API call
* @param {readonly Interceptor[]} interceptors Custom set of interceptors that will be used for every API call
* @returns {BoxClient}
*/
withInterceptors(interceptors) {
return new BoxClient({
auth: this.auth,
networkSession: this.networkSession.withInterceptors(interceptors),
});
}
}
//# sourceMappingURL=client.generated.js.map