UNPKG

@omnia/fx

Version:

Provide Omnia Fx typings and tooling for clientside Omnia development.

23 lines (22 loc) 1.59 kB
import { OmniaNamedModel, GuidValue, ApiResponse, IOmniaPropertyBag, IMessageBusTopicSubscription } from "../../models"; import { HttpClient } from "../http"; import { AxiosResponse } from "axios"; export declare abstract class OmniaPropertyBagBase<T extends OmniaNamedModel> implements IOmniaPropertyBag<T> { protected httpClient: HttpClient; private currentProperties; private retrivedPropertiesPromise; private propertyBagChangedPublishSubscriber; protected abstract createAddOrUpdateRequest: (route: string, values: Array<T>) => Promise<AxiosResponse<ApiResponse<Array<T>>>>; protected abstract createGetAllValuesRequest: (route: string) => Promise<AxiosResponse<ApiResponse<Array<T>>>>; protected abstract createRemoveValuesRequest: (route: string, values: Array<T>) => Promise<AxiosResponse<ApiResponse<void>>>; protected abstract createRemoveAllValuesRequest: (route: string) => Promise<AxiosResponse<ApiResponse<void>>>; protected abstract createRemoveOmniaServiceValuesRequest: (route: string, omniaServiceId: GuidValue) => Promise<AxiosResponse<ApiResponse<void>>>; constructor(initialProperties?: Array<T>); getModel: <Model extends T>(model: new () => Model) => Model; addOrUpdate: (...args: Array<T>) => Promise<Array<T>>; getAllValues: (forceGetFromServer?: boolean) => Promise<Array<T>>; removeValues: (...args: Array<T>) => Promise<void>; removeAllValues: () => Promise<void>; removeOmniaServiceValues: (omniaServiceId: GuidValue) => Promise<void>; onChanged: () => IMessageBusTopicSubscription<void>; }