@@ -41,10 +41,14 @@ func NewKeyManualValidationService(db *gorm.DB, validator *keypool.KeyValidator,
4141}
4242
4343// StartValidationTask starts a new manual validation task for a given group.
44- func (s * KeyManualValidationService ) StartValidationTask (group * models.Group ) (* TaskStatus , error ) {
44+ func (s * KeyManualValidationService ) StartValidationTask (group * models.Group , status string ) (* TaskStatus , error ) {
4545 var keys []models.APIKey
46- if err := s .DB .Where ("group_id = ?" , group .ID ).Find (& keys ).Error ; err != nil {
47- return nil , fmt .Errorf ("failed to get keys for group %s: %w" , group .Name , err )
46+ query := s .DB .Where ("group_id = ?" , group .ID )
47+ if status != "" {
48+ query = query .Where ("status = ?" , status )
49+ }
50+ if err := query .Find (& keys ).Error ; err != nil {
51+ return nil , fmt .Errorf ("failed to get keys for group %s with status '%s': %w" , group .Name , status , err )
4852 }
4953
5054 if len (keys ) == 0 {
@@ -59,13 +63,20 @@ func (s *KeyManualValidationService) StartValidationTask(group *models.Group) (*
5963 }
6064
6165 // Run the validation in a separate goroutine
62- go s .runValidation (group , keys )
66+ go s .runValidation (group , keys , status )
6367
6468 return taskStatus , nil
6569}
6670
67- func (s * KeyManualValidationService ) runValidation (group * models.Group , keys []models.APIKey ) {
68- logrus .Infof ("Starting manual validation for group %s" , group .Name )
71+ func (s * KeyManualValidationService ) runValidation (group * models.Group , keys []models.APIKey , status string ) {
72+ logFields := logrus.Fields {
73+ "group" : group .Name ,
74+ "status" : status ,
75+ }
76+ if status == "" {
77+ logFields ["status" ] = "all"
78+ }
79+ logrus .WithFields (logFields ).Info ("Starting manual validation" )
6980
7081 jobs := make (chan models.APIKey , len (keys ))
7182 results := make (chan bool , len (keys ))
0 commit comments