|
|
|
package database
|
|
|
|
|
|
|
|
import (
|
|
|
|
"database/sql"
|
|
|
|
"fmt"
|
|
|
|
"spargcom/senuma/domain"
|
|
|
|
|
|
|
|
_ "github.com/go-sql-driver/mysql"
|
|
|
|
)
|
|
|
|
|
|
|
|
var (
|
|
|
|
dbConnection = "gosenuma:hurtz@tcp(10.1.1.6:3300)/senuma"
|
|
|
|
dbType = "mysql"
|
|
|
|
)
|
|
|
|
|
|
|
|
func CreateArtikel(art domain.Artikel) (resArt domain.Artikel, err error) {
|
|
|
|
conn, err := sql.Open(dbType, dbConnection)
|
|
|
|
if err != nil {
|
|
|
|
fmt.Println("Error while connecting DB: ", err)
|
|
|
|
}
|
|
|
|
fmt.Println("Verbindung hergestellt")
|
|
|
|
fmt.Println("Bezeichnung = ", art.Bezeichnung)
|
|
|
|
defer conn.Close()
|
|
|
|
|
|
|
|
res, err := conn.Exec("INSERT INTO artikel VALUES(?,?,?)", art.Id, art.Bezeichnung, art.ArtNrExt)
|
|
|
|
if err != nil {
|
|
|
|
fmt.Println("Error while executing insert statement", err)
|
|
|
|
}
|
|
|
|
lastId, err := res.LastInsertId()
|
|
|
|
art.Id = uint64(lastId)
|
|
|
|
resArt = art
|
|
|
|
|
|
|
|
return resArt, err
|
|
|
|
}
|
|
|
|
|
|
|
|
/*func CreateUser(us domain.User) (resUs domain.User, err error) {
|
|
|
|
conn, err := sql.Open(dbType, dbConnection)
|
|
|
|
if err != nil {
|
|
|
|
fmt.Println("Error while connecting DB: ", err)
|
|
|
|
}
|
|
|
|
fmt.Println("Verbindung hergestellt")
|
|
|
|
defer conn.Close()
|
|
|
|
stmt, err := conn.Prepare("INSERT INTO `user` (`id`, `username`, `full_name`, `email`, `group_id`, `is_active`, `is_admin`, `password`) VALUES(?,?,?,?,?,?,?,?)")
|
|
|
|
res, err := stmt.Exec(us.Id, us.Username, us.FullName, us.Email, us.GroupId, us.IsActive, us.IsAdmin, us.Password)
|
|
|
|
if err != nil {
|
|
|
|
fmt.Println("Error while executing insert statement", err)
|
|
|
|
}
|
|
|
|
lastId, err := res.LastInsertId()
|
|
|
|
us.Id = uint(lastId)
|
|
|
|
resUs = us
|
|
|
|
|
|
|
|
return resUs, err
|
|
|
|
}
|
|
|
|
|
|
|
|
func CreateGroup(grp domain.Group) (resGrp domain.Group, err error) {
|
|
|
|
conn, err := sql.Open(dbType, dbConnection)
|
|
|
|
if err != nil {
|
|
|
|
fmt.Println("Error while connecting DB: ", err)
|
|
|
|
}
|
|
|
|
fmt.Println("Verbindung hergestellt")
|
|
|
|
defer conn.Close()
|
|
|
|
stmt, err := conn.Prepare("INSERT INTO `group` (`id`, `name`, `booked_package`, `billing_address`, `auth_token`, `is_active`, `billing_user`) VALUES(?,?,?,?,?,?,?)")
|
|
|
|
res, err := stmt.Exec(grp.Id, grp.Name, grp.BookedPackage, grp.BillingAddress, grp.AuthToken, grp.IsActive, grp.BillingUser)
|
|
|
|
if err != nil {
|
|
|
|
fmt.Println("Error while executing insert statement", err)
|
|
|
|
}
|
|
|
|
lastId, err := res.LastInsertId()
|
|
|
|
grp.Id = uint(lastId)
|
|
|
|
resGrp = grp
|
|
|
|
|
|
|
|
return resGrp, err
|
|
|
|
}
|
|
|
|
|
|
|
|
func CreateAccount(us domain.User) (resAcc domain.Account, err error) {
|
|
|
|
|
|
|
|
var acc domain.Account
|
|
|
|
fmt.Println("User ID:", us.Id)
|
|
|
|
fmt.Println("Group ID:", us.GroupId)
|
|
|
|
conn, err := sql.Open(dbType, dbConnection)
|
|
|
|
if err != nil {
|
|
|
|
fmt.Println("Error while connecting DB: ", err)
|
|
|
|
}
|
|
|
|
fmt.Println("Verbindung hergestellt")
|
|
|
|
defer conn.Close()
|
|
|
|
stmt, err := conn.Prepare("INSERT INTO `account` (`id`, `group_id`, `created`, `is_active`) VALUES(?,?,?,?)")
|
|
|
|
|
|
|
|
res, err := stmt.Exec(acc.Id, us.GroupId, time.Now(), acc.IsActive)
|
|
|
|
if err != nil {
|
|
|
|
fmt.Println("Error while executing insert statement", err)
|
|
|
|
}
|
|
|
|
lastId, err := res.LastInsertId()
|
|
|
|
acc.Id = uint(lastId)
|
|
|
|
resAcc = acc
|
|
|
|
fmt.Println("Created")
|
|
|
|
return resAcc, err
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
func CreateTunnel(tun domain.Tunnel) (resTun domain.Tunnel, err error) {
|
|
|
|
fmt.Println("Adding tunnel to database...")
|
|
|
|
conn, err := sql.Open(dbType, dbConnection)
|
|
|
|
if err != nil {
|
|
|
|
fmt.Println("Error while connecting DB: ", err)
|
|
|
|
|
|
|
|
}
|
|
|
|
fmt.Println("Verbindung hergestellt")
|
|
|
|
defer conn.Close()
|
|
|
|
stmt, err := conn.Prepare("INSERT INTO `tunnels` (`id`, `name`, `port`, `is_active`, `created`, `routed_name`, `routed_port`, `account_id`) VALUES(?,?,?,?,?,?,?,?)")
|
|
|
|
|
|
|
|
res, err := stmt.Exec(tun.Id, tun.Name, tun.Port, tun.IsActive, time.Now(), tun.RoutedName, tun.RoutedPort, tun.AccountId)
|
|
|
|
if err != nil {
|
|
|
|
fmt.Println("Error while executing insert statement", err)
|
|
|
|
}
|
|
|
|
lastId, err := res.LastInsertId()
|
|
|
|
tun.Id = uint64(lastId)
|
|
|
|
resTun = tun
|
|
|
|
fmt.Println("Created")
|
|
|
|
return resTun, err
|
|
|
|
}*/
|