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

122 lines
3.3 KiB
TypeScript

import
{
AttributeDTO,
ResponseContainerDTO,
AttributeResponseDTO,
IdLocationNameIdentityDTO,
LocationNameIdentityDTO,
IdLocationNameIdentityResponseDTO,
ObjectTypeIdentityDTO,
ItemResponseContainerDTO,
ExistingItemIdentityDTO,
ResponseDetailsType,
WSAttributeFlags,
ItemEntityDTO,
NewItemIdentityDTO
} from './Windream.WebService';
export interface IDirectoriesController
{
Create(parameter: CreateDirectoryDTO): DirectoryResponseContainerDTO;
CreateBulk(parameters: CreateDirectoryDTO[]): DirectoryResponseContainerDTO[];
Delete(parameter: DeleteDirectoryDTO): DirectoryResponseContainerDTO;
DeleteBulk(parameters: DeleteDirectoryDTO[]): DirectoryResponseContainerDTO[];
Update(parameter: UpdateDirectoryDTO): DirectoryResponseContainerDTO;
UpdateBulk(parameters: UpdateDirectoryDTO[]): DirectoryResponseContainerDTO[];
GetDetails(id: Number): DirectoryResponseContainerDTO;
GetDetails(parameter: GetDirectoryDetailsDTO): DirectoryResponseContainerDTO;
GetDetailsBulk(parameters: GetDirectoryDetailsDTO[]): DirectoryResponseContainerDTO[];
GetSubObjects(parameter: GetSubObjectsDTO): ItemResponseContainerDTO[];
Move(parameter: MoveDirectoryDTO): DirectoryResponseContainerDTO;
MoveBulk(parameters: MoveDirectoryDTO[]): DirectoryResponseContainerDTO[];
Copy(parameter: CopyDirectoryDTO): DirectoryResponseContainerDTO;
CopyBulk(parameters: CopyDirectoryDTO[]): DirectoryResponseContainerDTO[];
}
export const enum CopyDirectoryFlags
{
FolderOnly = 0,
WithFiles = 2,
WithSubTree = 4
}
export const enum SubObjectFlags
{
None = 1,
IncludePreVersions = 2,
Recursive = 4
}
export interface CopyDirectoryDTO
{
Flags: CopyDirectoryFlags;
Item: IdLocationNameIdentityDTO;
Target: LocationNameIdentityDTO;
}
export interface CreateDirectoryDTO
{
CreateTree: boolean;
Item: NewDirectoryDTO;
ResponseDetails: ResponseDetailsType;
}
export interface DeleteDirectoryDTO
{
Item: IdLocationNameIdentityDTO;
Recursive: boolean;
ResponseDetails: ResponseDetailsType;
}
export interface DirectoryResponseContainerDTO extends ResponseContainerDTO
{
Item: DirectoryResponseDTO;
}
export interface DirectoryResponseDTO extends IdLocationNameIdentityResponseDTO
{
Attributes: AttributeResponseDTO[];
ObjectType: ObjectTypeIdentityDTO;
ParentWindreamObject: IdLocationNameIdentityResponseDTO;
}
export interface ExistingDirectoryIdentityDTO extends ExistingItemIdentityDTO
{
Attributes: AttributeDTO[];
ObjectType: ObjectTypeIdentityDTO;
}
export interface GetDirectoryDetailsDTO
{
AttributeFlags: WSAttributeFlags;
Item: IdLocationNameIdentityDTO;
Values: string[];
}
export interface GetSubObjectsDTO
{
Entity: ItemEntityDTO;
Filter: string;
Flags: SubObjectFlags;
Item: IdLocationNameIdentityDTO;
}
export interface MoveDirectoryDTO
{
Item: IdLocationNameIdentityDTO;
ResponseDetails: ResponseDetailsType;
Target: LocationNameIdentityDTO;
}
export interface NewDirectoryDTO extends NewItemIdentityDTO
{
Attributes: AttributeDTO[];
ObjectType: ObjectTypeIdentityDTO;
}
export interface UpdateDirectoryDTO
{
Item: ExistingDirectoryIdentityDTO;
ResponseDetails: ResponseDetailsType;
}