Files
tide/api/controllers/rest.go
T
2023-09-17 16:27:40 +02:00

30 lines
570 B
Go

package controllers
import (
models "tide/api/models"
services "tide/api/services"
)
type Controller struct {
Database *services.Database
Aria2 *services.Aria2
}
func NewController(db *services.Database, aria2 *services.Aria2) *Controller {
c := new(Controller)
c.Database = db
c.Aria2 = aria2
return c
}
func (c *Controller) NewItem(newItem models.NewItem) (*models.Item, error) {
item, err := c.Aria2.AddItem(newItem.Uri)
if err != nil {
return nil, err
}
if newItem.Path != nil {
item.Path = *newItem.Path
}
return c.Database.AddItem(item)
}