mirror of
https://github.com/EZ-Api/ez-api.git
synced 2026-01-13 17:47:51 +00:00
feat(api): allow batch status updates
This commit is contained in:
@@ -2,6 +2,7 @@ package api
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"strings"
|
||||
|
||||
"github.com/ez-api/ez-api/internal/model"
|
||||
"gorm.io/gorm"
|
||||
@@ -49,6 +50,30 @@ func (h *AdminHandler) revokeMasterByID(id uint) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (h *AdminHandler) setMasterStatusByID(id uint, status string) error {
|
||||
if id == 0 {
|
||||
return gorm.ErrRecordNotFound
|
||||
}
|
||||
status = strings.ToLower(strings.TrimSpace(status))
|
||||
if status == "" {
|
||||
return errors.New("status required")
|
||||
}
|
||||
var m model.Master
|
||||
if err := h.db.First(&m, id).Error; err != nil {
|
||||
return err
|
||||
}
|
||||
if err := h.db.Model(&m).Update("status", status).Error; err != nil {
|
||||
return err
|
||||
}
|
||||
if err := h.db.First(&m, id).Error; err != nil {
|
||||
return err
|
||||
}
|
||||
if err := h.syncService.SyncMaster(&m); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func isRecordNotFound(err error) bool {
|
||||
return errors.Is(err, gorm.ErrRecordNotFound)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user