box-node-sdk
Version:
Official SDK for Box Platform APIs
162 lines (161 loc) • 8.94 kB
TypeScript
import { CollaborationItem } from './collaborationItem';
import { AppItem } from './appItem';
import { CollaborationAccessGrantee } from './collaborationAccessGrantee';
import { UserCollaborations } from './userCollaborations';
import { TermsOfServiceBase } from './termsOfServiceBase';
import { DateTime } from '../internal/utils';
import { SerializedData } from '../serialization/json';
export type CollaborationTypeField = 'collaboration';
export type CollaborationRoleField = 'editor' | 'viewer' | 'previewer' | 'uploader' | 'previewer uploader' | 'viewer uploader' | 'co-owner' | 'owner' | string;
export type CollaborationStatusField = 'accepted' | 'pending' | 'rejected' | string;
export interface CollaborationAcceptanceRequirementsStatusTermsOfServiceRequirementField {
/**
* Whether or not the terms of service have been accepted. The
* field is `null` when there is no terms of service required. */
readonly isAccepted?: boolean | null;
readonly termsOfService?: TermsOfServiceBase;
readonly rawData?: SerializedData;
}
export interface CollaborationAcceptanceRequirementsStatusStrongPasswordRequirementField {
/**
* Whether or not the enterprise that owns the content requires
* a strong password to collaborate on the content, or enforces
* an exposed password detection for the external collaborators. */
readonly enterpriseHasStrongPasswordRequiredForExternalUsers?: boolean;
/**
* Whether or not the user has a strong and not exposed password set
* for their account. The field is `null` when a strong password is
* not required. */
readonly userHasStrongPassword?: boolean | null;
readonly rawData?: SerializedData;
}
export interface CollaborationAcceptanceRequirementsStatusTwoFactorAuthenticationRequirementField {
/**
* Whether or not the enterprise that owns the content requires
* two-factor authentication to be enabled in order to
* collaborate on the content. */
readonly enterpriseHasTwoFactorAuthEnabled?: boolean;
/**
* Whether or not the user has two-factor authentication
* enabled. The field is `null` when two-factor
* authentication is not required. */
readonly userHasTwoFactorAuthenticationEnabled?: boolean | null;
readonly rawData?: SerializedData;
}
export interface CollaborationAcceptanceRequirementsStatusField {
readonly termsOfServiceRequirement?: CollaborationAcceptanceRequirementsStatusTermsOfServiceRequirementField;
readonly strongPasswordRequirement?: CollaborationAcceptanceRequirementsStatusStrongPasswordRequirementField;
readonly twoFactorAuthenticationRequirement?: CollaborationAcceptanceRequirementsStatusTwoFactorAuthenticationRequirementField;
readonly rawData?: SerializedData;
}
export declare class Collaboration {
/**
* The unique identifier for this collaboration. */
readonly id: string;
/**
* The value will always be `collaboration`. */
readonly type: CollaborationTypeField;
readonly item?: CollaborationItem | null;
readonly appItem?: AppItem | null;
readonly accessibleBy?: CollaborationAccessGrantee;
/**
* The email address used to invite an unregistered collaborator, if
* they are not a registered user. */
readonly inviteEmail?: string | null;
/**
* The level of access granted. */
readonly role?: CollaborationRoleField;
/**
* When the collaboration will expire, or `null` if no expiration
* date is set. */
readonly expiresAt?: DateTime | null;
/**
* If set to `true`, collaborators have access to
* shared items, but such items won't be visible in the
* All Files list. Additionally, collaborators won't
* see the path to the root folder for the
* shared item. */
readonly isAccessOnly?: boolean;
/**
* The status of the collaboration invitation. If the status
* is `pending`, `login` and `name` return an empty string. */
readonly status?: CollaborationStatusField;
/**
* When the `status` of the collaboration object changed to
* `accepted` or `rejected`. */
readonly acknowledgedAt?: DateTime;
readonly createdBy?: UserCollaborations;
/**
* When the collaboration object was created. */
readonly createdAt?: DateTime;
/**
* When the collaboration object was last modified. */
readonly modifiedAt?: DateTime;
readonly acceptanceRequirementsStatus?: CollaborationAcceptanceRequirementsStatusField;
readonly rawData?: SerializedData;
constructor(fields: Omit<Collaboration, 'type'> & Partial<Pick<Collaboration, 'type'>>);
}
export interface CollaborationInput {
/**
* The unique identifier for this collaboration. */
readonly id: string;
/**
* The value will always be `collaboration`. */
readonly type?: CollaborationTypeField;
readonly item?: CollaborationItem | null;
readonly appItem?: AppItem | null;
readonly accessibleBy?: CollaborationAccessGrantee;
/**
* The email address used to invite an unregistered collaborator, if
* they are not a registered user. */
readonly inviteEmail?: string | null;
/**
* The level of access granted. */
readonly role?: CollaborationRoleField;
/**
* When the collaboration will expire, or `null` if no expiration
* date is set. */
readonly expiresAt?: DateTime | null;
/**
* If set to `true`, collaborators have access to
* shared items, but such items won't be visible in the
* All Files list. Additionally, collaborators won't
* see the path to the root folder for the
* shared item. */
readonly isAccessOnly?: boolean;
/**
* The status of the collaboration invitation. If the status
* is `pending`, `login` and `name` return an empty string. */
readonly status?: CollaborationStatusField;
/**
* When the `status` of the collaboration object changed to
* `accepted` or `rejected`. */
readonly acknowledgedAt?: DateTime;
readonly createdBy?: UserCollaborations;
/**
* When the collaboration object was created. */
readonly createdAt?: DateTime;
/**
* When the collaboration object was last modified. */
readonly modifiedAt?: DateTime;
readonly acceptanceRequirementsStatus?: CollaborationAcceptanceRequirementsStatusField;
readonly rawData?: SerializedData;
}
export declare function serializeCollaborationTypeField(val: CollaborationTypeField): SerializedData;
export declare function deserializeCollaborationTypeField(val: SerializedData): CollaborationTypeField;
export declare function serializeCollaborationRoleField(val: CollaborationRoleField): SerializedData;
export declare function deserializeCollaborationRoleField(val: SerializedData): CollaborationRoleField;
export declare function serializeCollaborationStatusField(val: CollaborationStatusField): SerializedData;
export declare function deserializeCollaborationStatusField(val: SerializedData): CollaborationStatusField;
export declare function serializeCollaborationAcceptanceRequirementsStatusTermsOfServiceRequirementField(val: CollaborationAcceptanceRequirementsStatusTermsOfServiceRequirementField): SerializedData;
export declare function deserializeCollaborationAcceptanceRequirementsStatusTermsOfServiceRequirementField(val: SerializedData): CollaborationAcceptanceRequirementsStatusTermsOfServiceRequirementField;
export declare function serializeCollaborationAcceptanceRequirementsStatusStrongPasswordRequirementField(val: CollaborationAcceptanceRequirementsStatusStrongPasswordRequirementField): SerializedData;
export declare function deserializeCollaborationAcceptanceRequirementsStatusStrongPasswordRequirementField(val: SerializedData): CollaborationAcceptanceRequirementsStatusStrongPasswordRequirementField;
export declare function serializeCollaborationAcceptanceRequirementsStatusTwoFactorAuthenticationRequirementField(val: CollaborationAcceptanceRequirementsStatusTwoFactorAuthenticationRequirementField): SerializedData;
export declare function deserializeCollaborationAcceptanceRequirementsStatusTwoFactorAuthenticationRequirementField(val: SerializedData): CollaborationAcceptanceRequirementsStatusTwoFactorAuthenticationRequirementField;
export declare function serializeCollaborationAcceptanceRequirementsStatusField(val: CollaborationAcceptanceRequirementsStatusField): SerializedData;
export declare function deserializeCollaborationAcceptanceRequirementsStatusField(val: SerializedData): CollaborationAcceptanceRequirementsStatusField;
export declare function serializeCollaboration(val: Collaboration): SerializedData;
export declare function deserializeCollaboration(val: SerializedData): Collaboration;
export declare function serializeCollaborationInput(val: CollaborationInput): SerializedData;
export declare function deserializeCollaborationInput(val: SerializedData): CollaborationInput;