Backend (Phase 1-6): - Pydantic schemas for request/response validation - Service layer (SSH Key, Server, Repo, Sync) - API routes with authentication - FastAPI main application with lifespan management - ORM models (SshKey, Server, Repo, SyncLog) Frontend (Phase 7): - Vue 3 + Element Plus + Pinia + Vue Router - API client with Axios and interceptors - State management stores - All page components (Dashboard, Servers, Repos, SyncLogs, SshKeys, Settings) Deployment (Phase 8): - README with quick start guide - Startup script (start.sh) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
34 lines
745 B
JavaScript
34 lines
745 B
JavaScript
import api from './index'
|
|
|
|
export const syncLogsApi = {
|
|
// Get all sync logs with pagination
|
|
getAll(params) {
|
|
return api.get('/sync-logs', { params })
|
|
},
|
|
|
|
// Get sync log by ID
|
|
getById(id) {
|
|
return api.get(`/sync-logs/${id}`)
|
|
},
|
|
|
|
// Get logs by server ID
|
|
getByServerId(serverId, params) {
|
|
return api.get(`/sync-logs/server/${serverId}`, { params })
|
|
},
|
|
|
|
// Get logs by repository ID
|
|
getByRepoId(repoId, params) {
|
|
return api.get(`/sync-logs/repo/${repoId}`, { params })
|
|
},
|
|
|
|
// Get logs by status
|
|
getByStatus(status, params) {
|
|
return api.get(`/sync-logs/status/${status}`, { params })
|
|
},
|
|
|
|
// Delete old logs
|
|
deleteOld(days) {
|
|
return api.delete('/sync-logs/old', { params: { days } })
|
|
}
|
|
}
|