Setup postgresql

This commit is contained in:
2023-09-16 16:57:57 +02:00
parent 875ccd7336
commit aea27c6181
10 changed files with 148 additions and 5 deletions
+38
View File
@@ -0,0 +1,38 @@
package services
import (
"fmt"
"os"
models "tide/api/models"
"github.com/siku2/arigo"
)
type Service interface {
AddItem(item string)
List() []models.Item
}
type Aria2 struct {
client *arigo.Client
token string
}
func NewAria2() (*Aria2, error) {
p := new(Aria2)
p.token = os.Getenv("RPC_SECRET")
c, err := arigo.Dial(fmt.Sprintf("ws://%v/jsonrpc", os.Getenv("ARIA_URI")), p.token)
if err != nil {
return nil, err
}
p.client = &c
return p, nil
}
func (x *Aria2) AddItem(item string) {
x.client.AddURI([]string{item}, nil)
}
func (x *Aria2) List() []models.Item {
return make([]models.Item, 0)
}
+40
View File
@@ -0,0 +1,40 @@
package services
import (
"database/sql"
"fmt"
"os"
"tide/api/models"
_ "github.com/lib/pq"
)
type Database struct {
Connection *sql.DB
}
func NewDatabase() (*Database, error) {
d := new(Database)
con := fmt.Sprintf(
"postgresql://%v:%v@%v:%v/%v",
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)
if err != nil {
return nil, err
}
d.Connection = db
return d, nil
}
func (d *Database) AddItem(item *models.Item) (*models.Item, error) {
_, err := d.Connection.Exec("INSERT INTO items (id) VALUES (?)", item.Id)
if err != nil {
return nil, err
}
return item, nil
}