task.go 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package model
  2. import (
  3. "encoding/json"
  4. "wkla.no-ip.biz/gogs/Willie/MsgService/MessageService/logging"
  5. )
  6. const TaskOrphanedFilesReport = "orphanedFilesReport"
  7. const TaskOrphanedFilesDelete = "orphanedFilesDelete"
  8. type TaskStatus string
  9. const (
  10. New TaskStatus = "new"
  11. Running = "running"
  12. Finished = "finished"
  13. )
  14. type Task struct {
  15. ID string `yaml:"id" json:"id"`
  16. Name string `yaml:"name" json:"name"`
  17. Type string `yaml:"ttype" json:"ttype"`
  18. Status TaskStatus `yaml:"tstatus" json:"tstatus"`
  19. File string `yaml:"tfile" json:"tfile"`
  20. Data JSONMap `yaml:"tdata" json:"tdata"`
  21. }
  22. var log logging.ServiceLogger
  23. //ToJSONMap converting task to json map
  24. func (t *Task) ToJSONMap() (JSONMap, error) {
  25. taskModel := JSONMap{}
  26. jsonData, err := json.Marshal(t)
  27. if err != nil {
  28. log.Alertf("error: %v", err)
  29. return nil, err
  30. }
  31. err = json.Unmarshal(jsonData, &taskModel)
  32. if err != nil {
  33. log.Alertf("error: %v", err)
  34. return nil, err
  35. }
  36. return taskModel, nil
  37. }