BNSOnWebPlugin/DigitalDataBNSPlugin/Libraries/Windream/typings/Windream.WebService.Documents.d.ts
2023-06-15 09:52:03 +02:00

267 lines
6.7 KiB
TypeScript

import
{
AttributeResponseDTO,
AttributeDTO,
ResponseContainerDTO,
ItemContainerDTO,
LocationNameIdentityDTO,
IdLocationNameIdentityDTO,
ResponseDetailsType,
IdLocationNameEntityIdentityResponseDTO,
IdLocationNameIdentityResponseDTO,
ExistingItemIdentityDTO,
ObjectTypeIdentityDTO,
WSAttributeFlags,
NewItemIdentityDTO,
ItemResponseContainerDTO
} from "./Windream.WebService";
import { IndexingDetailsResponseDTO } from './Windream.WebService.Indexing';
export interface IDocumentsController
{
Create(parameter: CreateDocumentDTO): DocumentResponseContainerDTO;
CreateBulk(parameters: CreateDocumentDTO[]): DocumentResponseContainerDTO[];
Delete(parameter: DeleteDocumentDTO): DocumentResponseContainerDTO;
DeleteBulk(parameters: DeleteDocumentDTO[]): DocumentResponseContainerDTO[];
Update(parameter: UpdateDocumentDTO): DocumentResponseContainerDTO;
UpdateBulk(parameters: UpdateDocumentDTO[]): DocumentResponseContainerDTO[];
GetDetails(id: Number): DocumentResponseContainerDTO;
GetDetails(parameter: GetDocumentDetailsDTO): DocumentResponseContainerDTO;
GetDetailsBulk(parameters: GetDocumentDetailsDTO[]): DocumentResponseContainerDTO[];
GetHistory(parameters: GetDocumentDetailsDTO): HistoryResponseContainerDTO[];
Move(parameter: MoveDocumentDTO): DocumentResponseContainerDTO;
MoveBulk(parameters: MoveDocumentDTO[]): DocumentResponseContainerDTO[];
Copy(parameter: CopyDocumentDTO): DocumentResponseContainerDTO;
CopyBulk(parameters: CopyDocumentDTO[]): DocumentResponseContainerDTO[];
UndoCheckOut(parameter: DocumentItemContainerDTO): DocumentResponseContainerDTO;
UndoCheckOutBulk(parameters: DocumentItemContainerDTO[]): DocumentResponseContainerDTO[];
Archive(parameter: DocumentItemContainerDTO): DocumentResponseContainerDTO;
ArchiveBulk(parameters: DocumentItemContainerDTO[]): DocumentResponseContainerDTO[];
HtmlPreview(parameter: HtmlPreviewDTO): HtmlPreviewResponseContainerDTO;
Download(parameter: DownloadDocumentDTO): ResponseContainerDTO;
Upload(parameter: UploadDocumentDTO): DocumentResponseContainerDTO;
GetBinarySize(parameter: DocumentItemContainerDTO): DocumentResponseContainerDTO;
}
export const enum CopyDocumentFlags
{
DocumentOnly = 0,
WithPreVersions = 1
}
export const enum DeleteDocumentFlags
{
IncludePreVersions = 2
}
export const enum DownloadFlags
{
Checkout = 1
}
export const enum UploadFlags
{
CreateObject = 1,
CheckIn = 2,
CreateNewVersion = 4,
UseDefaultLocation = 8
}
export interface DownloadDocumentDTO
{
Flags: DownloadFlags;
Item: IdLocationNameIdentityDTO;
}
export interface DownloadIDocumentResponseContainerDTO extends ItemResponseContainerDTO
{
ContentLength: number;
Stream: any;
}
export interface UploadDocumentDTO
{
Flags: UploadFlags;
Item: IdLocationNameIdentityDTO;
Stream: any;
}
export interface UploadDocumentResponseContainerDTO extends DocumentResponseContainerDTO
{
IndexingDetails: IndexingDetailsResponseDTO;
}
export interface CopyDocumentDTO
{
Flags: CopyDocumentFlags;
Item: IdLocationNameIdentityDTO;
ResponseDetails: ResponseDetailsType;
Target: LocationNameIdentityDTO;
}
export interface CreateDocumentDTO
{
CreateFolder: boolean;
Item: NewDocumentDTO;
ResponseDetails: ResponseDetailsType;
}
export interface DeleteDocumentDTO
{
Flags: DeleteDocumentFlags;
Item: IdLocationNameIdentityDTO;
ResponseDetails: ResponseDetailsType;
}
export interface DocumentItemContainerDTO extends ItemContainerDTO
{
}
export interface DocumentResponseContainerDTO extends ResponseContainerDTO
{
Item: DocumentResponseDTO;
}
export interface DocumentResponseDTO extends IdLocationNameEntityIdentityResponseDTO
{
Attributes: AttributeResponseDTO[];
ObjectType: ObjectTypeIdentityDTO;
ParentWindreamObject: IdLocationNameIdentityResponseDTO;
}
export interface ExistingDocumentDTO extends ExistingItemIdentityDTO
{
Attributes: AttributeDTO[];
ObjectType: ObjectTypeIdentityDTO;
}
export interface GetDocumentDetailsDTO
{
AttributeFlags: WSAttributeFlags;
Item: IdLocationNameIdentityDTO;
Values: string[];
}
export interface MoveDocumentDTO
{
IncludePreVersions: boolean;
Item: IdLocationNameIdentityDTO;
ResponseDetails: ResponseDetailsType;
Target: LocationNameIdentityDTO;
}
export interface NewDocumentDTO extends NewItemIdentityDTO
{
Attributes: AttributeDTO[];
ObjectType: ObjectTypeIdentityDTO;
}
export interface UpdateDocumentDTO
{
CreateNewVersion: boolean;
Item: ExistingDocumentDTO;
ResponseDetails: ResponseDetailsType;
}
export interface HistoryResponseContainerDTO extends DocumentResponseContainerDTO
{
History: HistoryItemResponseDTO[];
CanAddNewEntries: boolean;
}
export interface HistoryItemResponseDTO
{
HistoryDate: string;
HistoryCreatorName: string;
HistoryAction: string;
HistoryComment: string;
}
export interface HistoryItemContainerDTO
{
HistoryComment: string;
Item: IdLocationNameIdentityDTO;
}
export interface HtmlPreviewDTO
{
AbsoluteCacheDir: string;
AbsoluteTemplatePath: string;
FontDpi: number;
GraphicType: GraphicType;
HttpUrlPrefix: string;
Item: IdLocationNameIdentityDTO;
JpegQuality: number;
NumberOfPages: number;
Resolution: ResolutionDTO;
}
export interface HtmlPreviewResponseContainerDTO extends ItemResponseContainerDTO
{
PreviewUrl: string;
}
export interface ResolutionDTO
{
Height: number;
Width: number;
}
export const enum GraphicType
{
Undefined = 0,
Jpeg = 1,
Gif = 2,
Png = 3
}
export const enum LifecyclePeriodNorms {
None = 131072,
MonthFirst = 262144,
MonthLast = 524288,
QuarterFirst = 1048576,
QuarterLast = 2097152,
YearFirst = 4194304,
YearLast = 8388608
}
export const enum LifecyclePeriodUnits {
Day = 16777216,
Week = 33554432,
Month = 67108864,
Year = 134217728
}
export const enum LifecyclePeriodBases {
EndEditPeriod = 1,
Created = 16384,
Updated = 32768,
EndPreviousPeriod = 65536
}
export interface LifecycleParameterDTO {
Start: string,
End: string,
Norm: LifecyclePeriodNorms;
Unit: LifecyclePeriodUnits;
Period: number;
PeriodBase: LifecyclePeriodBases;
IsLifeCycleRuleChanged: boolean;
IsManualChanged: boolean;
IsManualEdit: boolean;
IsManualMove: boolean;
IsNoAutoMove: boolean;
IsNoSelfContained: boolean;
}
export interface LifecycleResponseContainerDTO extends ResponseContainerDTO {
Document: LifecycleResponseDTO;
ObjectType: LifecycleResponseDTO;
}
export interface LifecycleResponseDTO {
Editable: LifecycleParameterDTO;
Archived: LifecycleParameterDTO;
}