ngx-techlify-core 14.2.1 → 14.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,8 +1,6 @@
1
1
  /**
2
2
  * Interface used to ensure we have a consistent structure across our listing pages
3
3
  *
4
- * @todo This should be moved to ngx-techlify-core
5
- *
6
4
  * Advantages of this abstract class
7
5
  * - Less code, less maintenance, less bugs
8
6
  * - more consistent code
@@ -12,53 +10,56 @@
12
10
  export class TechlifyServiceBaseClass {
13
11
  constructor(http, baseUrl) {
14
12
  this.http = http;
15
- this.baseUrl = "you-forgot-to-set-a-base-url";
13
+ this.baseUrl = 'you-forgot-to-set-a-base-url';
16
14
  this.baseUrl = baseUrl;
17
15
  }
18
16
  /**
19
17
  * Loads a set of the model this service is for
20
18
  *
21
- * @param filters Restrictors to filter the set of models
22
- * @returns
19
+ * @param params Query parameters
20
+ * @return Observable<any>
23
21
  */
24
- index(filters) {
25
- return this.http.get(`api/${this.baseUrl}`, { params: { ...filters } }).toPromise();
22
+ index(params) {
23
+ return this.http.get(`api/${this.baseUrl}`, { params });
26
24
  }
27
25
  /**
28
26
  * Add a new record to the database
29
27
  *
30
28
  * @param model The data of the model to add
31
- * @returns
29
+ * @param params Query parameters
30
+ * @return Observable<any>
32
31
  */
33
- store(model) {
34
- return this.http.post(`api/${this.baseUrl}`, model).toPromise();
32
+ store(model, params) {
33
+ return this.http.post(`api/${this.baseUrl}`, model, { params });
35
34
  }
36
35
  /**
37
36
  * Load a single model record, often with all relations and related data
38
37
  *
39
38
  * @param modelId ID of the model to load
40
- * @returns
39
+ * @param params Query parameters
40
+ * @return Observable<any>
41
41
  */
42
- show(modelId) {
43
- return this.http.get(`api/${this.baseUrl}/${modelId}`).toPromise();
42
+ show(modelId, params) {
43
+ return this.http.get(`api/${this.baseUrl}/${modelId}`, { params });
44
44
  }
45
45
  /**
46
46
  * Update fields of a single existing model
47
47
  *
48
48
  * @param model Model to update
49
- * @returns
49
+ * @param params Query parameters
50
+ * @return Observable<any>
50
51
  */
51
- update(model) {
52
- return this.http.put(`api/${this.baseUrl}/${model.id}`, model).toPromise();
52
+ update(model, params) {
53
+ return this.http.put(`api/${this.baseUrl}/${model.id}`, model, { params });
53
54
  }
54
55
  /**
55
56
  * Delete a single model
56
57
  *
57
58
  * @param model Model to delete
58
- * @returns
59
+ * @return Observable<any>
59
60
  */
60
61
  delete(model) {
61
- return this.http.delete(`api/${this.baseUrl}/${model.id}`).toPromise();
62
+ return this.http.delete(`api/${this.baseUrl}/${model.id}`);
62
63
  }
63
64
  }
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVjaGxpZnktc2VydmljZS5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvYmFzZS1tb2RlbC90ZWNobGlmeS1zZXJ2aWNlLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOzs7Ozs7Ozs7O0dBVUc7QUFDSCxNQUFNLE9BQU8sd0JBQXdCO0lBSW5DLFlBQXNCLElBQWlCLEVBQUUsT0FBZTtRQUFsQyxTQUFJLEdBQUosSUFBSSxDQUFhO1FBRjdCLFlBQU8sR0FBRyw4QkFBOEIsQ0FBQztRQUdqRCxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUN6QixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxLQUFLLENBQUMsT0FBWTtRQUNoQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsR0FBRyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDdEYsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsS0FBSyxDQUFDLEtBQVU7UUFDZCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2xFLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILElBQUksQ0FBQyxPQUFZO1FBQ2YsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLElBQUksQ0FBQyxPQUFPLElBQUksT0FBTyxFQUFFLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNyRSxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMsS0FBVTtRQUNmLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxJQUFJLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUM3RSxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMsS0FBVTtRQUNmLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxJQUFJLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3pFLENBQUM7Q0FHRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9odHRwLnNlcnZpY2UnO1xyXG5cclxuLyoqXHJcbiAqIEludGVyZmFjZSB1c2VkIHRvIGVuc3VyZSB3ZSBoYXZlIGEgY29uc2lzdGVudCBzdHJ1Y3R1cmUgYWNyb3NzIG91ciBsaXN0aW5nIHBhZ2VzXHJcbiAqXHJcbiAqIEB0b2RvIFRoaXMgc2hvdWxkIGJlIG1vdmVkIHRvIG5neC10ZWNobGlmeS1jb3JlXHJcbiAqXHJcbiAqIEFkdmFudGFnZXMgb2YgdGhpcyBhYnN0cmFjdCBjbGFzc1xyXG4gKiAtIExlc3MgY29kZSwgbGVzcyBtYWludGVuYW5jZSwgbGVzcyBidWdzXHJcbiAqIC0gbW9yZSBjb25zaXN0ZW50IGNvZGVcclxuICogLSBjb21tZW50cyBvbiBtb3JlIGNvZGVcclxuICogLSBzYXZlIHRpbWUsIHNhdmUgZW5lcmd5XHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgVGVjaGxpZnlTZXJ2aWNlQmFzZUNsYXNzIHtcclxuXHJcbiAgcHJvdGVjdGVkIGJhc2VVcmwgPSBcInlvdS1mb3Jnb3QtdG8tc2V0LWEtYmFzZS11cmxcIjtcclxuXHJcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGh0dHA6IEh0dHBTZXJ2aWNlLCBiYXNlVXJsOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuYmFzZVVybCA9IGJhc2VVcmw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBMb2FkcyBhIHNldCBvZiB0aGUgbW9kZWwgdGhpcyBzZXJ2aWNlIGlzIGZvclxyXG4gICAqXHJcbiAgICogQHBhcmFtIGZpbHRlcnMgUmVzdHJpY3RvcnMgdG8gZmlsdGVyIHRoZSBzZXQgb2YgbW9kZWxzXHJcbiAgICogQHJldHVybnNcclxuICAgKi9cclxuICBpbmRleChmaWx0ZXJzOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGBhcGkvJHt0aGlzLmJhc2VVcmx9YCwgeyBwYXJhbXM6IHsgLi4uZmlsdGVycyB9IH0pLnRvUHJvbWlzZSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWRkIGEgbmV3IHJlY29yZCB0byB0aGUgZGF0YWJhc2VcclxuICAgKlxyXG4gICAqIEBwYXJhbSBtb2RlbCBUaGUgZGF0YSBvZiB0aGUgbW9kZWwgdG8gYWRkXHJcbiAgICogQHJldHVybnNcclxuICAgKi9cclxuICBzdG9yZShtb2RlbDogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYGFwaS8ke3RoaXMuYmFzZVVybH1gLCBtb2RlbCkudG9Qcm9taXNlKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBMb2FkIGEgc2luZ2xlIG1vZGVsIHJlY29yZCwgb2Z0ZW4gd2l0aCBhbGwgcmVsYXRpb25zIGFuZCByZWxhdGVkIGRhdGFcclxuICAgKlxyXG4gICAqIEBwYXJhbSBtb2RlbElkIElEIG9mIHRoZSBtb2RlbCB0byBsb2FkXHJcbiAgICogQHJldHVybnNcclxuICAgKi9cclxuICBzaG93KG1vZGVsSWQ6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYGFwaS8ke3RoaXMuYmFzZVVybH0vJHttb2RlbElkfWApLnRvUHJvbWlzZSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVXBkYXRlIGZpZWxkcyBvZiBhIHNpbmdsZSBleGlzdGluZyBtb2RlbFxyXG4gICAqXHJcbiAgICogQHBhcmFtIG1vZGVsIE1vZGVsIHRvIHVwZGF0ZVxyXG4gICAqIEByZXR1cm5zXHJcbiAgICovXHJcbiAgdXBkYXRlKG1vZGVsOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KGBhcGkvJHt0aGlzLmJhc2VVcmx9LyR7bW9kZWwuaWR9YCwgbW9kZWwpLnRvUHJvbWlzZSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGVsZXRlIGEgc2luZ2xlIG1vZGVsXHJcbiAgICpcclxuICAgKiBAcGFyYW0gbW9kZWwgTW9kZWwgdG8gZGVsZXRlXHJcbiAgICogQHJldHVybnNcclxuICAgKi9cclxuICBkZWxldGUobW9kZWw6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUoYGFwaS8ke3RoaXMuYmFzZVVybH0vJHttb2RlbC5pZH1gKS50b1Byb21pc2UoKTtcclxuICB9XHJcblxyXG5cclxufVxyXG4iXX0=
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVjaGxpZnktc2VydmljZS5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvYmFzZS1tb2RlbC90ZWNobGlmeS1zZXJ2aWNlLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxPQUFPLHdCQUF3QjtJQUluQyxZQUFzQixJQUFpQixFQUFFLE9BQWU7UUFBbEMsU0FBSSxHQUFKLElBQUksQ0FBYTtRQUY3QixZQUFPLEdBQUcsOEJBQThCLENBQUM7UUFHakQsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDekIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsS0FBSyxDQUFDLE1BQVk7UUFDaEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILEtBQUssQ0FBQyxLQUFVLEVBQUUsTUFBWTtRQUM1QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILElBQUksQ0FBQyxPQUFZLEVBQUUsTUFBWTtRQUM3QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sSUFBSSxDQUFDLE9BQU8sSUFBSSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILE1BQU0sQ0FBQyxLQUFVLEVBQUUsTUFBWTtRQUM3QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sSUFBSSxDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMsS0FBVTtRQUNmLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxJQUFJLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzdELENBQUM7Q0FHRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZSc7XHJcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XHJcblxyXG4vKipcclxuICogSW50ZXJmYWNlIHVzZWQgdG8gZW5zdXJlIHdlIGhhdmUgYSBjb25zaXN0ZW50IHN0cnVjdHVyZSBhY3Jvc3Mgb3VyIGxpc3RpbmcgcGFnZXNcclxuICpcclxuICogQWR2YW50YWdlcyBvZiB0aGlzIGFic3RyYWN0IGNsYXNzXHJcbiAqIC0gTGVzcyBjb2RlLCBsZXNzIG1haW50ZW5hbmNlLCBsZXNzIGJ1Z3NcclxuICogLSBtb3JlIGNvbnNpc3RlbnQgY29kZVxyXG4gKiAtIGNvbW1lbnRzIG9uIG1vcmUgY29kZVxyXG4gKiAtIHNhdmUgdGltZSwgc2F2ZSBlbmVyZ3lcclxuICovXHJcbmV4cG9ydCBjbGFzcyBUZWNobGlmeVNlcnZpY2VCYXNlQ2xhc3Mge1xyXG5cclxuICBwcm90ZWN0ZWQgYmFzZVVybCA9ICd5b3UtZm9yZ290LXRvLXNldC1hLWJhc2UtdXJsJztcclxuXHJcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGh0dHA6IEh0dHBTZXJ2aWNlLCBiYXNlVXJsOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuYmFzZVVybCA9IGJhc2VVcmw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBMb2FkcyBhIHNldCBvZiB0aGUgbW9kZWwgdGhpcyBzZXJ2aWNlIGlzIGZvclxyXG4gICAqXHJcbiAgICogQHBhcmFtIHBhcmFtcyBRdWVyeSBwYXJhbWV0ZXJzXHJcbiAgICogQHJldHVybiBPYnNlcnZhYmxlPGFueT5cclxuICAgKi9cclxuICBpbmRleChwYXJhbXM/OiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYGFwaS8ke3RoaXMuYmFzZVVybH1gLCB7IHBhcmFtcyB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFkZCBhIG5ldyByZWNvcmQgdG8gdGhlIGRhdGFiYXNlXHJcbiAgICpcclxuICAgKiBAcGFyYW0gbW9kZWwgVGhlIGRhdGEgb2YgdGhlIG1vZGVsIHRvIGFkZFxyXG4gICAqIEBwYXJhbSBwYXJhbXMgUXVlcnkgcGFyYW1ldGVyc1xyXG4gICAqIEByZXR1cm4gT2JzZXJ2YWJsZTxhbnk+XHJcbiAgICovXHJcbiAgc3RvcmUobW9kZWw6IGFueSwgcGFyYW1zPzogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgYXBpLyR7dGhpcy5iYXNlVXJsfWAsIG1vZGVsLCB7IHBhcmFtcyB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIExvYWQgYSBzaW5nbGUgbW9kZWwgcmVjb3JkLCBvZnRlbiB3aXRoIGFsbCByZWxhdGlvbnMgYW5kIHJlbGF0ZWQgZGF0YVxyXG4gICAqXHJcbiAgICogQHBhcmFtIG1vZGVsSWQgSUQgb2YgdGhlIG1vZGVsIHRvIGxvYWRcclxuICAgKiBAcGFyYW0gcGFyYW1zIFF1ZXJ5IHBhcmFtZXRlcnNcclxuICAgKiBAcmV0dXJuIE9ic2VydmFibGU8YW55PlxyXG4gICAqL1xyXG4gIHNob3cobW9kZWxJZDogYW55LCBwYXJhbXM/OiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYGFwaS8ke3RoaXMuYmFzZVVybH0vJHttb2RlbElkfWAsIHsgcGFyYW1zIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVXBkYXRlIGZpZWxkcyBvZiBhIHNpbmdsZSBleGlzdGluZyBtb2RlbFxyXG4gICAqXHJcbiAgICogQHBhcmFtIG1vZGVsIE1vZGVsIHRvIHVwZGF0ZVxyXG4gICAqIEBwYXJhbSBwYXJhbXMgUXVlcnkgcGFyYW1ldGVyc1xyXG4gICAqIEByZXR1cm4gT2JzZXJ2YWJsZTxhbnk+XHJcbiAgICovXHJcbiAgdXBkYXRlKG1vZGVsOiBhbnksIHBhcmFtcz86IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dChgYXBpLyR7dGhpcy5iYXNlVXJsfS8ke21vZGVsLmlkfWAsIG1vZGVsLCB7IHBhcmFtcyB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERlbGV0ZSBhIHNpbmdsZSBtb2RlbFxyXG4gICAqXHJcbiAgICogQHBhcmFtIG1vZGVsIE1vZGVsIHRvIGRlbGV0ZVxyXG4gICAqIEByZXR1cm4gT2JzZXJ2YWJsZTxhbnk+XHJcbiAgICovXHJcbiAgZGVsZXRlKG1vZGVsOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUoYGFwaS8ke3RoaXMuYmFzZVVybH0vJHttb2RlbC5pZH1gKTtcclxuICB9XHJcblxyXG5cclxufVxyXG4iXX0=
@@ -202,8 +202,6 @@ class TechlifyListingControllerInterface {
202
202
  /**
203
203
  * Interface used to ensure we have a consistent structure across our listing pages
204
204
  *
205
- * @todo This should be moved to ngx-techlify-core
206
- *
207
205
  * Advantages of this abstract class
208
206
  * - Less code, less maintenance, less bugs
209
207
  * - more consistent code
@@ -213,53 +211,56 @@ class TechlifyListingControllerInterface {
213
211
  class TechlifyServiceBaseClass {
214
212
  constructor(http, baseUrl) {
215
213
  this.http = http;
216
- this.baseUrl = "you-forgot-to-set-a-base-url";
214
+ this.baseUrl = 'you-forgot-to-set-a-base-url';
217
215
  this.baseUrl = baseUrl;
218
216
  }
219
217
  /**
220
218
  * Loads a set of the model this service is for
221
219
  *
222
- * @param filters Restrictors to filter the set of models
223
- * @returns
220
+ * @param params Query parameters
221
+ * @return Observable<any>
224
222
  */
225
- index(filters) {
226
- return this.http.get(`api/${this.baseUrl}`, { params: Object.assign({}, filters) }).toPromise();
223
+ index(params) {
224
+ return this.http.get(`api/${this.baseUrl}`, { params });
227
225
  }
228
226
  /**
229
227
  * Add a new record to the database
230
228
  *
231
229
  * @param model The data of the model to add
232
- * @returns
230
+ * @param params Query parameters
231
+ * @return Observable<any>
233
232
  */
234
- store(model) {
235
- return this.http.post(`api/${this.baseUrl}`, model).toPromise();
233
+ store(model, params) {
234
+ return this.http.post(`api/${this.baseUrl}`, model, { params });
236
235
  }
237
236
  /**
238
237
  * Load a single model record, often with all relations and related data
239
238
  *
240
239
  * @param modelId ID of the model to load
241
- * @returns
240
+ * @param params Query parameters
241
+ * @return Observable<any>
242
242
  */
243
- show(modelId) {
244
- return this.http.get(`api/${this.baseUrl}/${modelId}`).toPromise();
243
+ show(modelId, params) {
244
+ return this.http.get(`api/${this.baseUrl}/${modelId}`, { params });
245
245
  }
246
246
  /**
247
247
  * Update fields of a single existing model
248
248
  *
249
249
  * @param model Model to update
250
- * @returns
250
+ * @param params Query parameters
251
+ * @return Observable<any>
251
252
  */
252
- update(model) {
253
- return this.http.put(`api/${this.baseUrl}/${model.id}`, model).toPromise();
253
+ update(model, params) {
254
+ return this.http.put(`api/${this.baseUrl}/${model.id}`, model, { params });
254
255
  }
255
256
  /**
256
257
  * Delete a single model
257
258
  *
258
259
  * @param model Model to delete
259
- * @returns
260
+ * @return Observable<any>
260
261
  */
261
262
  delete(model) {
262
- return this.http.delete(`api/${this.baseUrl}/${model.id}`).toPromise();
263
+ return this.http.delete(`api/${this.baseUrl}/${model.id}`);
263
264
  }
264
265
  }
265
266