docs: update Home with implementation status, update Helpers with method signatures

Jonathan Miller
2026-06-23 17:18:03 -05:00
parent e8a44647bb
commit fec8490387
2 changed files with 70 additions and 31 deletions
+46
@@ -0,0 +1,46 @@
# MokoSuite Library
Library and resource lending management for Joomla 6 — catalog, checkout, reservations, fines, OPAC.
| Field | Value |
|---|---|
| **Type** | Joomla Package |
| **Version** | 01.00.06 |
| **Layer** | 2 (CRM) |
| **Dependencies** | Client → CRM |
| **PHP** | 8.3+ |
| **License** | GPL-3.0-or-later |
## Implementation Status
| Component | Count |
|---|---|
| Helpers | 4 |
| Admin Views | 6 |
| API Routes | 5 |
| Database Tables | 7 |
| Config Settings | 14 |
| ACL Permissions | 17 |
## Helpers
- `CatalogHelper`
- `CheckoutHelper`
- `FineHelper`
- `ReservationHelper`
## Package Contents
- `plg_system_mokosuitelibrary` — system plugin (helpers, SQL, Extension class)
- `com_mokosuitelibrary` — admin component (6 views)
- `plg_webservices_mokosuitelibrary` — REST API (5 routes)
## Wiki Pages
- [guides/Installation](guides/Installation)
- [guides/Configuration](guides/Configuration)
- [reference/Helpers](reference/Helpers)
---
*Repo: [MokoSuiteLibrary](https://git.mokoconsulting.tech/MokoConsulting/MokoSuiteLibrary) · [MokoStandards](https://git.mokoconsulting.tech/MokoConsulting/MokoCLI/wiki)*
+24 -31
@@ -2,42 +2,35 @@
## CatalogHelper
| Method | Description |
|---|---|
| `search(filters, limit, offset)` | Full-text catalog search with availability filter |
| `getItem(itemId)` | Item with all copies and availability status |
| `getAvailableCopies(itemId)` | Copies currently on shelf |
| Method | Returns | Description |
|---|---|---|
| `search()` | array | */ |
| `getItem()` | ?object | — |
| `getAvailableCopies()` | array | — |
## CheckoutHelper
| Method | Description |
|---|---|
| `checkout(copyId, patronId)` | Check out a copy to a patron |
| `checkin(copyId)` | Return a copy, calculate fines |
| `renew(checkoutId)` | Extend due date if allowed |
| `getOverdue()` | All overdue checkouts |
## ReservationHelper
| Method | Description |
|---|---|
| `reserve(itemId, patronId)` | Place hold on an item |
| `fulfillNext(itemId)` | Notify next patron when copy returned |
| `getQueue(itemId)` | Hold queue for an item |
| Method | Returns | Description |
|---|---|---|
| `checkout()` | object | */ |
| `checkin()` | ?object | — |
| `renew()` | bool | — |
| `getOverdue()` | array | — |
## FineHelper
| Method | Description |
|---|---|
| `calculate(checkoutId)` | Calculate fine for overdue checkout |
| `getPatronBalance(patronId)` | Total outstanding fines |
| `recordPayment(fineId, amount)` | Record fine payment |
| `waive(fineId, reason)` | Waive a fine with reason |
| Method | Returns | Description |
|---|---|---|
| `calculate()` | ?object | */ |
| `getPatronBalance()` | float | — |
| `recordPayment()` | bool | — |
| `waive()` | bool | — |
## BarcodeHelper
## ReservationHelper
| Method | Returns | Description |
|---|---|---|
| `reserve()` | object | */ |
| `fulfillNext()` | ?object | — |
| `getQueue()` | array | — |
| Method | Description |
|---|---|
| `generateItemBarcode(itemId)` | Code128 barcode for item |
| `generatePatronQR(patronId)` | QR code for patron card |
| `scanLookup(barcode)` | Identify item or patron from scan |