d757a89dd6Fix: Gunakan CAST(? AS DATE) di aggregateForDate untuk transisi tahun/bulan
main
BTekno Dev
2026-01-02 00:00:41 +07:00
19926b30e3Fix: Data inconsistency pada transisi tahun/bulan dan setup API lokal
BTekno Dev
2026-01-01 23:38:13 +07:00
d05fa2f4cdFix daily_summary dan hourly_summary aggregation, tambah fallback logic untuk dashboard, update validator untuk camera dan location type
mwpn
2025-12-18 11:13:06 +07:00
5af51949dbfeat: add OpenAPI auto-generate dari routes - Tambah OpenAPIGenerator class untuk scan routes dan generate spec - Tambah CLI command bin/generate-openapi.php - Support auto-generate on request via OPENAPI_AUTO_GENERATE env - Update public/index.php untuk auto-generate saat request /docs/openapi.json - Tambah dokumentasi OPENAPI_AUTO_GENERATE.md
mwpn
2025-12-18 06:53:52 +07:00
eaa8ca97c1docs: update OpenAPI spec dengan endpoint baru dan field camera - Tambah GET /locations/{code}, GET /gates/{location_code}/{gate_code}, GET /tariffs, GET /tariffs/{location_code}/{gate_code}/{category}, GET /audit-logs, GET /entry-events, GET /streams, GET /realtime/events, GET /realtime/snapshot, GET /summary/hourly, GET /dashboard/by-category, GET /dashboard/summary - Update field camera di gates (support HLS, RTSP, HTTP)
mwpn
2025-12-18 06:46:03 +07:00
820a0600eddocs: update API_ENDPOINTS.md dengan endpoint baru dan field camera
mwpn
2025-12-18 06:42:27 +07:00
4d36f02f32feat: tambah endpoint frontend dan field camera di gate
mwpn
2025-12-18 06:36:49 +07:00
1d5511ccbcAdd location_code filter to streams endpoint for live camera filtering
mwpn
2025-12-17 17:57:14 +07:00
d2b4def127Fix location_code filter in stream method: handle empty string and trim whitespace
mwpn
2025-12-17 17:55:35 +07:00
2760f1a8f7Fix location_code filter: handle empty string and trim whitespace
mwpn
2025-12-17 17:55:00 +07:00
a1a9dd93f8Add test script to verify hourly summary API response
mwpn
2025-12-17 17:51:18 +07:00
c9928c5a6eAdd debug script to check why total_amount is not calculated in hourly summary
mwpn
2025-12-17 17:49:41 +07:00
61c6c23e8aAdd explanation: hourly summary will be updated again when cron runs (repeated updates behavior)
mwpn
2025-12-17 17:48:06 +07:00
4e7878d417Add explanation: hourly summary data is REPLACED not ADDED (upsert behavior)
mwpn
2025-12-17 17:43:55 +07:00
55ae19de66Add detailed explanation for hourly cron job concept (jam 2 update jam 1)
mwpn
2025-12-17 17:42:58 +07:00
1aa462d9daFix hourly summary: default to today for realtime updates, add hour parameter for efficient updates
mwpn
2025-12-17 17:41:27 +07:00
dae5e9d2d5fix: Register CORS middleware di public/index.php sebelum semua route
mwpn
2025-12-17 14:29:43 +07:00
a87d29c228chore: Normalize Origin header in CORS middleware dan update test_cors
mwpn
2025-12-17 14:25:29 +07:00
a8bd195743fix: Reorder CORS middleware to execute after RoutingMiddleware (LIFO)
mwpn
2025-12-17 14:21:15 +07:00
37098f4518fix: Add global OPTIONS route for CORS preflight handling
mwpn
2025-12-17 14:18:21 +07:00
359def592dfix: Pastikan CORS headers ditambahkan ke error response juga, tambah DEPLOY_CORS_FIX.md
mwpn
2025-12-17 14:10:33 +07:00
8b81de7fa6docs: Update troubleshooting CORS dengan langkah restart PHP-FPM yang jelas
mwpn
2025-12-17 14:09:13 +07:00
e59bf9d981feat: Tambah script test_cors.php untuk debug CORS middleware
mwpn
2025-12-17 14:07:45 +07:00
bae1da324bfix: Perbaiki CORS middleware agar selalu add headers jika wildcard diizinkan, tambah script check_cors.php
mwpn
2025-12-17 14:02:49 +07:00
0dacce974cdocs: Tambahkan instruksi deployment CORS dan troubleshooting
mwpn
2025-12-17 13:57:11 +07:00
89c9ea93c8feat: Add CORS middleware untuk akses dari browser lokal
mwpn
2025-12-17 13:56:32 +07:00
bbe4cc000bAdd: Complete API endpoints documentation - List all endpoints with request/response examples - Include authentication requirements - Document error responses - Add query parameters and access control info
mwpn
2025-12-17 13:43:59 +07:00
b10d590649Fix: Remove created_at/updated_at from daily/hourly summary INSERT - Production database doesn't have these columns - Update DailySummaryService and HourlySummaryService - Add daily_summary and hourly_summary structure check to check_database.php
mwpn
2025-12-17 13:38:36 +07:00
ca3b1bd0d7Fix: Change 'amount' to 'price' to match database schema - Database uses 'price' column, not 'amount' - Update all queries in DailySummaryService, HourlySummaryService - Update RetribusiWriteService (SELECT, INSERT, UPDATE) - Update Validator to use 'price' field - Update check_database.php and TROUBLESHOOTING.md
mwpn
2025-12-17 13:36:29 +07:00
533c22d3afFix: Fix SQL GROUP BY error in daily/hourly summary aggregation - Use COALESCE in GROUP BY to handle NULL tariff amounts - Remove invalid is_active check on tariffs table
mwpn
2025-12-17 13:32:31 +07:00
220b554a17docs: Add module guide dan security guidelines untuk API documentation
mwpn
2025-12-17 11:11:26 +07:00