ifnex/04_Laravel/app
Kazem Alghasi 563f89495c fix(pricing): restore array-based calculate() and harden pricing API
Restore the array-based signature of PriceCalculatorService::calculate()
to fix the TypeError thrown when PricingController and CustomerOrderController
called it with an array (the previous commit had switched to 4 separate
string params without updating the callers).

- PriceCalculatorService: support multiple input formats for direction
  (export|import|Outbound|Inbound) and type (DOC_NORMAL|DOC_ECONOMY|PARCEL|
  DOCUMENT|NON DOC) for backward compatibility with admin and customer flows.
- ExchangeRateService: add convertToIrr() for explicit AED→IRR conversion
  (was missing but referenced by the calculator).
- PricingController: expand validation rules to accept new shipment types
  and a discount_code string (was 'discount' numeric). Add 3-layer exception
  handling (422 validation / 400 business / 500 server).
- PriceTestPage: compute volumetric weight from dimensions (IATA: L×W×H/5000),
  resolve destination country by direction, and show errors as Filament
  notifications instead of crashing.
2026-10-29 14:40:58 +03:30
..
Console/Commands refactor(currency): simplify exchange rate logic to use Rial as base 2026-10-29 03:54:02 +03:30
Enums feat(finance): rate approval + multi-currency credit system (درخواست ۹) 2026-09-30 05:14:31 +03:30
Exports feat(shipment): implement status history tracking and rate import improvements 2026-08-24 03:40:13 +03:30
Filament fix(pricing): restore array-based calculate() and harden pricing API 2026-10-29 14:40:58 +03:30
Helpers feat(ui): redesign admin dashboard with layered grid and custom branding 2026-10-03 11:08:50 +03:30
Http fix(pricing): restore array-based calculate() and harden pricing API 2026-10-29 14:40:58 +03:30
Imports feat(ui): add invoice download action to shipment view 2026-08-23 23:35:12 +03:30
Models feat(api): implement 4-quadrant rate import and pricing model 2026-10-29 07:18:52 +03:30
Notifications feat(commitment-forms): implement end-to-end management and secure file access 2026-10-03 05:58:59 +03:30
Observers feat(core): implement configuration-driven logic via SystemSetting 2026-09-10 02:25:21 +03:30
Policies feat(security): implement secure file storage and shipment access control 2026-10-01 03:34:28 +03:30
Providers chore(api): implement rate limiting for sensitive endpoints 2026-10-04 01:35:22 +03:30
Services fix(pricing): restore array-based calculate() and harden pricing API 2026-10-29 14:40:58 +03:30
Traits feat(core): implement order approval flow, credit system, and import invoicing 2026-09-03 06:04:20 +03:30