import { BaseService, BaseServiceOptions } from '../api'; import { PagedRequest, PagedResponse } from '../common'; import { AddInventoryItemRequest, DeleteInventoryItemRequest, Inventory, InventoryItem, InventoryItemRequest, } from './inventory.service.interfaces'; export class InventoryService extends BaseService { protected inventoryApiUrl: string; protected inventoryItemApiUrl: string; constructor(opts: BaseServiceOptions) { super(opts); this.inventoryApiUrl = `${this.apiUrl}/assets/v1/inventory`; this.inventoryItemApiUrl = `${this.apiUrl}/assets/v1/inventory-item`; } getInventoryByOrgId(orgId: string) { return this.get(`${this.inventoryApiUrl}/organization/${orgId}`); } addInventoryItem(req: AddInventoryItemRequest) { return this.post(`${this.inventoryItemApiUrl}`, req); } getInventoryItem(req: PagedRequest) { return this.get>(`${this.inventoryItemApiUrl}`, req); } deleteInventoryItem(req: DeleteInventoryItemRequest) { return this.delete(`${this.inventoryItemApiUrl}/${req.inventoryId}/archive/${req.qrCodeId}`, undefined, { headers: { orgId: req.orgId }, }); } }