UNPKG

@zextras/carbonio-shell-ui

Version:

The Zextras Carbonio web client

111 lines (110 loc) 2.84 kB
import type { NameSpace } from './index'; import type { BaseFolder, LinkFolderFields, SearchFolderFields } from '../misc'; import type { Tag } from '../tags'; export interface RawSoapHeader { context: RawSoapContext; } export interface SoapHeader { context: SoapContext; } export type SoapBody<TBody = Record<string, unknown>> = TBody & { _jsns: NameSpace; }; export interface RawSuccessSoapResponse<R> { Body: R; Header: RawSoapHeader; } export interface SuccessSoapResponse<R> { Body: Record<string, R>; Header: SoapHeader; } export interface SoapFault { Detail: { Error: { Code: string; Trace: string; }; }; Reason: { Text: string; }; Code: { Value: string; }; } export type ErrorSoapBodyResponse = { Fault: SoapFault; }; export interface RawErrorSoapResponse { Body: ErrorSoapBodyResponse; Header: RawSoapHeader; } export type ErrorSoapResponse = { Body: ErrorSoapBodyResponse; Header: SoapHeader; }; export type RawSoapResponse<R extends Record<string, unknown>> = RawSuccessSoapResponse<R> | RawErrorSoapResponse; export declare function isRawErrorSoapResponse(item: RawSoapResponse<Record<string, unknown>>): item is RawErrorSoapResponse; export type SoapResponse<R> = SuccessSoapResponse<R> | ErrorSoapResponse; export type SoapRequest<R extends Record<string, unknown>> = { Body: Record<string, SoapBody<R>>; Header: SoapHeader; }; export interface RawSoapContext { refresh?: SoapRefresh; notify?: Array<RawSoapNotify>; change?: { token: number; }; session?: { id: number; _content: number; }; } export interface SoapContext extends Omit<RawSoapContext, 'notify'> { notify?: Array<SoapNotify>; } export type SoapFolder = BaseFolder & { folder?: Array<SoapFolder>; link?: Array<SoapLink>; search?: Array<SoapSearchFolder>; }; export type SoapSearchFolder = SoapFolder & SearchFolderFields; export type SoapLink = SoapFolder & LinkFolderFields; export type SoapRefresh = { seq?: number; version?: string; mbx?: [{ s: number; }]; folder?: SoapFolder[]; tags?: { tag: Array<Tag>; }; }; export type RawSoapNotify = { seq: number; created?: { m?: Array<unknown>; c?: Array<unknown>; folder?: Array<SoapFolder>; link?: Array<SoapLink>; tag?: Array<Tag>; }; modified?: { m?: Array<unknown>; c?: Array<unknown>; folder?: Array<Partial<SoapFolder>>; link?: Array<Partial<SoapLink>>; tag?: Array<Partial<Tag>>; mbx: [{ s: number; }]; }; deleted?: { id?: string; }; }; export type SoapNotify = Omit<RawSoapNotify, 'deleted'> & { deleted: string[]; };