import { HttpClient } from "@angular/common/http"; import { Observable } from "rxjs"; import { StockModel } from "./stock.model"; import { CategoryStockModel } from "./categoryStock.model"; import { KeyItem } from "./pagination.helper"; import * as i0 from "@angular/core"; export declare class StockService { private http; apiUrl: string; storeId: string; lastEvaluatedKeyMap: Map; lastRequestName: string; httpOptions: {}; private stockArraySubject; stockArray$: Observable; stockModelArray: Array; stockModelMap: Map; private categoryStockModelArraySubject; categoryStockModelArray$: Observable; categoryStockModelArray: Array; categoryStockModelMap: Map; private categorySelectedSubject; categorySelected$: Observable; categorySelected: CategoryStockModel; constructor(http: HttpClient); init(url: string, storeId: string, key: string): any; /** * Check if last request had more Item in backend * @returns true if more items are in backend, otherwise false. */ hasMoreItemLastRequest(): boolean; /** * Will check the pagination and if it need to reset pagination and cache * @param requestName * @param loadNext * @param observer * @returns */ private preparePagination; /** * Set the selected category in cache. This is the user selection or default selection. * Emit event on categoryStockModel$ Subject * @param category */ setSelectedCategory(category: CategoryStockModel): void; /** * Get stocks for the current storeId * Stocks will be put in Subject stockArraySubject (for event emit) and in stockModelMap * @param emit default is true, will emit event on the stockModelArray$ Subject> * @param categoryId optional filter on categoryId * @param sortDirectionAsc true if sort need to be Ascending, defualt is true, else false for descending sort * @param itemsByPage max number of items per page, default is 20 * @param loadNext load next, default is false * @returns Observable of StockModel[] or error */ loadStocks(emit?: boolean, categoryId?: string, sortDirectionAsc?: boolean, itemsByPage?: number, loadNext?: boolean): Observable; /** * Get categories of stock for the current storeId * Categories of stocks will be put in Subject stockArraySubject (for event emit) and in stockModelMap * @param emit default is true, will emit event on the stockModelArray$ Subject> * @param sortDirectionAsc true if sort need to be Ascending, defualt is true, else false for descending sort * @param itemsByPage max number of items per page, default is 20 * @param loadNext load next, default is false * @returns Observable of StockModel[] or error */ loadCategoriesStock(emit?: boolean, sortDirectionAsc?: boolean, itemsByPage?: number, loadNext?: boolean): Observable; /** * Get stocks by store id * @param categoryId * @param sort * @param limit * @param paginationItem * @returns */ private getStocksByStoreId; /** * Load stock for the given id * @param stockId stock id * @returns Observable< StockModel | error> */ loadStockById(id: string): Observable; /** * Will create the given stock * @param item StockModel * @returns */ createStock(stock: StockModel): Observable; /** * Will update the given stock * @param item StockModel * @returns */ updateStock(stock: StockModel): Observable; /** * delete stock for the given id * @param id id * @return */ deleteStock(id: string): Observable; /** * Get Categories of stock by store id * @param sort * @param limit * @param paginationItem * @returns */ private getCategoriesStockByStoreId; /** * Load category stock for the given id * @param id category stock id * @returns Observable< StockModel | error> */ loadCategoryStockById(id: string): Observable; /** * Will update the given Category stock * @param item CategoryStockModel * @returns */ updateCategoryStock(item: CategoryStockModel): Observable; /** * Will create the given Category stock * @param item CategoryStockModel * @returns */ createCategoryStock(item: CategoryStockModel): Observable; /** * delete Category stock for the given id * @param id id * @return */ deleteCategoryStock(id: string): Observable; /** * * @param id * @returns */ private getStockById; private updateStockModel; private createStockModel; private deleteStockById; /** * * @param id * @returns */ private getCategoryStockById; private updateCategoryStockModel; private createCategoryStockModel; private deleteCategoryStockById; private handleError; /** Log a AuthorizationService message with the MessageService */ private log; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }