feat: build software licenses, purchase orders, vendors, and inventory stock modules - #1244
Conversation
…y stock modules Implement modules assigned to ibinola. Closes DistinctCodes#1149 Closes DistinctCodes#1148 Closes DistinctCodes#1147 Closes DistinctCodes#1146
|
@Ibinola is attempting to deploy a commit to the naijabuz's projects Team on Vercel. A member of the Team first needs to authorize it. |
|
@Ibinola Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
yusuftomilola
left a comment
There was a problem hiding this comment.
Reviewed the diff — matches its description. Adds an Inventory module (stock movements, ledger balance, negative-stock prevention), Vendors module, Purchase Orders module (with a receiving workflow), and a Licenses module (seat-limit enforcement, license-key redaction in list responses). All new, distinct file paths.
Same recurring app.module.ts additive-registration conflict as the rest of this batch; combined both sides since these are independent modules with no overlap with anything already merged. Resolved locally and pushed to main. Approving — this is the last of the 14 open PRs.
Summary of Changes
This pull request implements the backend modules assigned to
ibinola:InventoryItemandStockMovemententities, supporting stock movement recording (POST /inventory/:id/movements), ledger balance calculation, and negative stock prevention.Vendorentity,VendorsService, andVendorsController.PurchaseOrderentity and receiving workflow (POST /purchase-orders/:id/receive).Licenseentity andLicensesServiceenforcing total seat limits and redacting license keys in list responses.Closes #1149
Closes #1148
Closes #1147
Closes #1146