initial commit
This commit is contained in:
32
app/nodes.go
Normal file
32
app/nodes.go
Normal file
@@ -0,0 +1,32 @@
|
||||
package app
|
||||
|
||||
import (
|
||||
"github.com/vinovest/sqlx"
|
||||
)
|
||||
|
||||
type NodeRepository struct {
|
||||
db *sqlx.DB
|
||||
}
|
||||
|
||||
func NewNodeRepository(db *sqlx.DB) *NodeRepository { return &NodeRepository{db} }
|
||||
|
||||
func (r *NodeRepository) All() ([]Node, error) {
|
||||
nodes := make([]Node, 0)
|
||||
sql := "SELECT * FROM nodes;"
|
||||
err := r.db.Select(&nodes, sql)
|
||||
return nodes, err
|
||||
}
|
||||
func (r *NodeRepository) Find(id int) (Node, error) {
|
||||
var node Node
|
||||
sql := "SELECT * FROM nodes WHERE id=?;"
|
||||
sql = r.db.Rebind(sql)
|
||||
err := r.db.Select(&node, sql, id)
|
||||
return node, err
|
||||
}
|
||||
func (r *NodeRepository) Create(token, url string) (Node, error) {
|
||||
sql := "INSERT INTO nodes (token, url) VALUES (?, ?) RETURNING *;"
|
||||
sql = r.db.Rebind(sql)
|
||||
var node Node
|
||||
err := r.db.Get(&node, sql, token, url)
|
||||
return node, err
|
||||
}
|
||||
Reference in New Issue
Block a user