Commit Graph

3087 Commits

Author SHA1 Message Date
Abubeker Yasin
c6ca5ed8e8 add provider detail on the 2026-07-16 12:05:47 +03:00
Abubeker Yasin
edbef5ccf2 add permissions 2026-07-16 11:01:31 +03:00
Stephanos A
3bc492ea83 Merge branch 'alpha' of github.com:Tria-plc/edr-platform into alpha 2026-07-16 08:41:53 +03:00
Stephanos A
b2b31f30bb Generate ticket, dashboard, excess luggage rate updates 2026-07-16 08:41:35 +03:00
Abubeker Yasin
d0a3fb3ca3 Merge branch 'alpha' of github.com:Tria-plc/edr-platform into alpha 2026-07-15 23:14:19 +03:00
Abubeker Yasin
7725b0d5d4 Update payments.service.ts 2026-07-15 23:14:05 +03:00
Roba Boru
916b41d541 Merge branch 'dev' of https://github.com/Tria-plc/edr-platform into alpha 2026-07-15 22:03:58 +03:00
Roba Boru
230fdfb852 Merge branch 'alpha' of https://github.com/Tria-plc/edr-platform into alpha 2026-07-15 22:03:48 +03:00
Roba Boru
63accc8bd3 Fix booking detail for roundtrip 2026-07-15 22:03:29 +03:00
Abubeker Yasin
5360075a74 Merge pull request #715 from Tria-plc/alpha
Alpha
2026-07-15 21:47:32 +03:00
Abubeker Yasin
458f27c1b1 Merge branch 'alpha' of github.com:Tria-plc/edr-platform into alpha 2026-07-15 21:33:17 +03:00
Eyob T.
fa40dc787b Merge pull request #714 from Tria-plc/alpha
Update seatmap for blocked seats
2026-07-15 21:32:35 +03:00
Roba Boru
4452ec2410 Merge branch 'dev' of https://github.com/Tria-plc/edr-platform into alpha 2026-07-15 21:29:51 +03:00
Roba Boru
be7b829845 Merge branch 'alpha' of https://github.com/Tria-plc/edr-platform into alpha 2026-07-15 21:29:35 +03:00
Roba Boru
f185da2163 Update seatmap for blocked seats 2026-07-15 21:28:35 +03:00
Abubeker Yasin
9cf71e7e7a feat: ( payment ) add waafi webhook log 2026-07-15 21:23:10 +03:00
Stephanos A.
9a8c42d0b3 Merge pull request #713 from Tria-plc/alpha
Seat block issue resolution
2026-07-15 21:13:50 +03:00
Stephanos A
2d2fcfbda9 Seat block issue resolution 2026-07-15 21:11:23 +03:00
Abubeker Yasin
2ffb2f9f60 remove auth 2026-07-15 20:05:55 +03:00
Roba Boru
ffa5a114b5 Merge branch 'main' of https://github.com/Tria-plc/edr-platform into alpha 2026-07-15 19:57:18 +03:00
Roba Boru
0d117362d6 Merge branch 'dev' of https://github.com/Tria-plc/edr-platform into alpha 2026-07-15 19:56:58 +03:00
Roba Boru
be46744417 Merge branch 'alpha' of https://github.com/Tria-plc/edr-platform into alpha 2026-07-15 19:56:22 +03:00
Stephanos A.
b12df90e59 Merge pull request #712 from Tria-plc/alpha
Currency issue resolution
2026-07-15 19:53:38 +03:00
Stephanos A
8bda06b226 Currency issue resolution 2026-07-15 19:50:32 +03:00
Stephanos A.
d45b4e78d4 Merge pull request #711 from Tria-plc/alpha
Alpha
2026-07-15 19:21:35 +03:00
Stephanos A
4343ead1fe Merge branch 'alpha' of github.com:Tria-plc/edr-platform into alpha 2026-07-15 19:18:49 +03:00
Stephanos A
7bbd34f159 Currency issue resolution 2026-07-15 19:18:35 +03:00
mulish77
a8690a60d8 Merge pull request #710 from Tria-plc/dev
prod deployment
2026-07-15 19:09:12 +03:00
Hagernesh Tadesse
6518ba799a Merge pull request #709 from Tria-plc/wh-dashboard
Added performed by to warehouse for audit
2026-07-15 18:35:32 +03:00
Hagernesh
2647776d19 feat(warehouse): stamp actor as display name instead of UUID
Add actorLabel(user) — resolves the authenticated user to a readable name
(name → username → email → id) — and use it for the performed_by audit stamp on
every warehouse action, so the activity log shows a person, not a UUID. The
freight DB has no users table to join, so the name is stamped at write time.
approve-delivery keeps the raw user id (it is an id argument, not the audit
label). Existing rows keep their prior value; this applies going forward.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-15 15:24:05 +00:00
Hagernesh
2044312d93 feat(warehouse): stamp authenticated user as action actor (performedBy)
Warehouse mutation endpoints now record the JWT-authenticated user as the actor
(user.id) instead of trusting a client-supplied performedBy string, unlocking
per-operator productivity metrics and a trustworthy audit trail. Covers receive,
receive-bulk, reserve, store, ready-for-loading, ready-for-pickup, load-onto-
train, bulk-dispatch, dispatch, deliver, gate-clearance, approve-delivery, the
Djibouti/import auto-unload actions, and fee-invoice generation. The prior
client value is kept only as a fallback for unauthenticated/internal calls.

move/load do not yet carry an actor (their DTOs have no performedBy) — separate
follow-up.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-15 14:51:21 +00:00
Hagernesh
ac90b04be0 feat(warehouse): P2 dashboard — gate/dock throughput + live auto-refresh
- gateStats(): items cleared through the gate today, average arrival→gate
  turnaround (hours, 30d), and clearances per hour over the last 24h → new
  GateThroughputCard in the dashboard Performance section.
- Live board: every dashboard query (dashboard, ops, throughput, dwell, cycle,
  on-time, zone occupancy, accrual, gate) now auto-refreshes on a 60s interval,
  with a "Live" indicator in the header.

New endpoint GET /warehouse-inventory/gate-stats (guarded). Deferred (need
upstream data): capacity forecast, labour productivity, WebSocket push, yard map.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-15 14:26:02 +00:00
Hagernesh Tadesse
7be432436b Merge pull request #708 from Tria-plc/wh-dashboard
feat(warehouse): P1 dashboard analytics — dwell/aging, cycle-time + o…
Dwell/aging + cycle-time/on-time + live-delta tiles on the warehouse cockpit.

Roadmap remaining (P2): gate turn-time (aggregate gate_cleared_at), capacity forecast, labour/equipment productivity, real-time push.
2026-07-15 16:57:23 +03:00
Hagernesh
fc4aadbc57 feat(warehouse): P1 dashboard analytics — dwell/aging, cycle-time + on-time, live deltas
Adds the operational-performance layer to the warehouse cockpit:

- Dwell time & aging: dwellStats() (avg + 0-3/4-7/8-14/15+ buckets over
  in-warehouse items) → DwellAgingCard histogram.
- Cycle time & on-time: cycleStats() (arrived→ready→loaded→dispatched stage
  averages + dock-to-dispatch) and onTimeDispatchStats() (share of items that
  left before their storage free-days expired, resolved via the fee engine's
  own rule matching) → CycleTimeCard.
- Live tiles: opsStats() now returns receivedYesterday; KpiStrip renders an
  optional ▲/▼ delta, and the ops strip shows received-today vs yesterday.

New endpoints: GET /warehouse-inventory/{dwell-stats,cycle-stats} and
/warehouse-fees/on-time-dispatch (all guarded). New "Performance" section on
WarehouseDashboardPage. On-time reads N/A when there is no sample / no active
storage rule.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-15 13:55:39 +00:00
marshal
6391ba837a Merge pull request #707 from Tria-plc/freight_feature/usermanagement
changes
2026-07-15 16:30:28 +03:00
Marshal
19c9da28ae changes 2026-07-15 13:29:01 +00:00
Eyob T.
f5423e19b5 Merge pull request #705 from Tria-plc/alpha
Fix seat reservation
2026-07-15 15:34:16 +03:00
Hagernesh Tadesse
05ebbed1fc Merge pull request #704 from Tria-plc/accrualdashboard
feat(warehouse): assemble dashboard cockpit + server-side throughput …
2026-07-15 15:32:41 +03:00
Roba Boru
18ad65acc4 Merge branch 'dev' of https://github.com/Tria-plc/edr-platform into alpha 2026-07-15 15:31:41 +03:00
Hagernesh
2e22b72e27 feat(warehouse): assemble dashboard cockpit + server-side throughput series
- WarehouseDashboardPage now composes the ops KPI strip, lifecycle cards, flow
  charts, zone-occupancy heatmap and demurrage/accrual exceptions into one
  control-tower view; drop the redundant lifecycle donut.
- New GET /warehouse-inventory/throughput (date_trunc time series) replaces the
  client-side buildTrend that downloaded the entire inventory list to bucket it.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-15 12:27:53 +00:00
Roba Boru
7c9594a581 Fix seat reservation 2026-07-15 15:25:32 +03:00
Abubeker Yasin
ea2d912773 Merge pull request #703 from Tria-plc/alpha
Comment out altenative schedules
2026-07-15 15:04:26 +03:00
Roba Boru
6f8dcaaf4a Comment out altenative schedules 2026-07-15 14:58:25 +03:00
Abubeker Yasin
8c1f2a21c6 Merge pull request #702 from Tria-plc/dev
merge dev to main
2026-07-15 14:20:45 +03:00
SennayT
f13b1d176c remove no cache when building 2026-07-15 13:57:28 +03:00
SennayT
f9706c9fb0 refactor: separate base image configuration into Dockerfile.base for improved build management 2026-07-15 10:51:35 +00:00
SennayT
3416585a01 add puppeteer support 2026-07-15 13:42:42 +03:00
marshal
7700aa6358 Merge pull request #701 from Tria-plc/freight_feature/usermanagement
Freight feature/usermanagement
2026-07-15 13:32:37 +03:00
Marshal
c71a0043d6 implement wagon maintenance feature: add functionality to detach wagons and move them to maintenance status 2026-07-15 10:32:09 +00:00
Eyob T.
2c56928c6f Merge pull request #700 from Tria-plc/alpha
Update seat availability
2026-07-15 12:52:32 +03:00