UNPKG

nakedobjects.spa

Version:

Single Page Application client for a Naked Objects application.

232 lines (231 loc) 7.13 kB
import { ICustomListRepresentation } from './ro-interfaces-custom'; export declare type HttpMethodsType = "POST" | "PUT" | "GET" | "DELETE"; export interface ILink { id?: string; rel?: string; href: string; type?: string; method?: HttpMethodsType; title?: string; arguments?: IValue | IValueMap; extensions?: IExtensions; } export declare type FormatType = "string" | "date-time" | "date" | "time" | "utc-millisec" | "big-integer" | "big-decimal" | "blob" | "clob" | "decimal" | "int"; export interface IExtensions { friendlyName?: string; description?: string; returnType?: string; optional?: boolean; hasParams?: boolean; elementType?: string; domainType?: string; pluralName?: string; format?: FormatType; memberOrder?: number; isService?: boolean; minLength?: number; maxLength?: number; pattern?: string; } export interface IDomainObjectExtensions extends IExtensions { friendlyName: string; description: string; domainType: string; pluralName: string; isService: boolean; } export interface IPropertyExtensions extends IExtensions { friendlyName: string; description: string; returnType: string; optional: boolean; memberOrder: number; } export interface ICollectionExtensions extends IExtensions { friendlyName: string; description: string; returnType: string; elementType: string; pluralName: string; memberOrder: number; } export interface IActionExtensions extends IExtensions { friendlyName: string; description: string; returnType: string; hasParams: boolean; memberOrder: number; } export interface IParameterExtensions extends IExtensions { friendlyName: string; description: string; returnType: string; optional: boolean; } export interface IRepresentation { } export interface IResourceRepresentation extends IRepresentation { links: ILink[]; extensions: IExtensions; } export interface IHomePageRepresentation extends IResourceRepresentation { } export interface IUserRepresentation extends IResourceRepresentation { userName: string; friendlyName: string; email: string; roles: string[]; } export interface IDomainServicesRepresentation extends IResourceRepresentation { value: ILink[]; } export interface IOptionalCapabilities { blobsClobs: string; deleteObjects: string; domainModel: string; protoPersistentObjects: string; validateOnly: string; } export interface IVersionRepresentation extends IResourceRepresentation { specVersion: string; implVersion?: string; optionalCapabilities: IOptionalCapabilities; } export declare type ScalarValueType = string | number | boolean | null; export declare type ValueType = ScalarValueType | ILink; export interface IValue { value: ValueType | ValueType[] | Blob | null; invalidReason?: string; } export interface IValueMap { [index: string]: IValue | string; } export interface IObjectOfType { members: IValueMap; "x-ro-invalidReason"?: string; } export interface IPromptMap { [index: string]: IValue | string | IValueMap; } export interface IErrorDetailsRepresentation { message: string; stackTrace?: string[]; } export interface IErrorRepresentation extends IResourceRepresentation, IErrorDetailsRepresentation { causedBy?: IErrorDetailsRepresentation; } export interface IListRepresentation extends IResourceRepresentation { value: ILink[]; } export interface IScalarValueRepresentation extends IResourceRepresentation { value: ScalarValueType; } export declare type MemberTypeType = "action" | "collection" | "property"; export interface IMember extends IResourceRepresentation { memberType: MemberTypeType; disabledReason?: string; } export interface IPropertyMember extends IMember { value?: ValueType; choices?: ValueType[]; hasChoices: boolean; extensions: IPropertyExtensions; } export interface ICollectionMember extends IMember { value?: ILink[]; size?: number; extensions: ICollectionExtensions; } export interface IActionMember extends IMember { id: string; parameters: { [index: string]: IParameterRepresentation; }; extensions: IActionExtensions; } export interface IDomainObjectRepresentation extends IResourceRepresentation { domainType?: string; instanceId?: string; serviceId?: string; title: string; members: { [index: string]: IPropertyMember | IActionMember | ICollectionMember; }; extensions: IDomainObjectExtensions; } export declare type ResultTypeType = "object" | "list" | "scalar" | "void"; export interface IActionInvokeRepresentation extends IResourceRepresentation { resultType: ResultTypeType; result?: IDomainObjectRepresentation | ICustomListRepresentation | IScalarValueRepresentation; } export interface IParameterRepresentation extends IResourceRepresentation { choices?: ValueType[]; default?: ValueType; extensions: IParameterExtensions; } export interface IActionRepresentation extends IResourceRepresentation { id: string; parameters: { [index: string]: IParameterRepresentation; }; disabledReason?: string; extensions: IActionExtensions; } export interface IPropertyRepresentation extends IResourceRepresentation { id: string; value?: ValueType; choices?: ValueType[]; disabledReason?: string; extensions: IPropertyExtensions; } export interface ICollectionRepresentation extends IResourceRepresentation { id: string; value?: ILink[]; disabledReason?: string; extensions: ICollectionExtensions; } export interface IDomainTypeRepresentation extends IResourceRepresentation { name: string; domainType: string; friendlyName: string; pluralName: string; description: string; isService: string; typeActions: string; members: { [index: string]: ILink; }; } export interface IDomainTypePropertyDescriptionRepresentation extends IResourceRepresentation { id: string; friendlyName: string; pluralName: string; description: string; optional: boolean; maxlength: number; pattern: string; memberOrder: string; format: string; isService: string; typeActions: string; } export interface IDomainTypeCollectionDescriptionRepresentation extends IResourceRepresentation { id: string; friendlyName: string; pluralForm: string; description: string; optional: boolean; maxlength: number; pattern: string; memberOrder: string; format: string; typeActions: string; } export interface IDomainTypeActionInvokeRepresentation extends IResourceRepresentation { id: string; value: boolean; } export interface IPromptRepresentation extends IResourceRepresentation { id: string; choices?: ValueType[]; }