{ "version": 3, "sources": ["src/app/services/product-menu.service.ts"], "sourcesContent": ["import { Injectable } from '@angular/core';\r\nimport { Observable, map } from 'rxjs';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { environment } from '../../environments/environment';\r\nimport { ProductModel } from '../models/product.model';\r\nimport { QrMenu } from '../models/qr-menu.model';\r\nimport { ProductTypeModel } from '../models/productType.model';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ProductMenuService {\r\n baseUrl = environment.apiUrl;\r\n constructor(private http: HttpClient) {}\r\n\r\n //#region R&D\r\n getSellableProducts(customUrl: string): Observable {\r\n return this.http.get(`${this.baseUrl}/Menu/${customUrl}/`).pipe(\r\n map((response: any) => {\r\n let products: Array = [];\r\n let productList = response.menuItems;\r\n\r\n for (let i: number = 0; i < productList.length; i++) {\r\n let prod: ProductModel = new ProductModel();\r\n\r\n prod = productList[i];\r\n prod.productMasterId = productList[i].productMasterId;\r\n prod.productDisplayName = productList[i].productDisplayName;\r\n prod.sellPrice = productList[i].sellPrice;\r\n prod.costPrice = productList[i].costPrice;\r\n if (\r\n productList[i].defaultImgStr == null ||\r\n productList[i].defaultImgStr.length <= 0\r\n ) {\r\n prod.defaultImgStr = '../../assets/productMenu/addon.jpg';\r\n } else {\r\n prod.defaultImgStr = `${environment.imgUrl}${productList[i].defaultImgStr}`;\r\n }\r\n\r\n let prodCategory = new ProductTypeModel();\r\n prod.productTypeId = productList[i].productTypeId;\r\n prodCategory.productTypeId = productList[i].productTypeId;\r\n prodCategory.categoryName =\r\n productList[i].productType.categoryDisplayName;\r\n prod.productType = prodCategory;\r\n\r\n products.push(prod);\r\n }\r\n\r\n if (response.imgUrl != null && response.imgUrl.length > 0) {\r\n response.imgUrl = `${environment.imgUrl}${response.imgUrl}`;\r\n } else {\r\n response.imgUrl = '../../assets/productMenu/addon.jpg';\r\n }\r\n\r\n response.menuItems = products;\r\n return response as QrMenu;\r\n })\r\n );\r\n }\r\n\r\n getSellableProducts2(\r\n restaurantName: string,\r\n branchName: string,\r\n table: number\r\n ) {\r\n return this.http.get(\r\n `${this.baseUrl}/${restaurantName}/${branchName}/${table}`\r\n );\r\n }\r\n\r\n getProducts(branchId: number): Observable {\r\n return this.http.get(\r\n `${this.baseUrl}/api/ProductMenu/GetProducts/${branchId}`\r\n );\r\n }\r\n //#endregion\r\n\r\n //#region Main\r\n QRPrint(\r\n items: any[],\r\n restaurantName?: string,\r\n branchName?: string,\r\n customUrl?: string,\r\n tableId?: number\r\n ): Observable {\r\n if (items.length > 0) {\r\n return this.http.post(\r\n `${this.baseUrl}/api/Product/QRDownload`,\r\n items,\r\n { responseType: 'blob' as 'json' }\r\n );\r\n } else {\r\n const body = [\r\n {\r\n restaurantName: restaurantName,\r\n branchName: branchName,\r\n customUrl: customUrl,\r\n tableId: tableId,\r\n },\r\n ];\r\n return this.http.post(\r\n `${this.baseUrl}/api/Product/QRDownload`,\r\n body,\r\n { responseType: 'blob' as 'json' }\r\n );\r\n }\r\n }\r\n //#endregion\r\n\r\n getCustomerOrderList(orderList: any) {\r\n let token = localStorage.getItem('qr_auth_app_token');\r\n\r\n if (token) {\r\n token = token.replace(/\"/g, '');\r\n }\r\n\r\n // Start with required parameters\r\n let params = new HttpParams()\r\n .set('CustomerId', orderList.customerId)\r\n .set('PageNumber', orderList.PageNumber)\r\n .set('PageLength', orderList.PageLength);\r\n\r\n // Conditionally add optional parameters\r\n if (orderList.RestuarantName) {\r\n params = params.set('RestuarantName', orderList.RestuarantName);\r\n }\r\n\r\n if (orderList.OrderDate) {\r\n params = params.set('OrderDate', orderList.OrderDate);\r\n }\r\n console.log(\"params\",params);\r\n\r\n const headers = new HttpHeaders({\r\n Authorization: `Bearer ${token}`,\r\n });\r\n\r\n return this.http.get(\r\n `${this.baseUrl}/api/ProductMenu/CustomerOrderList`,\r\n { params, headers }\r\n );\r\n }\r\n\r\n\r\n\r\n //#region GET Customer Details\r\n GetQRCustomerDetail(customerId: number, token: string) {\r\n const headers = new HttpHeaders({\r\n 'Authorization': `Bearer ${token}`\r\n });\r\n return this.http.get(`${this.baseUrl}/api/Profile/GetQRCustomerDetail?customerId=${customerId}`, {headers});\r\n }\r\n\r\n updateCustomerProfileInfo(data: any) {\r\n var token = localStorage.getItem(\"qr_auth_app_token\");\r\n\r\n if (token) {\r\n token = token.replace(/\"/g, ''); // Removes any quotes from the token\r\n }\r\n\r\n const headers = new HttpHeaders({\r\n 'Authorization': `Bearer ${token}`\r\n });\r\n console.log(\"TOKEN FROM SRVICE\", headers, token);\r\n return this.http.post(`${this.baseUrl}/api/Profile/ProfileUpdate/`, data, {headers});\r\n }\r\n //#endregion\r\n\r\n //#region app qr download\r\n AppQRDownload(qr:string): Observable {\r\n return this.http.get(\r\n `${this.baseUrl}/api/Outlet/RedirectToOriginalUrl?code=${qr}`,\r\n { responseType: 'blob' as 'json' }\r\n );\r\n }\r\n //#endregion\r\n}\r\n"], "mappings": "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", "names": ["ProductMenuService", "constructor", "http", "baseUrl", "environment", "apiUrl", "getSellableProducts", "customUrl", "get", "pipe", "map", "response", "products", "productList", "menuItems", "i", "length", "prod", "ProductModel", "productMasterId", "productDisplayName", "sellPrice", "costPrice", "defaultImgStr", "imgUrl", "prodCategory", "ProductTypeModel", "productTypeId", "categoryName", "productType", "categoryDisplayName", "push", "getSellableProducts2", "restaurantName", "branchName", "table", "getProducts", "branchId", "QRPrint", "items", "tableId", "post", "responseType", "body", "getCustomerOrderList", "orderList", "token", "localStorage", "getItem", "replace", "params", "HttpParams", "set", "customerId", "PageNumber", "PageLength", "RestuarantName", "OrderDate", "console", "log", "headers", "HttpHeaders", "Authorization", "GetQRCustomerDetail", "updateCustomerProfileInfo", "data", "AppQRDownload", "qr", "\u0275\u0275inject", "HttpClient", "factory", "\u0275fac", "providedIn", "_ProductMenuService"] }