UNPKG

@experteam-mx/ngx-services

Version:

Angular common services for Experteam apps

83 lines 10.2 kB
import { Inject, Injectable } from '@angular/core'; import { map } from 'rxjs'; import * as i0 from "@angular/core"; import * as i1 from "@angular/common/http"; export class ApiSuppliesService { environments; http; constructor(environments, http) { this.environments = environments; this.http = http; } /** * Retrieves the URL for the API supplies endpoint. * * @return {string} The API supplies URL or an empty string if not defined. */ get url() { return this.environments.apiSuppliesUrl ?? ''; } /** * Fetches a list of supplies based on the provided query parameters. * * @param {QueryParams} params - The query parameters to filter the supplies. * @return {Observable<SuppliesOut>} An observable containing the list of supplies. */ getSupplies(params) { return this.http.get(`${this.url}/supplies`, { params }) .pipe(map(({ data }) => data)); } /** * Retrieves the supply details for a given supply ID. * * @param {number} id - The unique identifier of the supply to retrieve. * @return {Observable<SupplyOut>} An observable containing the supply details. */ getSupply(id) { return this.http.get(`${this.url}/supplies/${id}`) .pipe(map(({ data }) => data)); } /** * Sends a supply object to the server and returns the created or updated supply information. * * @param {SupplyIn} body - The supply information to be sent to the server. * @return {Observable<SupplyOut>} An observable containing the response with the supply data. */ postSupply(body) { return this.http.post(`${this.url}/supplies`, body) .pipe(map(({ data }) => data)); } /** * Updates an existing supply with the provided data. * * @param {number} id - The unique identifier of the supply to update. * @param {SupplyIn} body - The data to update the supply with. * @return {Observable<SupplyOut>} An observable containing the updated supply information. */ putSupply(id, body) { return this.http.put(`${this.url}/supplies/${id}`, body) .pipe(map(({ data }) => data)); } /** * Fetches the supply types based on the provided query parameters. * * @param {QueryParams} params - The query parameters to filter the supply types. * @return {Observable<SupplyTypesOut>} An Observable that emits the supply types data. */ getSupplyTypes(params) { return this.http.get(`${this.url}/supply-types`, { params }) .pipe(map(({ data }) => data)); } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiSuppliesService, deps: [{ token: 'env' }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiSuppliesService, providedIn: 'root' }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiSuppliesService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }], ctorParameters: () => [{ type: undefined, decorators: [{ type: Inject, args: ['env'] }] }, { type: i1.HttpClient }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXN1cHBsaWVzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHBlcnRlYW0tbXgvbmd4LXNlcnZpY2VzL3NyYy9saWIvYXBpcy9hcGktc3VwcGxpZXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUVsRCxPQUFPLEVBQUUsR0FBRyxFQUFjLE1BQU0sTUFBTSxDQUFBOzs7QUFPdEMsTUFBTSxPQUFPLGtCQUFrQjtJQUVKO0lBQ2Y7SUFGVixZQUN5QixZQUF5QixFQUN4QyxJQUFnQjtRQURELGlCQUFZLEdBQVosWUFBWSxDQUFhO1FBQ3hDLFNBQUksR0FBSixJQUFJLENBQVk7SUFDdEIsQ0FBQztJQUVMOzs7O09BSUc7SUFDSCxJQUFJLEdBQUc7UUFDTCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxJQUFJLEVBQUUsQ0FBQTtJQUMvQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxXQUFXLENBQUUsTUFBbUI7UUFDOUIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBMEIsR0FBRyxJQUFJLENBQUMsR0FBRyxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQzthQUM5RSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUNsQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxTQUFTLENBQUUsRUFBVTtRQUNuQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUF3QixHQUFHLElBQUksQ0FBQyxHQUFHLGFBQWEsRUFBRSxFQUFFLENBQUM7YUFDdEUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7SUFDbEMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsVUFBVSxDQUFFLElBQWM7UUFDeEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBd0IsR0FBRyxJQUFJLENBQUMsR0FBRyxXQUFXLEVBQUUsSUFBSSxDQUFDO2FBQ3ZFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBQ2xDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxTQUFTLENBQUUsRUFBVSxFQUFFLElBQWM7UUFDbkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBd0IsR0FBRyxJQUFJLENBQUMsR0FBRyxhQUFhLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQzthQUM1RSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUNsQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxjQUFjLENBQUUsTUFBbUI7UUFDakMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBNkIsR0FBRyxJQUFJLENBQUMsR0FBRyxlQUFlLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQzthQUNyRixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUNsQyxDQUFDO3dHQXJFVSxrQkFBa0Isa0JBRW5CLEtBQUs7NEdBRkosa0JBQWtCLGNBRmpCLE1BQU07OzRGQUVQLGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQUdJLE1BQU07MkJBQUMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCdcclxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHsgRW52aXJvbm1lbnQgfSBmcm9tICcuLi9uZ3gtc2VydmljZXMubW9kZWxzJ1xyXG5pbXBvcnQgeyBtYXAsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJ1xyXG5pbXBvcnQgeyBBcGlTdWNjZXNzLCBRdWVyeVBhcmFtcyB9IGZyb20gJy4vbW9kZWxzL2FwaS5tb2RlbHMnXHJcbmltcG9ydCB7IFN1cHBsaWVzT3V0LCBTdXBwbHlJbiwgU3VwcGx5T3V0LCBTdXBwbHlUeXBlc091dCB9IGZyb20gJy4vbW9kZWxzL2FwaS1zdXBwbGllcy50eXBlcydcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEFwaVN1cHBsaWVzU2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IgKFxyXG4gICAgQEluamVjdCgnZW52JykgcHJpdmF0ZSBlbnZpcm9ubWVudHM6IEVudmlyb25tZW50LFxyXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50XHJcbiAgKSB7IH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIHRoZSBVUkwgZm9yIHRoZSBBUEkgc3VwcGxpZXMgZW5kcG9pbnQuXHJcbiAgICpcclxuICAgKiBAcmV0dXJuIHtzdHJpbmd9IFRoZSBBUEkgc3VwcGxpZXMgVVJMIG9yIGFuIGVtcHR5IHN0cmluZyBpZiBub3QgZGVmaW5lZC5cclxuICAgKi9cclxuICBnZXQgdXJsICgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuZW52aXJvbm1lbnRzLmFwaVN1cHBsaWVzVXJsID8/ICcnXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGZXRjaGVzIGEgbGlzdCBvZiBzdXBwbGllcyBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgcXVlcnkgcGFyYW1ldGVycy5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7UXVlcnlQYXJhbXN9IHBhcmFtcyAtIFRoZSBxdWVyeSBwYXJhbWV0ZXJzIHRvIGZpbHRlciB0aGUgc3VwcGxpZXMuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxTdXBwbGllc091dD59IEFuIG9ic2VydmFibGUgY29udGFpbmluZyB0aGUgbGlzdCBvZiBzdXBwbGllcy5cclxuICAgKi9cclxuICBnZXRTdXBwbGllcyAocGFyYW1zOiBRdWVyeVBhcmFtcyk6IE9ic2VydmFibGU8U3VwcGxpZXNPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8U3VwcGxpZXNPdXQ+PihgJHt0aGlzLnVybH0vc3VwcGxpZXNgLCB7IHBhcmFtcyB9KVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyB0aGUgc3VwcGx5IGRldGFpbHMgZm9yIGEgZ2l2ZW4gc3VwcGx5IElELlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtudW1iZXJ9IGlkIC0gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBzdXBwbHkgdG8gcmV0cmlldmUuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxTdXBwbHlPdXQ+fSBBbiBvYnNlcnZhYmxlIGNvbnRhaW5pbmcgdGhlIHN1cHBseSBkZXRhaWxzLlxyXG4gICAqL1xyXG4gIGdldFN1cHBseSAoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8U3VwcGx5T3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlTdWNjZXNzPFN1cHBseU91dD4+KGAke3RoaXMudXJsfS9zdXBwbGllcy8ke2lkfWApXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2VuZHMgYSBzdXBwbHkgb2JqZWN0IHRvIHRoZSBzZXJ2ZXIgYW5kIHJldHVybnMgdGhlIGNyZWF0ZWQgb3IgdXBkYXRlZCBzdXBwbHkgaW5mb3JtYXRpb24uXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge1N1cHBseUlufSBib2R5IC0gVGhlIHN1cHBseSBpbmZvcm1hdGlvbiB0byBiZSBzZW50IHRvIHRoZSBzZXJ2ZXIuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxTdXBwbHlPdXQ+fSBBbiBvYnNlcnZhYmxlIGNvbnRhaW5pbmcgdGhlIHJlc3BvbnNlIHdpdGggdGhlIHN1cHBseSBkYXRhLlxyXG4gICAqL1xyXG4gIHBvc3RTdXBwbHkgKGJvZHk6IFN1cHBseUluKTogT2JzZXJ2YWJsZTxTdXBwbHlPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxBcGlTdWNjZXNzPFN1cHBseU91dD4+KGAke3RoaXMudXJsfS9zdXBwbGllc2AsIGJvZHkpXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVXBkYXRlcyBhbiBleGlzdGluZyBzdXBwbHkgd2l0aCB0aGUgcHJvdmlkZWQgZGF0YS5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBpZCAtIFRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgc3VwcGx5IHRvIHVwZGF0ZS5cclxuICAgKiBAcGFyYW0ge1N1cHBseUlufSBib2R5IC0gVGhlIGRhdGEgdG8gdXBkYXRlIHRoZSBzdXBwbHkgd2l0aC5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPFN1cHBseU91dD59IEFuIG9ic2VydmFibGUgY29udGFpbmluZyB0aGUgdXBkYXRlZCBzdXBwbHkgaW5mb3JtYXRpb24uXHJcbiAgICovXHJcbiAgcHV0U3VwcGx5IChpZDogbnVtYmVyLCBib2R5OiBTdXBwbHlJbik6IE9ic2VydmFibGU8U3VwcGx5T3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxBcGlTdWNjZXNzPFN1cHBseU91dD4+KGAke3RoaXMudXJsfS9zdXBwbGllcy8ke2lkfWAsIGJvZHkpXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRmV0Y2hlcyB0aGUgc3VwcGx5IHR5cGVzIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBxdWVyeSBwYXJhbWV0ZXJzLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtRdWVyeVBhcmFtc30gcGFyYW1zIC0gVGhlIHF1ZXJ5IHBhcmFtZXRlcnMgdG8gZmlsdGVyIHRoZSBzdXBwbHkgdHlwZXMuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxTdXBwbHlUeXBlc091dD59IEFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgc3VwcGx5IHR5cGVzIGRhdGEuXHJcbiAgICovXHJcbiAgZ2V0U3VwcGx5VHlwZXMgKHBhcmFtczogUXVlcnlQYXJhbXMpOiBPYnNlcnZhYmxlPFN1cHBseVR5cGVzT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlTdWNjZXNzPFN1cHBseVR5cGVzT3V0Pj4oYCR7dGhpcy51cmx9L3N1cHBseS10eXBlc2AsIHsgcGFyYW1zIH0pXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxufVxyXG4iXX0=