StartDeleteTask initiates a new asynchronous key deletion task.
(group *models.Group, keysText string)
| 33 | |
| 34 | // StartDeleteTask initiates a new asynchronous key deletion task. |
| 35 | func (s *KeyDeleteService) StartDeleteTask(group *models.Group, keysText string) (*TaskStatus, error) { |
| 36 | keys := s.KeyService.ParseKeysFromText(keysText) |
| 37 | if len(keys) == 0 { |
| 38 | return nil, fmt.Errorf("no valid keys found in the input text") |
| 39 | } |
| 40 | |
| 41 | initialStatus, err := s.TaskService.StartTask(TaskTypeKeyDelete, group.Name, len(keys)) |
| 42 | if err != nil { |
| 43 | return nil, err |
| 44 | } |
| 45 | |
| 46 | go s.runDelete(group, keys) |
| 47 | |
| 48 | return initialStatus, nil |
| 49 | } |
| 50 | |
| 51 | func (s *KeyDeleteService) runDelete(group *models.Group, keys []string) { |
| 52 | progressCallback := func(processed int) { |
no test coverage detected