Comparing version 3.1.0 to 3.2.0
@@ -1,13 +0,15 @@ | ||
import { Domain, DomainModule, ISearchFilter, ISearchQueryWithFiltersSimple } from 'bf-types'; | ||
import { Domain, DomainModule, SearchFilter, SearchOptions as BfSearchOptions } from 'bf-types'; | ||
import { Nullable } from '../common'; | ||
import type { ObjectType } from '../system/Types'; | ||
import type { HeadersType, ObjectType } from '../system/Types'; | ||
import { RequestMethod } from './Consts'; | ||
export declare type SearchOptions = Omit<ISearchQueryWithFiltersSimple, 'filters'>; | ||
export declare type SearchOptions<H extends HeadersType = HeadersType> = Omit<BfSearchOptions, 'filters'> & { | ||
headers?: H; | ||
}; | ||
export interface Api { | ||
<R = any, P = ObjectType, H = ObjectType>(method: RequestMethod, uri: string, data?: P, headers?: H): Promise<Nullable<R>>; | ||
get: <R = any, P = ObjectType, H = ObjectType>(uri: string, params?: P, headers?: H) => Promise<Nullable<R>>; | ||
delete: <R = any, P = ObjectType, H = ObjectType>(uri: string, params?: P, headers?: H) => Promise<Nullable<R>>; | ||
post: <R = any, P = ObjectType, H = ObjectType>(uri: string, payload?: P, headers?: H) => Promise<Nullable<R>>; | ||
put: <R = any, P = ObjectType, H = ObjectType>(uri: string, payload?: P, headers?: H) => Promise<Nullable<R>>; | ||
search: <T = any>(domain: Domain, module: DomainModule, filters: ISearchFilter[], options?: SearchOptions) => Promise<T[]>; | ||
<R = any, P = ObjectType, H extends HeadersType = HeadersType>(method: RequestMethod, uri: string, data?: P, headers?: H): Promise<Nullable<R>>; | ||
get: <R = any, P = ObjectType, H extends HeadersType = HeadersType>(uri: string, params?: P, headers?: H) => Promise<Nullable<R>>; | ||
delete: <R = any, P = ObjectType, H extends HeadersType = HeadersType>(uri: string, params?: P, headers?: H) => Promise<Nullable<R>>; | ||
post: <R = any, P = ObjectType, H extends HeadersType = HeadersType>(uri: string, payload?: P, headers?: H) => Promise<Nullable<R>>; | ||
put: <R = any, P = ObjectType, H extends HeadersType = HeadersType>(uri: string, payload?: P, headers?: H) => Promise<Nullable<R>>; | ||
search: <T = any, H extends HeadersType = HeadersType>(domain: Domain, module: DomainModule, filters: SearchFilter[], options?: SearchOptions<H>) => Promise<T[]>; | ||
} |
@@ -1,20 +0,20 @@ | ||
import { ISearchFilter, ModuleProperty, SearchFilterValuePrimitives, SearchFilterValueType } from 'bf-types'; | ||
import { ModuleProperty, SearchFilter, SearchFilterConstraint, SearchFilterValuePrimitives, SearchFilterValueType } from 'bf-types'; | ||
export declare type SearchFilterPair = [string | ModuleProperty, SearchFilterValueType]; | ||
export declare type PairOrFilter = ISearchFilter | SearchFilterPair; | ||
export declare function searchFilter(fieldName: string | ModuleProperty, fieldValue: SearchFilterValueType): ISearchFilter; | ||
export declare function searchFilters(...filters: PairOrFilter[]): ISearchFilter[]; | ||
export declare const containsFilter: (fieldName: string | ModuleProperty, value: SearchFilterValuePrimitives, constraint?: import("bf-types").NestedFieldSearchFilterConstraint | undefined) => ISearchFilter; | ||
export declare const containsLikeTextFitler: (fieldName: string | ModuleProperty, value: string, constraint?: import("bf-types").NestedFieldSearchFilterConstraint | undefined) => ISearchFilter; | ||
export declare const containsInListFilter: (fieldName: string | ModuleProperty, values: SearchFilterValuePrimitives[], constraint?: import("bf-types").NestedFieldSearchFilterConstraint | undefined) => ISearchFilter; | ||
export declare const exactMatchFilter: (fieldName: string | ModuleProperty, value: SearchFilterValuePrimitives, constraint?: import("bf-types").NestedFieldSearchFilterConstraint | undefined) => ISearchFilter; | ||
export declare const greaterThanFilter: (fieldName: string | ModuleProperty, value: SearchFilterValuePrimitives, constraint?: import("bf-types").NestedFieldSearchFilterConstraint | undefined) => ISearchFilter; | ||
export declare const greaterThanOrEqualFilter: (fieldName: string | ModuleProperty, value: SearchFilterValuePrimitives, constraint?: import("bf-types").NestedFieldSearchFilterConstraint | undefined) => ISearchFilter; | ||
export declare const inListFilter: (fieldName: string | ModuleProperty, values: SearchFilterValuePrimitives[], constraint?: import("bf-types").NestedFieldSearchFilterConstraint | undefined) => ISearchFilter; | ||
export declare const lessThanFilter: (fieldName: string | ModuleProperty, value: SearchFilterValuePrimitives, constraint?: import("bf-types").NestedFieldSearchFilterConstraint | undefined) => ISearchFilter; | ||
export declare const lessThanOrEqualFilter: (fieldName: string | ModuleProperty, value: SearchFilterValuePrimitives, constraint?: import("bf-types").NestedFieldSearchFilterConstraint | undefined) => ISearchFilter; | ||
export declare const likeTextFilter: (fieldName: string | ModuleProperty, value: string, constraint?: import("bf-types").NestedFieldSearchFilterConstraint | undefined) => ISearchFilter; | ||
export declare const notContainsInListFilter: (fieldName: string | ModuleProperty, values: SearchFilterValuePrimitives[], constraint?: import("bf-types").NestedFieldSearchFilterConstraint | undefined) => ISearchFilter; | ||
export declare const notEqualFilter: (fieldName: string | ModuleProperty, value: SearchFilterValuePrimitives, constraint?: import("bf-types").NestedFieldSearchFilterConstraint | undefined) => ISearchFilter; | ||
export declare const notInListFilter: (fieldName: string | ModuleProperty, values: SearchFilterValuePrimitives[], constraint?: import("bf-types").NestedFieldSearchFilterConstraint | undefined) => ISearchFilter; | ||
export declare const rangeFilter: (fieldName: string | ModuleProperty, start: SearchFilterValuePrimitives, end: SearchFilterValuePrimitives) => ISearchFilter; | ||
export declare const temporalDateRangeFilter: (fieldName: string | ModuleProperty, start: SearchFilterValuePrimitives, end: SearchFilterValuePrimitives, constraint: import("bf-types").SearchFilterConstraint) => ISearchFilter; | ||
export declare type PairOrFilter = SearchFilter | SearchFilterPair; | ||
export declare function searchFilter(fieldName: string | ModuleProperty, fieldValue: SearchFilterValueType): SearchFilter; | ||
export declare function searchFilters(...filters: PairOrFilter[]): SearchFilter[]; | ||
export declare const containsFilter: (fieldName: string | ModuleProperty, value: SearchFilterValuePrimitives, constraint?: import("bf-types").NestedFieldSearchFilterConstraint | undefined) => SearchFilter; | ||
export declare const containsLikeTextFitler: (fieldName: string | ModuleProperty, value: string, constraint?: import("bf-types").NestedFieldSearchFilterConstraint | undefined) => SearchFilter; | ||
export declare const containsInListFilter: (fieldName: string | ModuleProperty, values: SearchFilterValuePrimitives[], constraint?: import("bf-types").NestedFieldSearchFilterConstraint | undefined) => SearchFilter; | ||
export declare const exactMatchFilter: (fieldName: string | ModuleProperty, value: SearchFilterValuePrimitives, constraint?: import("bf-types").NestedFieldSearchFilterConstraint | undefined) => SearchFilter; | ||
export declare const greaterThanFilter: (fieldName: string | ModuleProperty, value: SearchFilterValuePrimitives, constraint?: import("bf-types").NestedFieldSearchFilterConstraint | undefined) => SearchFilter; | ||
export declare const greaterThanOrEqualFilter: (fieldName: string | ModuleProperty, value: SearchFilterValuePrimitives, constraint?: import("bf-types").NestedFieldSearchFilterConstraint | undefined) => SearchFilter; | ||
export declare const inListFilter: (fieldName: string | ModuleProperty, values: SearchFilterValuePrimitives[], constraint?: import("bf-types").NestedFieldSearchFilterConstraint | undefined) => SearchFilter; | ||
export declare const lessThanFilter: (fieldName: string | ModuleProperty, value: SearchFilterValuePrimitives, constraint?: import("bf-types").NestedFieldSearchFilterConstraint | undefined) => SearchFilter; | ||
export declare const lessThanOrEqualFilter: (fieldName: string | ModuleProperty, value: SearchFilterValuePrimitives, constraint?: import("bf-types").NestedFieldSearchFilterConstraint | undefined) => SearchFilter; | ||
export declare const likeTextFilter: (fieldName: string | ModuleProperty, value: string, constraint?: import("bf-types").NestedFieldSearchFilterConstraint | undefined) => SearchFilter; | ||
export declare const notContainsInListFilter: (fieldName: string | ModuleProperty, values: SearchFilterValuePrimitives[], constraint?: import("bf-types").NestedFieldSearchFilterConstraint | undefined) => SearchFilter; | ||
export declare const notEqualFilter: (fieldName: string | ModuleProperty, value: SearchFilterValuePrimitives, constraint?: import("bf-types").NestedFieldSearchFilterConstraint | undefined) => SearchFilter; | ||
export declare const notInListFilter: (fieldName: string | ModuleProperty, values: SearchFilterValuePrimitives[], constraint?: import("bf-types").NestedFieldSearchFilterConstraint | undefined) => SearchFilter; | ||
export declare const rangeFilter: (fieldName: string | ModuleProperty, start: SearchFilterValuePrimitives, end: SearchFilterValuePrimitives) => SearchFilter; | ||
export declare const temporalDateRangeFilter: (fieldName: string | ModuleProperty, start: SearchFilterValuePrimitives, end: SearchFilterValuePrimitives, constraint: SearchFilterConstraint) => SearchFilter; |
@@ -1,1 +0,1 @@ | ||
export { Module } from './Types'; | ||
export { Module, ModuleEntity } from './Types'; |
@@ -30,33 +30,27 @@ "use strict"; | ||
} | ||
function baseGet(api, domain, module, id) { | ||
function baseGet(api, domain, module, id, headers) { | ||
const uri = entityUri(domain, module, id); | ||
return api.get(uri); | ||
return api.get(uri, undefined, headers); | ||
} | ||
function baseBulkCreate(api, domain, module, data) { | ||
function baseBulkCreate(api, domain, module, data, headers) { | ||
return __awaiter(this, void 0, void 0, function* () { | ||
const bulkCreateUri = entityUri(domain, module, 'bulkCreate'); | ||
const response = yield api.post(bulkCreateUri, data); | ||
const response = yield api.post(bulkCreateUri, data, headers); | ||
return response ? response : []; | ||
}); | ||
} | ||
function baseCreate(api, domain, module, data) { | ||
function baseCreate(api, domain, module, data, headers) { | ||
const uri = entityUri(domain, module, 'create'); | ||
return api.post(uri, data); | ||
return api.post(uri, data, headers); | ||
} | ||
function baseDelete(api, domain, module, id, data) { | ||
function baseDelete(api, domain, module, id, data, headers) { | ||
const uri = entityUri(domain, module, 'delete'); | ||
return api.post(uri, Object.assign(Object.assign({}, data), { id })); | ||
return api.post(uri, Object.assign(Object.assign({}, data), { id }), headers); | ||
} | ||
function baseSearch(api, domain, module, filters, options) { | ||
return __awaiter(this, void 0, void 0, function* () { | ||
const domainUri = common_1.domainToUri(domain); | ||
const moduleUri = common_1.moduleToUri(module); | ||
const uri = `${domainUri}/${moduleUri}/search`; | ||
const response = yield api.put(uri, Object.assign(Object.assign({}, options), { filters })); | ||
return response ? response : []; | ||
}); | ||
return api.search(domain, module, filters, options); | ||
} | ||
function baseView(api, domain, module, id, data) { | ||
function baseView(api, domain, module, id, data, headers) { | ||
const uri = entityUri(domain, module, 'view'); | ||
return api.post(uri, Object.assign(Object.assign({}, data), { id })); | ||
return api.post(uri, Object.assign(Object.assign({}, data), { id }), headers); | ||
} | ||
@@ -68,13 +62,13 @@ function entity(domain, module) { | ||
const api = system_1.default.getLibModule(system_1.LibModule.API); | ||
function get(id) { | ||
return baseGet(api, entityDomain, entityModule, id); | ||
function get(id, headers) { | ||
return baseGet(api, entityDomain, entityModule, id, headers); | ||
} | ||
function bulkCreate(data) { | ||
return baseBulkCreate(api, entityDomain, entityModule, data); | ||
function bulkCreate(data, headers) { | ||
return baseBulkCreate(api, entityDomain, entityModule, data, headers); | ||
} | ||
function create(data) { | ||
return baseCreate(api, entityDomain, entityModule, data); | ||
function create(data, headers) { | ||
return baseCreate(api, entityDomain, entityModule, data, headers); | ||
} | ||
function del(id, data) { | ||
return baseDelete(api, entityDomain, entityModule, id, data); | ||
function del(id, data, headers) { | ||
return baseDelete(api, entityDomain, entityModule, id, data, headers); | ||
} | ||
@@ -84,4 +78,4 @@ function search(filters, options) { | ||
} | ||
function view(id, data) { | ||
return baseView(api, entityDomain, entityModule, id, data); | ||
function view(id, data, headers) { | ||
return baseView(api, entityDomain, entityModule, id, data, headers); | ||
} | ||
@@ -88,0 +82,0 @@ return Object.freeze({ |
@@ -1,5 +0,5 @@ | ||
import { Domain, DomainModule, ICustomAttribute, ICustomAttributeAddedDTO, ICustomAttributeRemovedDTO, ICustomAttributeUpdatedDTO, IEntity, IModuleLink, ISearchFilter, ISODATE, ModuleProperty, UUID } from 'bf-types'; | ||
import { Domain, DomainModule, ICustomAttribute, ICustomAttributeAddedDTO, ICustomAttributeRemovedDTO, ICustomAttributeUpdatedDTO, IEntity, IModuleLink, ISODATE, ModuleProperty, SearchFilter, UUID } from 'bf-types'; | ||
import { SearchOptions } from '../api/Types'; | ||
import { Nullable, PartialExceptFor } from '../common'; | ||
import type { ObjectType } from '../system/Types'; | ||
import type { HeadersType, ObjectType } from '../system/Types'; | ||
declare type GeneratedProperties = { | ||
@@ -15,8 +15,8 @@ id: UUID; | ||
export interface ModuleEntity<T extends IEntity = IEntity> { | ||
get(id: UUID): Promise<Nullable<T>>; | ||
bulkCreate(data: Array<InsertData<T>>): Promise<Array<T & IModuleLink>>; | ||
create(data: InsertData<T>): Promise<Nullable<T & IModuleLink>>; | ||
delete<U extends ObjectType>(id: UUID, data?: U): Promise<Nullable<T & IModuleLink>>; | ||
search(filters: ISearchFilter[], options?: SearchOptions): Promise<T[]>; | ||
view<U extends ObjectType>(id: UUID, data?: U): Promise<Nullable<IModuleLink>>; | ||
get: <H extends HeadersType = HeadersType>(id: UUID, headers?: H) => Promise<Nullable<T>>; | ||
bulkCreate: <H extends HeadersType = HeadersType>(data: Array<InsertData<T>>, headers?: H) => Promise<Array<T & IModuleLink>>; | ||
create: <H extends HeadersType = HeadersType>(data: InsertData<T>, headers?: H) => Promise<Nullable<T & IModuleLink>>; | ||
delete: <U extends ObjectType, H extends HeadersType = HeadersType>(id: UUID, data?: U, headers?: H) => Promise<Nullable<T & IModuleLink>>; | ||
search: <H extends HeadersType = HeadersType>(filters: SearchFilter[], options?: SearchOptions<H>) => Promise<T[]>; | ||
view: <U extends ObjectType, H extends HeadersType = HeadersType>(id: UUID, data?: U, headers?: H) => Promise<Nullable<IModuleLink>>; | ||
} | ||
@@ -27,3 +27,3 @@ export interface ExternalModuleEntity<T extends IEntity = IEntity> { | ||
update(data: PartialExceptFor<T, 'id'>): Promise<Nullable<T>>; | ||
search(filters: ISearchFilter[], options?: SearchOptions): Promise<T[]>; | ||
search(filters: SearchFilter[], options?: SearchOptions): Promise<T[]>; | ||
addCustomAttribute<A>(moduleId: UUID, attribute: Omit<ICustomAttribute<A>, 'id'>): Promise<Nullable<ICustomAttributeAddedDTO>>; | ||
@@ -34,6 +34,6 @@ removeCustomAttribute(moduleId: UUID, attributeId: UUID): Promise<Nullable<ICustomAttributeRemovedDTO>>; | ||
export interface ModuleInternal { | ||
get<T extends IEntity = IEntity>(domain: Domain, module: DomainModule, id: UUID): Promise<Nullable<T>>; | ||
create<T extends IEntity = IEntity>(domain: Domain, module: DomainModule, data: InsertData<T>): Promise<Nullable<T & IModuleLink>>; | ||
delete<T extends IEntity = IEntity, U extends ObjectType = ObjectType>(domain: Domain, module: DomainModule, id: UUID, data?: U): Promise<Nullable<T & IModuleLink>>; | ||
view<U extends ObjectType>(domain: Domain, module: DomainModule, id: UUID, data?: U): Promise<Nullable<IModuleLink>>; | ||
get: <T extends IEntity = IEntity, H extends HeadersType = HeadersType>(domain: Domain, module: DomainModule, id: UUID, headers?: H) => Promise<Nullable<T>>; | ||
create: <T extends IEntity = IEntity, H extends HeadersType = HeadersType>(domain: Domain, module: DomainModule, data: InsertData<T>, headers?: H) => Promise<Nullable<T & IModuleLink>>; | ||
delete: <T extends IEntity = IEntity, U extends ObjectType = ObjectType, H extends HeadersType = HeadersType>(domain: Domain, module: DomainModule, id: UUID, data?: U, headers?: H) => Promise<Nullable<T & IModuleLink>>; | ||
view: <U extends ObjectType, H extends HeadersType = HeadersType>(domain: Domain, module: DomainModule, id: UUID, data?: U, headers?: H) => Promise<Nullable<IModuleLink>>; | ||
/** | ||
@@ -44,3 +44,3 @@ * Create an object with access to external module APIs | ||
*/ | ||
external<T extends IEntity = any>(moduleName: string): ExternalModuleEntity<T>; | ||
external: <T extends IEntity = any>(moduleName: string) => ExternalModuleEntity<T>; | ||
} | ||
@@ -47,0 +47,0 @@ export interface Module<T extends IEntity = IEntity> extends ModuleInternal { |
{ | ||
"name": "bf-lib", | ||
"version": "3.1.0", | ||
"version": "3.2.0", | ||
"private": false, | ||
@@ -5,0 +5,0 @@ "description": "the standard client library for block-5 software", |
@@ -5,2 +5,3 @@ import { EnumLiteralsOf, IUserEntity } from 'bf-types'; | ||
import { Nexus } from './Nexus'; | ||
export declare type HeadersType = Record<string, string>; | ||
export declare type ObjectType = Record<string, any>; | ||
@@ -7,0 +8,0 @@ export declare type Lock<T> = (suppliedKey: symbol) => T; |
86896
1956