55 lines
3.8 KiB
JavaScript
55 lines
3.8 KiB
JavaScript
// api/transit.js — كل نداءات backend/transit/* (بوابة connect_admin.php)
|
|
import { api } from './client'
|
|
|
|
// ── الدخول ──────────────────────────────────────────────
|
|
export const loginRequest = (phone) => api.request('admin/login_request.php', { phone })
|
|
export const loginVerify = (phone, otp) => api.request('admin/login_verify.php', { phone, otp })
|
|
export const logout = () => api.request('admin/logout.php', {})
|
|
|
|
// ── لوحة اليوم ──────────────────────────────────────────
|
|
export const getDashboard = () => api.request('admin/dashboard.php', {})
|
|
|
|
// ── الأسطول: مركبات ─────────────────────────────────────
|
|
export const listVehicles = () => api.request('vehicle/list.php', {})
|
|
export const addVehicle = (v) => api.request('vehicle/add.php', v)
|
|
export const updateVehicle = (v) => api.request('vehicle/update.php', v)
|
|
export const toggleVehicle = (vehicle_id, is_active) =>
|
|
api.request('vehicle/toggle.php', { vehicle_id, is_active: is_active ? 1 : 0 })
|
|
|
|
// ── الأسطول: سائقون ──────────────────────────────────────
|
|
export const listDrivers = (status = 'all') => api.request('driver/list.php', { status })
|
|
export const inviteDriver = (d) => api.request('driver/invite.php', d)
|
|
export const suspendDriver = (driver_id, action) => api.request('driver/suspend.php', { driver_id, action })
|
|
|
|
// ── الخطوط ──────────────────────────────────────────────
|
|
export const listRoutes = (status = 'all') => api.request('route/list.php', { status })
|
|
export const getRoute = (route_id) => api.request('route/get.php', { route_id })
|
|
export const addRoute = (payload) =>
|
|
api.request('route/add.php', { ...payload, stops: JSON.stringify(payload.stops || []) })
|
|
export const updateRoute = (payload) =>
|
|
api.request('route/update.php', { ...payload, stops: JSON.stringify(payload.stops || []) })
|
|
|
|
// ── الجداول ─────────────────────────────────────────────
|
|
export const listSchedules = (route_id) => api.request('schedule/list.php', { route_id })
|
|
export const addSchedule = (s) => api.request('schedule/add.php', s)
|
|
export const deleteSchedule = (schedule_id) => api.request('schedule/delete.php', { schedule_id })
|
|
|
|
// ── الطلاب / الأعضاء ────────────────────────────────────
|
|
export const listEnrollments = (status = 'all', page = 1) =>
|
|
api.request('enrollment/list.php', { status, page })
|
|
export const approveEnrollment = (enrollment_id, action, expires_at) =>
|
|
api.request('enrollment/approve.php', { enrollment_id, action, expires_at })
|
|
export const listRosters = () => api.request('enrollment/rosters_list.php', {})
|
|
export const importRoster = (file, semester) => {
|
|
const fd = new FormData()
|
|
fd.append('file', file)
|
|
if (semester) fd.append('semester', semester)
|
|
return api.request('enrollment/import_roster.php', fd, { isForm: true })
|
|
}
|
|
|
|
// ── الرحلات ─────────────────────────────────────────────
|
|
export const cancelTrip = (trip_id, reason) => api.request('trip/cancel.php', { trip_id, reason })
|
|
|
|
// ── الإعلانات ───────────────────────────────────────────
|
|
export const sendBroadcast = (b) => api.request('broadcast/send.php', b)
|