fix: 503 при сбое GetScan вместо ложного 404 scan not found
- Store.GetScan возвращает (job, ok, error); Postgres отдаёт err при ошибке БД/JSON - API: getScanOrWriteError → 503 scan storage temporarily unavailable - Web UI: понятное сообщение для HTTP 503 при опросе скана Made-with: Cursor
This commit is contained in:
@@ -61,7 +61,8 @@ type ScanUpdate struct {
|
||||
|
||||
type Store interface {
|
||||
CreateScan(CreateScanRequest) (ScanJob, error)
|
||||
GetScan(id string) (ScanJob, bool)
|
||||
// GetScan: при found==false и err==nil записи нет; err!=nil — сбой хранилища (например БД).
|
||||
GetScan(id string) (ScanJob, bool, error)
|
||||
ListScans(limit int) []ScanJob
|
||||
UpdateScan(id string, update ScanUpdate) (ScanJob, bool)
|
||||
SaveHostResult(scanID string, host HostResult) error
|
||||
@@ -195,11 +196,11 @@ func (s *MemoryStore) CreateScan(req CreateScanRequest) (ScanJob, error) {
|
||||
return job, nil
|
||||
}
|
||||
|
||||
func (s *MemoryStore) GetScan(id string) (ScanJob, bool) {
|
||||
func (s *MemoryStore) GetScan(id string) (ScanJob, bool, error) {
|
||||
s.mu.RLock()
|
||||
job, ok := s.jobs[id]
|
||||
s.mu.RUnlock()
|
||||
return job, ok
|
||||
return job, ok, nil
|
||||
}
|
||||
|
||||
func (s *MemoryStore) ListScans(limit int) []ScanJob {
|
||||
|
||||
Reference in New Issue
Block a user