@sourceloop/core / Exports / RestServiceModifier
Class: RestServiceModifier<T, S>¶
Type parameters¶
| Name | Type |
|---|---|
T |
extends Entity |
S |
extends Entity |
Implements¶
Provider<CrudRestServiceModifier<T>>
Table of contents¶
Constructors¶
Properties¶
Methods¶
- _configsHaveRelations
- _extraFilters
- _relationsFromFilter
- _resolveRelations
- _updateFilter
- count
- create
- delete
- deleteById
- find
- findById
- replaceById
- update
- updateById
- value
Constructors¶
constructor¶
• new RestServiceModifier<T, S>(resolverGetter, _validateToken, req?)
Type parameters¶
| Name | Type |
|---|---|
T |
extends Entity<T> |
S |
extends Entity<S> |
Parameters¶
| Name | Type |
|---|---|
resolverGetter |
Getter<IRestResolver<T, S>[]> |
_validateToken |
(context: RestServiceModifier<T, S>, token?: string) => string |
req? |
Request<ParamsDictionary, any, any, ParsedQs, Record<string, any>> |
Defined in¶
packages/core/src/components/proxy-builder/services/rest-service-modifier.provider.ts:42
Properties¶
_validateToken¶
• Private _validateToken: (context: RestServiceModifier<T, S>, token?: string) => string
Type declaration¶
▸ (context, token?): string
Parameters¶
| Name | Type |
|---|---|
context |
RestServiceModifier<T, S> |
token? |
string |
Returns¶
string
Defined in¶
packages/core/src/components/proxy-builder/services/rest-service-modifier.provider.ts:46
req¶
• Private Optional req: Request<ParamsDictionary, any, any, ParsedQs, Record<string, any>>
Defined in¶
packages/core/src/components/proxy-builder/services/rest-service-modifier.provider.ts:50
resolverGetter¶
• Private resolverGetter: Getter<IRestResolver<T, S>[]>
Defined in¶
packages/core/src/components/proxy-builder/services/rest-service-modifier.provider.ts:44
resolvers¶
• Private resolvers: IRestResolver<T, S>[]
Defined in¶
packages/core/src/components/proxy-builder/services/rest-service-modifier.provider.ts:41
token¶
• Private token: string
Defined in¶
packages/core/src/components/proxy-builder/services/rest-service-modifier.provider.ts:40
Methods¶
_configsHaveRelations¶
▸ Private _configsHaveRelations(configs, name): boolean
Parameters¶
| Name | Type |
|---|---|
configs |
RestRelationConfig[] |
name |
string |
Returns¶
boolean
Defined in¶
packages/core/src/components/proxy-builder/services/rest-service-modifier.provider.ts:303
_extraFilters¶
▸ Private _extraFilters(configs): InclusionFilter[]
Parameters¶
| Name | Type |
|---|---|
configs |
RestRelationConfig[] |
Returns¶
InclusionFilter[]
Defined in¶
packages/core/src/components/proxy-builder/services/rest-service-modifier.provider.ts:223
_relationsFromFilter¶
▸ Private _relationsFromFilter(configs, filter?): { restRelations: RestRelationConfig[] ; scopeMap: Map<string, Filter<S>> } | { restRelations: never[] = []; scopeMap: Map<any, any> }
It takes a filter and a list of relations, and returns a list of relations that are REST relations, and a map of scopes for those relations
Parameters¶
| Name | Type | Description |
|---|---|---|
configs |
RestRelationConfig[] |
RestRelationConfig[] |
filter? |
Filter<T> |
The filter object that was passed to the find method. |
Returns¶
{ restRelations: RestRelationConfig[] ; scopeMap: Map<string, Filter<S>> } | { restRelations: never[] = []; scopeMap: Map<any, any> }
An object with two properties: restRelations and scopeMap.
Defined in¶
packages/core/src/components/proxy-builder/services/rest-service-modifier.provider.ts:177
_resolveRelations¶
▸ Private _resolveRelations(relations, scopeMap, model, results, token?): Promise<T[]>
It takes a list of relations, a list of results, and a token, and returns a list of results with the relations resolved
Parameters¶
| Name | Type | Description |
|---|---|---|
relations |
RestRelationConfig[] |
RestRelationConfig[] |
scopeMap |
Map<string, Filter<S>> |
Map |
model |
ModelConstructor<T> |
The model class that we are querying |
results |
T[] |
The results of the query. |
token? |
string |
The access token of the current user. |
Returns¶
Promise<T[]>
Defined in¶
packages/core/src/components/proxy-builder/services/rest-service-modifier.provider.ts:244
_updateFilter¶
▸ Private _updateFilter(extraIncludes, filter, normalRelations): void
Parameters¶
| Name | Type |
|---|---|
extraIncludes |
InclusionFilter[] |
filter |
Filter<T> |
normalRelations |
InclusionFilter[] |
Returns¶
void
Defined in¶
packages/core/src/components/proxy-builder/services/rest-service-modifier.provider.ts:209
count¶
▸ count(service, where?, token?): Promise<Count>
Parameters¶
| Name | Type |
|---|---|
service |
CrudRestService<T, T> |
where? |
Where<T> |
token? |
string |
Returns¶
Promise<Count>
Defined in¶
packages/core/src/components/proxy-builder/services/rest-service-modifier.provider.ts:130
create¶
▸ create(service, data, token?): Promise<T>
Parameters¶
| Name | Type |
|---|---|
service |
CrudRestService<T, T> |
data |
DataObject<T> |
token? |
string |
Returns¶
Promise<T>
Defined in¶
packages/core/src/components/proxy-builder/services/rest-service-modifier.provider.ts:78
delete¶
▸ delete(service, where?, token?): Promise<void>
Parameters¶
| Name | Type |
|---|---|
service |
CrudRestService<T, T> |
where? |
Where<T> |
token? |
string |
Returns¶
Promise<void>
Defined in¶
packages/core/src/components/proxy-builder/services/rest-service-modifier.provider.ts:147
deleteById¶
▸ deleteById(service, id, token?): Promise<void>
Parameters¶
| Name | Type |
|---|---|
service |
CrudRestService<T, T> |
id |
string |
token? |
string |
Returns¶
Promise<void>
Defined in¶
packages/core/src/components/proxy-builder/services/rest-service-modifier.provider.ts:144
find¶
▸ find(service, model, config, filter?, token?, inclusionConfig?): Promise<T[]>
Parameters¶
| Name | Type |
|---|---|
service |
CrudRestService<T, T> |
model |
ModelConstructor<T> |
config |
RestRelationConfig[] |
filter? |
Filter<T> |
token? |
string |
inclusionConfig? |
RestRelationConfig |
Returns¶
Promise<T[]>
Defined in¶
packages/core/src/components/proxy-builder/services/rest-service-modifier.provider.ts:105
findById¶
▸ findById(service, model, config, id, filter?, token?): Promise<T>
Parameters¶
| Name | Type |
|---|---|
service |
CrudRestService<T, T> |
model |
ModelConstructor<T> |
config |
RestRelationConfig[] |
id |
string |
filter? |
FilterExcludingWhere<T> |
token? |
string |
Returns¶
Promise<T>
Defined in¶
packages/core/src/components/proxy-builder/services/rest-service-modifier.provider.ts:81
replaceById¶
▸ replaceById(service, id, data, token?): Promise<void>
Parameters¶
| Name | Type |
|---|---|
service |
CrudRestService<T, T> |
id |
string |
data |
DataObject<T> |
token? |
string |
Returns¶
Promise<void>
Defined in¶
packages/core/src/components/proxy-builder/services/rest-service-modifier.provider.ts:162
update¶
▸ update(service, data, where?, token?): Promise<Count>
Parameters¶
| Name | Type |
|---|---|
service |
CrudRestService<T, T> |
data |
DataObject<T> |
where? |
Where<T> |
token? |
string |
Returns¶
Promise<Count>
Defined in¶
packages/core/src/components/proxy-builder/services/rest-service-modifier.provider.ts:150
updateById¶
▸ updateById(service, id, data, token?): Promise<void>
Parameters¶
| Name | Type |
|---|---|
service |
CrudRestService<T, T> |
id |
string |
data |
DataObject<T> |
token? |
string |
Returns¶
Promise<void>
Defined in¶
packages/core/src/components/proxy-builder/services/rest-service-modifier.provider.ts:136
value¶
▸ value(): Promise<(service: CrudRestService<T, T>, model: ModelConstructor<T>, config: RestRelationConfig[]) => { count: (...args: [where?: WherePromise<Count> ; create: (...args: [data: DataObjectPromise<T> ; delete: (...args: [where?: WherePromise<void> ; deleteById: (...args: [id: string, token?: string]) => Promise<void> ; find: (...args: [filter?: FilterPromise<T[]> ; findById: (...args: [id: string, filter?: FilterExcludingWherePromise<T> ; replaceById: (...args: [id: string, data: DataObjectPromise<void> ; update: (...args: [data: DataObject<T>, where?: WherePromise<Count> ; updateById: (...args: [id: string, data: DataObjectPromise<void> }>
Returns¶
Promise<(service: CrudRestService<T, T>, model: ModelConstructor<T>, config: RestRelationConfig[]) => { count: (...args: [where?: WherePromise<Count> ; create: (...args: [data: DataObjectPromise<T> ; delete: (...args: [where?: WherePromise<void> ; deleteById: (...args: [id: string, token?: string]) => Promise<void> ; find: (...args: [filter?: FilterPromise<T[]> ; findById: (...args: [id: string, filter?: FilterExcludingWherePromise<T> ; replaceById: (...args: [id: string, data: DataObjectPromise<void> ; update: (...args: [data: DataObject<T>, where?: WherePromise<Count> ; updateById: (...args: [id: string, data: DataObjectPromise<void> }>
Implementation of¶
Provider.value
Defined in¶
packages/core/src/components/proxy-builder/services/rest-service-modifier.provider.ts:56