UNPKG

@receeco/pos-agent

Version:

Receeco POS Integration Middleware Agent

74 lines 2.82 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.ReceiptService = void 0; const axios_1 = __importDefault(require("axios")); const logger_1 = require("../utils/logger"); const logger = (0, logger_1.createLogger)(); class ReceiptService { constructor() { this.apiUrl = process.env.RECEECO_API_URL || "https://receeco.com/api"; this.apiKey = process.env.RECEECO_API_KEY || ""; } async createReceipt(payload) { try { if (process.env.NODE_ENV === "development") { logger.info("Creating receipt in backend:", { token: payload.token }); } const response = await axios_1.default.post(`${this.apiUrl}/trpc/createReceiptFromPOS`, payload, { headers: { "Content-Type": "application/json", Authorization: `Bearer ${this.apiKey}`, }, timeout: 10000, }); if (response.data?.result?.data) { return response.data.result.data.id || payload.token; } return payload.token; } catch (error) { logger.error("Failed to create receipt in backend:", error); throw new Error("Backend receipt creation failed"); } } async getReceiptStatus(receiptId) { try { const response = await axios_1.default.get(`${this.apiUrl}/trpc/getReceipt?input=${encodeURIComponent(JSON.stringify({ token: receiptId }))}`, { headers: { Authorization: `Bearer ${this.apiKey}`, }, timeout: 5000, }); return response.data?.result?.data || null; } catch (error) { logger.error("Failed to get receipt status:", error); throw new Error("Receipt status check failed"); } } async updateReceiptStatus(receiptId, status) { try { const response = await axios_1.default.post(`${this.apiUrl}/trpc/updateReceiptStatus`, { receiptId, status, timestamp: new Date().toISOString(), }, { headers: { "Content-Type": "application/json", Authorization: `Bearer ${this.apiKey}`, }, timeout: 5000, }); return response.status === 200; } catch (error) { logger.error("Failed to update receipt status:", error); return false; } } } exports.ReceiptService = ReceiptService; //# sourceMappingURL=receipt-service.js.map