32 lines
545 B
Go
32 lines
545 B
Go
|
package taskservice
|
||
|
|
||
|
import (
|
||
|
"code.alt-gnome.ru/aides-infra/aides-repo-api/internal/models"
|
||
|
)
|
||
|
|
||
|
func (s *Service) Create(repo string) (*models.Task, error) {
|
||
|
taskRepo := models.GitRepo{
|
||
|
Name: repo,
|
||
|
}
|
||
|
s.app.Db.Debug().
|
||
|
Where(&taskRepo).
|
||
|
FirstOrCreate(&taskRepo)
|
||
|
|
||
|
altRepo := models.ALTRepo{
|
||
|
Name: "Sisyphus",
|
||
|
}
|
||
|
s.app.Db.
|
||
|
Where(&altRepo).
|
||
|
FirstOrCreate(&altRepo)
|
||
|
|
||
|
task := models.Task{
|
||
|
RepoID: taskRepo.ID,
|
||
|
ALTRepo: altRepo,
|
||
|
Type: models.TypeUpsert,
|
||
|
}
|
||
|
|
||
|
result := s.app.Db.Create(&task)
|
||
|
|
||
|
return &task, result.Error
|
||
|
}
|