mirror of
https://github.com/zoriya/tide.git
synced 2026-06-07 04:15:46 +00:00
Create a basic addItem
This commit is contained in:
@@ -29,8 +29,15 @@ func NewAria2() (*Aria2, error) {
|
||||
return p, nil
|
||||
}
|
||||
|
||||
func (x *Aria2) AddItem(item string) {
|
||||
x.client.AddURI([]string{item}, nil)
|
||||
func (x *Aria2) AddItem(uri string) (*models.Item, error) {
|
||||
id, err := x.client.AddURI([]string{uri}, nil)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
item := new(models.Item)
|
||||
item.Id = id.GID
|
||||
// TODO: Download other datas
|
||||
return item, nil
|
||||
}
|
||||
|
||||
func (x *Aria2) List() []models.Item {
|
||||
|
||||
@@ -4,8 +4,12 @@ import (
|
||||
"database/sql"
|
||||
"fmt"
|
||||
"os"
|
||||
|
||||
"tide/api/models"
|
||||
|
||||
"github.com/golang-migrate/migrate/v4"
|
||||
"github.com/golang-migrate/migrate/v4/database/postgres"
|
||||
_ "github.com/golang-migrate/migrate/v4/source/file"
|
||||
_ "github.com/lib/pq"
|
||||
)
|
||||
|
||||
@@ -16,14 +20,14 @@ type Database struct {
|
||||
func NewDatabase() (*Database, error) {
|
||||
d := new(Database)
|
||||
con := fmt.Sprintf(
|
||||
"postgresql://%v:%v@%v:%v/%v",
|
||||
"postgresql://%v:%v@%v:%v/%v?sslmode=disable",
|
||||
os.Getenv("POSTGRES_USER"),
|
||||
os.Getenv("POSTGRES_PASSWORD"),
|
||||
os.Getenv("POSTGRES_SERVER"),
|
||||
os.Getenv("POSTGRES_PORT"),
|
||||
os.Getenv("POSTGRES_DB"),
|
||||
)
|
||||
db, err := sql.Open("posgres", con)
|
||||
db, err := sql.Open("postgres", con)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -31,8 +35,32 @@ func NewDatabase() (*Database, error) {
|
||||
return d, nil
|
||||
}
|
||||
|
||||
func (db *Database) Migrate() error {
|
||||
driver, err := postgres.WithInstance(db.Connection, &postgres.Config{})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
m, err := migrate.NewWithDatabaseInstance(
|
||||
"file:///app/migrations",
|
||||
"postgres",
|
||||
driver,
|
||||
)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
m.Up()
|
||||
return nil
|
||||
}
|
||||
|
||||
func (d *Database) AddItem(item *models.Item) (*models.Item, error) {
|
||||
_, err := d.Connection.Exec("INSERT INTO items (id) VALUES (?)", item.Id)
|
||||
_, err := d.Connection.Exec(
|
||||
"INSERT INTO items (id, name, path, size, files) VALUES (?, ?, ?, ?, ?)",
|
||||
item.Id,
|
||||
item.Name,
|
||||
item.Path,
|
||||
item.Size,
|
||||
item.Files,
|
||||
)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user