ng-base-service
Version:
BaseService is a service for angular API CRUD
66 lines • 3.37 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* @abstract
* @template TEntity
*/
export class BaseService {
/**
* @param {?} _http
* @param {?} url
*/
constructor(_http, url) {
this._http = _http;
this.url = url;
}
/**
* @param {?} id
* @return {?}
*/
getById(id) {
return this._http.get(`${this.url}/${id}`);
}
/**
* @return {?}
*/
getAll() {
return this._http.get(this.url);
}
/**
* @param {?} context
* @return {?}
*/
add(context) {
return this._http.post(this.url, context);
}
/**
* @param {?} id
* @param {?} context
* @return {?}
*/
update(id, context) {
return this._http.put(`${this.url}/${id}`, context);
}
/**
* @param {?} id
* @return {?}
*/
delete(id) {
return this._http.delete(`${this.url}/${id}`);
}
}
if (false) {
/**
* @type {?}
* @private
*/
BaseService.prototype._http;
/**
* @type {?}
* @private
*/
BaseService.prototype.url;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctYmFzZS1zZXJ2aWNlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy1iYXNlLXNlcnZpY2UvIiwic291cmNlcyI6WyJsaWIvbmctYmFzZS1zZXJ2aWNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFFQSxNQUFNLE9BQWdCLFdBQVc7Ozs7O0lBQy9CLFlBQW9CLEtBQWlCLEVBQVUsR0FBVztRQUF0QyxVQUFLLEdBQUwsS0FBSyxDQUFZO1FBQVUsUUFBRyxHQUFILEdBQUcsQ0FBUTtJQUFHLENBQUM7Ozs7O0lBRTlELE9BQU8sQ0FBQyxFQUFPO1FBQ2IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBVSxHQUFHLElBQUksQ0FBQyxHQUFHLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN0RCxDQUFDOzs7O0lBRUQsTUFBTTtRQUNKLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQVUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzNDLENBQUM7Ozs7O0lBRUQsR0FBRyxDQUFDLE9BQWdCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM1QyxDQUFDOzs7Ozs7SUFFRCxNQUFNLENBQUMsRUFBTyxFQUFFLE9BQWdCO1FBQzlCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxJQUFJLEVBQUUsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3RELENBQUM7Ozs7O0lBRUQsTUFBTSxDQUFDLEVBQU87UUFDWixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2hELENBQUM7Q0FDRjs7Ozs7O0lBckJhLDRCQUF5Qjs7Ozs7SUFBRSwwQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlU2VydmljZTxURW50aXR5PiB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2h0dHA6IEh0dHBDbGllbnQsIHByaXZhdGUgdXJsOiBzdHJpbmcpIHt9XG5cbiAgZ2V0QnlJZChpZDogYW55KSB7XG4gICAgcmV0dXJuIHRoaXMuX2h0dHAuZ2V0PFRFbnRpdHk+KGAke3RoaXMudXJsfS8ke2lkfWApO1xuICB9XG5cbiAgZ2V0QWxsKCkge1xuICAgIHJldHVybiB0aGlzLl9odHRwLmdldDxURW50aXR5Pih0aGlzLnVybCk7XG4gIH1cblxuICBhZGQoY29udGV4dDogVEVudGl0eSkge1xuICAgIHJldHVybiB0aGlzLl9odHRwLnBvc3QodGhpcy51cmwsIGNvbnRleHQpO1xuICB9XG5cbiAgdXBkYXRlKGlkOiBhbnksIGNvbnRleHQ6IFRFbnRpdHkpIHtcbiAgICByZXR1cm4gdGhpcy5faHR0cC5wdXQoYCR7dGhpcy51cmx9LyR7aWR9YCwgY29udGV4dCk7XG4gIH1cblxuICBkZWxldGUoaWQ6IGFueSkge1xuICAgIHJldHVybiB0aGlzLl9odHRwLmRlbGV0ZShgJHt0aGlzLnVybH0vJHtpZH1gKTtcbiAgfVxufVxuIl19