-
Notifications
You must be signed in to change notification settings - Fork 1
ModelService
Mihael Safaric edited this page Aug 10, 2020
·
6 revisions
Your resource services must extend abstract ModelService class. ModelService gives a communication interface for HTTP requests.
constructor(protected datastore: DatastoreService, private modelClass: {new(...args): Model });findOne(modelId: string, includeRelationships: Array<string | RelationshipRequestDescriptor>, requestOptions: RequestOptions = {}, subsequentRequestsOptions: RequestOptions): Observable<Model>-
modelId:string -
includeRelationships -
requestOptions:RequestOptions- optional
- additional request options
- those options will be used only for the main request, custom options for relationship calls can be set via
subsequentRequestsOptions
-
subsequentRequestsOptions:RequestOptions- optional
- when specified, the specified request options will be used for the relationship calls which do not have request options specified through
includeRelationshipsparameter - if the specific relationship has request options specified in
includeRelationships,subsequentRequestsOptionswill be ignored for that API call
find(params: object | { [param: string]: string | string[] } | HttpParams): Observable<Array<Model>>;find(params: object | { [param: string]: string | string[] } | HttpParams, includeMeta: false): Observable<Array<Model>>;find(params: object | { [param: string]: string | string[] } | HttpParams, includeMeta: true): Observable<HalDocument<Model>>;find(params: object | { [param: string]: string | string[] } | HttpParams, includeMeta: boolean, includeRelationships: Array<string | RelationshipRequestDescriptor>, requestOptions: RequestOptions, subsequentRequestsOptions?: RequestOptions, customUrl?: string, storePartialModels?: string): Observable<HalDocument<Model>>;-
params:object | { [param: string]: string | string[] } | HttpParams- optional
- parameters which will be send in the request
-
-
requestOptions.paramsis ignored in favor ofparams(TODO: change that in future versions of the lib)
-
-
includeMeta:boolean- optional
- if omitted or
falsy,Observable<Array<Model>>is returned - if
truthy,Observable<HalDocument<Model>>is returned (see HalDocument)
-
requestOptions:RequestOptions- optional
- additional request options
- those options will be used only for the main request, custom options for relationship calls can be set via
subsequentRequestsOptions -
requestOptions.paramsis ignored in favor ofparams(TODO: change that in future versions of the lib)
-
subsequentRequestsOptions:RequestOptions- optional
- when specified, the specified request options will be used for the relationship calls which do not have request options specified through
includeRelationshipsparameter - if the specific relationship has request options specified in
includeRelationships,subsequentRequestsOptionswill be ignored for that API call
-
storePartialModels:boolean- optional
- default value:
false - forces storing fetched models to the local store
- see find in DatastoreService
createNewModel(recordData: object = {}): Model- locally creates an instance of a model class which is passed through the constructor,
modelClass - NOTE: it does not tigger saving of newly created model