UNPKG

react-application-core

Version:

A react-based application core for the business applications.

37 lines (36 loc) 1.43 kB
import { IAddApiWrapper, IApiEntityWrapper, IDiffWrapper, IEditApiWrapper, IEntity, IExtraParamsWrapper, IKeyValue, IOperationWrapper } from '../definitions.interface'; import { IExtendedEntity } from './entity-definition.interface'; import { IOperationEntity } from './operation-definition.interface'; import { IPlaceGeoCodeRequestEntity, ISearchPlacesEntity } from './place-field-definition.interface'; import { IFluxEntity } from './flux-definition.interface'; /** * @entity * @stable [18.04.2020] */ export interface IApiEntity<TEntity = IEntity> extends IDiffWrapper<TEntity>, IExtendedEntity<TEntity> { } /** * @wrapper-entity * @stable [18.04.2020] */ export interface IApiWrapperEntity<TEntity = IEntity> extends IApiEntityWrapper<IApiEntity<TEntity>> { } /** * @entity * @stable [16.05.2020] */ export interface IUpdateEntity<TEntity extends IEntity, TExtraParams = IKeyValue> extends IAddApiWrapper, IApiWrapperEntity<TEntity>, IEditApiWrapper, IExtraParamsWrapper<TExtraParams>, IOperationWrapper<IOperationEntity> { } /** * TODO Move to place definition */ export interface IPlaceApi { getPlaceGeoCode<TResult>(request: IPlaceGeoCodeRequestEntity): TResult; searchPlaces<TResult>(request: ISearchPlacesEntity): TResult; } /** * @flux-entity * @stable [16.12.2020] */ export interface IFluxApiEntity<TEntity = IEntity> extends IFluxEntity<IApiEntity<TEntity>> { }