const fs = require('fs'); // 1. Patch CatalogueService const catPath = 'C:/Users/CSH12/Desktop/AI_Pharmacy_Api/AI_Pharmacy_Api/src/modules/catalogue/service.ts'; let catCode = fs.readFileSync(catPath, 'utf8'); // searchDrugs catCode = catCode.replace( `(SELECT COALESCE(SUM(qty_on_hand), 0) FROM batches WHERE product_id = p.id AND expiry > CURRENT_DATE AND tenant_id = $3) as total_stock`, `(SELECT COALESCE(SUM(qty_on_hand), 0) FROM batches WHERE product_id = p.id AND expiry > CURRENT_DATE) as total_stock` ); catCode = catCode.replace( `AND (p.tenant_id = $3 OR p.tenant_id IS NULL)`, `-- AND (p.tenant_id = $3 OR p.tenant_id IS NULL)` ); // getAllDrugs catCode = catCode.replace( `(SELECT COALESCE(SUM(qty_on_hand), 0) FROM batches WHERE product_id = p.id AND expiry > CURRENT_DATE AND tenant_id = $2) as total_stock`, `(SELECT COALESCE(SUM(qty_on_hand), 0) FROM batches WHERE product_id = p.id AND expiry > CURRENT_DATE) as total_stock` ); catCode = catCode.replace( `WHERE p.tenant_id = $2 OR EXISTS (SELECT 1 FROM batches WHERE product_id = p.id AND tenant_id = $2) OR p.tenant_id IS NULL`, `WHERE EXISTS (SELECT 1 FROM batches WHERE product_id = p.id) OR p.tenant_id IS NULL OR p.tenant_id = $2` ); fs.writeFileSync(catPath, catCode); // 2. Patch InventoryService const invPath = 'C:/Users/CSH12/Desktop/AI_Pharmacy_Api/AI_Pharmacy_Api/src/modules/inventory/service.ts'; let invCode = fs.readFileSync(invPath, 'utf8'); invCode = invCode.replace( `AND b.expiry <= CURRENT_DATE + $1::int\n AND b.tenant_id = $2`, `AND b.expiry <= CURRENT_DATE + $1::int\n -- AND b.tenant_id = $2` ); invCode = invCode.replace( `AND b.qty_on_hand <= $1::int\n AND b.tenant_id = $2`, `AND b.qty_on_hand <= $1::int\n -- AND b.tenant_id = $2` ); fs.writeFileSync(invPath, invCode); console.log("Successfully removed tenant_id filters to make stock global.");