- Upload hingga 3 gambar per bug report (FileInput multi-select) - Backend: POST /api/upload/image → MinIO, GET /api/bugs/images → presigned URL redirect - Auto-create bucket jika belum ada saat server start - Preview gambar fullscreen saat thumbnail diklik - Diterapkan di /bug-reports dan /apps/$appId/errors - Migrasi storage dari Seafile ke MinIO (minio SDK v8) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
45 lines
2.7 KiB
TypeScript
45 lines
2.7 KiB
TypeScript
export const API_BASE_URL = import.meta.env.VITE_URL_API_DESA_PLUS
|
|
|
|
export const API_URLS = {
|
|
getVillages: (page: number, search: string) =>
|
|
`${API_BASE_URL}/api/monitoring/get-villages?page=${page}&search=${encodeURIComponent(search)}`,
|
|
infoVillages: (id: string) =>
|
|
`${API_BASE_URL}/api/monitoring/info-villages?id=${id}`,
|
|
gridVillages: (id: string) =>
|
|
`${API_BASE_URL}/api/monitoring/grid-villages?id=${id}`,
|
|
graphLogVillages: (id: string, time: string) =>
|
|
`${API_BASE_URL}/api/monitoring/graph-log-villages?id=${id}&time=${time}`,
|
|
getUsers: (page: number, search: string) =>
|
|
`${API_BASE_URL}/api/monitoring/user?page=${page}&search=${encodeURIComponent(search)}`,
|
|
getLogsAllVillages: (page: number, search: string) =>
|
|
`${API_BASE_URL}/api/monitoring/log-all-villages?page=${page}&search=${encodeURIComponent(search)}`,
|
|
getGridOverview: () => `${API_BASE_URL}/api/monitoring/grid-overview`,
|
|
getDailyActivity: () => `${API_BASE_URL}/api/monitoring/daily-activity`,
|
|
getComparisonActivity: () => `${API_BASE_URL}/api/monitoring/comparison-activity`,
|
|
postVersionUpdate: () => `${API_BASE_URL}/api/monitoring/version-update`,
|
|
createVillages: () => `${API_BASE_URL}/api/monitoring/create-villages`,
|
|
createUser: () => `${API_BASE_URL}/api/monitoring/create-user`,
|
|
listRole: () => `${API_BASE_URL}/api/monitoring/list-userrole-villages`,
|
|
listGroup: (id: string) => `${API_BASE_URL}/api/monitoring/list-group-villages?id=${id}`,
|
|
listPosition: (id: string) => `${API_BASE_URL}/api/monitoring/list-position-villages?id=${id}`,
|
|
editUser: () => `${API_BASE_URL}/api/monitoring/edit-user`,
|
|
updateStatusVillages: () => `${API_BASE_URL}/api/monitoring/update-status-villages`,
|
|
editVillages: () => `${API_BASE_URL}/api/monitoring/edit-villages`,
|
|
getGlobalLogs: (page: number, search: string, type: string, userId: string) =>
|
|
`/api/logs?page=${page}&search=${encodeURIComponent(search)}&type=${type}&userId=${userId}`,
|
|
getLogOperators: () => `/api/logs/operators`,
|
|
getOperators: (page: number, search: string) =>
|
|
`/api/operators?page=${page}&search=${encodeURIComponent(search)}`,
|
|
getOperatorStats: () => `/api/operators/stats`,
|
|
createOperator: () => `/api/operators`,
|
|
editOperator: (id: string) => `/api/operators/${id}`,
|
|
deleteOperator: (id: string) => `/api/operators/${id}`,
|
|
getBugs: (page: number, search: string, app: string, status: string) =>
|
|
`/api/bugs?page=${page}&search=${encodeURIComponent(search)}&app=${app}&status=${status}`,
|
|
createBug: () => `/api/bugs`,
|
|
uploadImage: () => `/api/upload/image`,
|
|
updateBugStatus: (id: string) => `/api/bugs/${id}/status`,
|
|
updateBugFeedback: (id: string) => `/api/bugs/${id}/feedback`,
|
|
createLog: () => `/api/logs`,
|
|
}
|