@ -2,12 +2,10 @@ package database
import (
import (
"database/sql"
"database/sql"
"fmt"
"log"
"log"
"AUDIAG/rtcusertr/domain"
"gitlab.dedyn.io/ AUDIAG/rtcusertr/domain"
//"domain.go"
_ "github.com/go-sql-driver/mysql"
_ "github.com/go-sql-driver/mysql"
)
)
@ -17,27 +15,27 @@ var (
)
)
// Tool Funktionen
// Tool Funktionen
func CreateTool ( tool domain . Tools ) ( resTool domain . Tools , err error ) {
func CreateKnoten ( knoten domain . KnotenE ) ( resKnoten domain . KnotenE , err error ) {
conn , err := sql . Open ( dbType , dbConnection )
conn , err := sql . Open ( dbType , dbConnection )
if err != nil {
if err != nil {
log . Println ( "Error while connecting DB: " , err )
log . Println ( "Error while connecting DB: " , err )
}
}
log . Println ( "Verbindung hergestellt" )
log . Println ( "Verbindung hergestellt" )
log . Println ( "Name = " , tool . Name )
log . Println ( "Name = " , knoten . Fachbereich )
defer conn . Close ( )
defer conn . Close ( )
res , err := conn . Exec ( "INSERT INTO tools VALUES(?,?)" , tool . Id , tool . Name )
res , err := conn . Exec ( "INSERT INTO knoten VALUES(?,?,?,?)" , knoten . Id , knoten . Fachbereich , knoten . Anzahl , knoten . Tag )
if err != nil {
if err != nil {
log . Println ( "Error while executing insert statement" , err )
log . Println ( "Error while executing insert statement" , err )
}
}
lastId , err := res . LastInsertId ( )
lastId , err := res . LastInsertId ( )
tool . Id = uint ( lastId )
knoten . Id = uint ( lastId )
resTool = tool
resKnoten = knoten
return resTool , err
return resKnoten , err
}
}
func DeleteTool ( tool Id uint ) ( result , err error ) {
func DeleteKnoten ( knoten Id uint ) ( result , err error ) {
conn , err := sql . Open ( dbType , dbConnection )
conn , err := sql . Open ( dbType , dbConnection )
if err != nil {
if err != nil {
log . Println ( "Error while connecting DB: " , err )
log . Println ( "Error while connecting DB: " , err )
@ -45,14 +43,14 @@ func DeleteTool(toolId uint) (result, err error) {
log . Println ( "DB Verbindung hergestellt" )
log . Println ( "DB Verbindung hergestellt" )
defer conn . Close ( )
defer conn . Close ( )
_ , err = conn . Exec ( "DELETE FROM tools WHERE id = ?" , tool Id )
_ , err = conn . Exec ( "DELETE FROM knoten WHERE id = ?" , knoten Id )
if err != nil {
if err != nil {
log . Fatal ( "Error while executing DELETE statement" , err )
log . Fatal ( "Error while executing DELETE statement" , err )
}
}
return result , err
return result , err
}
}
func ShowTool ( ) ( tools Array [ ] domain . Tools , err error ) {
func ShowKnoten ( ) ( knoten Array [ ] domain . KnotenE , err error ) {
conn , err := sql . Open ( dbType , dbConnection )
conn , err := sql . Open ( dbType , dbConnection )
if err != nil {
if err != nil {
log . Println ( "Error while connecting DB: " , err )
log . Println ( "Error while connecting DB: " , err )
@ -60,23 +58,23 @@ func ShowTool() (toolsArray []domain.Tools, err error) {
log . Println ( "DB Verbindung hergestellt" )
log . Println ( "DB Verbindung hergestellt" )
defer conn . Close ( )
defer conn . Close ( )
results , err := conn . Query ( "SELECT * FROM tools " )
results , err := conn . Query ( "SELECT * FROM knoten " )
if err != nil {
if err != nil {
log . Fatal ( "Error while executing SELECt statement" , err )
log . Fatal ( "Error while executing SELECt statement" , err )
}
}
var tool domain . Tools
var knoten domain . KnotenE
for results . Next ( ) {
for results . Next ( ) {
err = results . Scan ( & tool . Id , & tool . Name )
err = results . Scan ( & knoten . Id , & knoten . Fachbereich , & knoten . Anzahl , & knoten . Tag )
if err != nil {
if err != nil {
log . Fatal ( "Error: " , err )
log . Fatal ( "Error: " , err )
}
}
tools Array = append ( toolsArray , tool )
knoten Array = append ( knotenArray , knoten )
}
}
return tools Array, err
return knoten Array, err
}
}
func GetTool ( id uint ) ( tool domain . Tools , err error ) {
func GetKnoten ( id uint ) ( knoten domain . KnotenE , err error ) {
conn , err := sql . Open ( dbType , dbConnection )
conn , err := sql . Open ( dbType , dbConnection )
if err != nil {
if err != nil {
log . Println ( "Error while connecting DB: " , err )
log . Println ( "Error while connecting DB: " , err )
@ -84,345 +82,35 @@ func GetTool(id uint) (tool domain.Tools, err error) {
log . Println ( "DB Verbindung hergestellt" )
log . Println ( "DB Verbindung hergestellt" )
defer conn . Close ( )
defer conn . Close ( )
results , err := conn . Query ( "SELECT * FROM tools WHERE id=?" , id )
results , err := conn . Query ( "SELECT * FROM knoten WHERE id=?" , id )
if err != nil {
if err != nil {
log . Fatal ( "Error while executing SELECt statement" , err )
log . Fatal ( "Error while executing SELECt statement" , err )
}
}
for results . Next ( ) {
for results . Next ( ) {
err = results . Scan ( & tool . Id , & tool . Name )
err = results . Scan ( & knoten . Id , & knoten . Fachbereich , & knoten . Anzahl , & knoten . Tag )
if err != nil {
if err != nil {
log . Fatal ( "Error: " , err )
log . Fatal ( "Error: " , err )
}
}
}
}
return tool , err
return knoten , err
}
}
func UpdateTool ( tool domain . Tools ) ( resTool domain . Tools , err error ) {
func UpdateKnoten ( knoten domain . KnotenE ) ( resKnoten domain . KnotenE , err error ) {
conn , err := sql . Open ( dbType , dbConnection )
conn , err := sql . Open ( dbType , dbConnection )
if err != nil {
if err != nil {
log . Println ( "Error while connecting DB: " , err )
log . Println ( "Error while connecting DB: " , err )
}
}
log . Println ( "Verbindung hergestellt" )
log . Println ( "Verbindung hergestellt" )
log . Println ( "Name = " , tool . Name )
log . Println ( "Name = " , knoten . Fachbereich )
defer conn . Close ( )
defer conn . Close ( )
_ , err = conn . Exec ( "UPDATE tools SET name=? WHERE id=?" , tool . Name , tool . Id )
_ , err = conn . Exec ( "UPDATE knoten SET fachbereich=?, anzahl=?, tag=? WHERE id=?" , knoten . Fachbereich , knoten . Anzahl , knoten . Tag , knoten . Id )
if err != nil {
if err != nil {
log . Println ( "Error while executing insert statement" , err )
log . Println ( "Error while executing insert statement" , err )
}
}
resTool = tool
resKnoten = knoten
return resTool , err
return resKnoten , err
}
// ZTyp Funktionen
func CreateZTyp ( ztyp domain . ZTyp ) ( resZTyp domain . ZTyp , err error ) {
conn , err := sql . Open ( dbType , dbConnection )
if err != nil {
log . Println ( "Error while connecting DB: " , err )
}
log . Println ( "Verbindung hergestellt" )
log . Println ( "Name = " , ztyp . Name )
defer conn . Close ( )
res , err := conn . Exec ( "INSERT INTO ztyp VALUES(?,?,?)" , ztyp . Id , ztyp . Name , ztyp . Laufzeit )
if err != nil {
log . Println ( "Error while executing insert statement" , err )
}
lastId , err := res . LastInsertId ( )
ztyp . Id = uint ( lastId )
resZTyp = ztyp
return resZTyp , err
}
func DeleteZTyp ( ztypId uint ) ( result , err error ) {
conn , err := sql . Open ( dbType , dbConnection )
if err != nil {
log . Println ( "Error while connecting DB: " , err )
}
log . Println ( "DB Verbindung hergestellt" )
defer conn . Close ( )
_ , err = conn . Exec ( "DELETE FROM ztyp WHERE id = ?" , ztypId )
if err != nil {
log . Fatal ( "Error while executing DELETE statement" , err )
}
return result , err
}
func ShowZTyp ( ) ( ztypArray [ ] domain . ZTyp , err error ) {
conn , err := sql . Open ( dbType , dbConnection )
if err != nil {
log . Println ( "Error while connecting DB: " , err )
}
log . Println ( "DB Verbindung hergestellt" )
defer conn . Close ( )
results , err := conn . Query ( "SELECT * FROM ztyp" )
if err != nil {
log . Fatal ( "Error while executing SELECt statement" , err )
}
var ztyp domain . ZTyp
for results . Next ( ) {
err = results . Scan ( & ztyp . Id , & ztyp . Name , & ztyp . Laufzeit )
if err != nil {
log . Fatal ( "Error: " , err )
}
ztypArray = append ( ztypArray , ztyp )
}
return ztypArray , err
}
func GetZTyp ( id uint ) ( ztyp domain . ZTyp , err error ) {
conn , err := sql . Open ( dbType , dbConnection )
if err != nil {
log . Println ( "Error while connecting DB: " , err )
}
log . Println ( "DB Verbindung hergestellt" )
defer conn . Close ( )
results , err := conn . Query ( "SELECT * FROM ztyp WHERE id=?" , id )
if err != nil {
log . Fatal ( "Error while executing SELECt statement" , err )
}
defer results . Close ( )
for results . Next ( ) {
err = results . Scan ( & ztyp . Id , & ztyp . Name , & ztyp . Laufzeit )
if err != nil {
if err == sql . ErrNoRows {
log . Println ( "No result found with this ID " , err )
return ztyp , fmt . Errorf ( "GetZTyp %d: no such ID" , id )
}
log . Fatal ( "Error: " , err )
}
}
err = results . Err ( )
return ztyp , err
}
func UpdateZTyp ( ztyp domain . ZTyp ) ( resZTyp domain . ZTyp , err error ) {
conn , err := sql . Open ( dbType , dbConnection )
if err != nil {
log . Println ( "Error while connecting DB: " , err )
}
log . Println ( "Verbindung hergestellt" )
log . Println ( "Name = " , ztyp . Name )
defer conn . Close ( )
_ , err = conn . Exec ( "UPDATE ztyp SET name=?, laufzeit=? WHERE id=?" , ztyp . Name , ztyp . Laufzeit , ztyp . Id )
if err != nil {
log . Println ( "Error while executing insert statement" , err )
}
resZTyp = ztyp
return resZTyp , err
}
// Ablageort Funktionen
func CreateAblOrt ( ablort domain . AblageOrt ) ( resAblOrt domain . AblageOrt , err error ) {
conn , err := sql . Open ( dbType , dbConnection )
if err != nil {
log . Println ( "Error while connecting DB: " , err )
}
log . Println ( "Verbindung hergestellt" )
log . Println ( "Name = " , ablort . Name )
defer conn . Close ( )
res , err := conn . Exec ( "INSERT INTO ablageort VALUES(?,?,?,?)" , ablort . Id , ablort . Name , ablort . Url , ablort . Pfad )
if err != nil {
log . Println ( "Error while executing insert statement" , err )
}
lastId , err := res . LastInsertId ( )
ablort . Id = uint ( lastId )
resAblOrt = ablort
return resAblOrt , err
}
func DeleteAblOrt ( ablortId uint ) ( result , err error ) {
conn , err := sql . Open ( dbType , dbConnection )
if err != nil {
log . Println ( "Error while connecting DB: " , err )
}
log . Println ( "DB Verbindung hergestellt" )
defer conn . Close ( )
_ , err = conn . Exec ( "DELETE FROM ablageort WHERE id = ?" , ablortId )
if err != nil {
log . Fatal ( "Error while executing DELETE statement" , err )
}
return result , err
}
func ShowAblOrt ( ) ( ablortArray [ ] domain . AblageOrt , err error ) {
conn , err := sql . Open ( dbType , dbConnection )
if err != nil {
log . Println ( "Error while connecting DB: " , err )
}
log . Println ( "DB Verbindung hergestellt" )
defer conn . Close ( )
results , err := conn . Query ( "SELECT * FROM ablageort" )
if err != nil {
log . Fatal ( "Error while executing SELECt statement" , err )
}
var ablort domain . AblageOrt
for results . Next ( ) {
err = results . Scan ( & ablort . Id , & ablort . Name , & ablort . Url , & ablort . Pfad )
if err != nil {
log . Fatal ( "Error: " , err )
}
ablortArray = append ( ablortArray , ablort )
}
return ablortArray , err
}
func GetAblOrt ( id uint ) ( ablort domain . AblageOrt , err error ) {
conn , err := sql . Open ( dbType , dbConnection )
if err != nil {
log . Println ( "Error while connecting DB: " , err )
}
log . Println ( "DB Verbindung hergestellt" )
defer conn . Close ( )
results , err := conn . Query ( "SELECT * FROM ablageort WHERE id=?" , id )
if err != nil {
log . Fatal ( "Error while executing SELECt statement" , err )
}
for results . Next ( ) {
err = results . Scan ( & ablort . Id , & ablort . Name , & ablort . Url , & ablort . Pfad )
if err != nil {
log . Fatal ( "Error: " , err )
}
}
return ablort , err
}
func UpdateAblOrt ( ablort domain . AblageOrt ) ( resAblOrt domain . AblageOrt , err error ) {
conn , err := sql . Open ( dbType , dbConnection )
if err != nil {
log . Println ( "Error while connecting DB: " , err )
}
log . Println ( "Verbindung hergestellt" )
log . Println ( "Name = " , ablort . Name )
defer conn . Close ( )
_ , err = conn . Exec ( "UPDATE ablageort SET name=?, url=?, pfad=? WHERE id=?" , ablort . Name , ablort . Url , ablort . Pfad , ablort . Id )
if err != nil {
log . Println ( "Error while executing insert statement" , err )
}
resAblOrt = ablort
return resAblOrt , err
}
// Zertifikat Funktionen
func CreateZert ( zert domain . Zertifikat ) ( resZert domain . Zertifikat , err error ) {
conn , err := sql . Open ( dbType , dbConnection )
if err != nil {
log . Println ( "Error while connecting DB: " , err )
}
log . Println ( "Verbindung hergestellt" )
log . Println ( "Name = " , zert . Name )
log . Println ( "Erstellungsdatum = " , zert . ErstellDat )
log . Println ( "Typ = " , zert . Typ )
defer conn . Close ( )
res , err := conn . Exec ( "INSERT INTO zertifikat VALUES(?,?,?,?,?,?,?,?,?)" , zert . Id , zert . Name , zert . Typ , zert . ErstellDat , zert . GueltigBis , zert . AblageOrt , zert . ErstelltMit , zert . Email , zert . Bemerkung )
if err != nil {
log . Println ( "Error while executing insert statement" , err )
}
lastId , err := res . LastInsertId ( )
zert . Id = uint64 ( lastId )
resZert = zert
return resZert , err
}
func DeleteZert ( zertId uint64 ) ( result , err error ) {
conn , err := sql . Open ( dbType , dbConnection )
if err != nil {
log . Println ( "Error while connecting DB: " , err )
}
log . Println ( "DB Verbindung hergestellt" )
defer conn . Close ( )
_ , err = conn . Exec ( "DELETE FROM zertifikat WHERE id = ?" , zertId )
if err != nil {
log . Fatal ( "Error while executing DELETE statement" , err )
}
return result , err
}
func ShowZert ( ) ( zertArray [ ] domain . Zertifikat , err error ) {
conn , err := sql . Open ( dbType , dbConnection )
if err != nil {
log . Println ( "Error while connecting DB: " , err )
}
log . Println ( "DB Verbindung hergestellt" )
defer conn . Close ( )
results , err := conn . Query ( "SELECT * FROM zertifikat" )
if err != nil {
log . Fatal ( "Error while executing SELECt statement" , err )
}
var zert domain . Zertifikat
for results . Next ( ) {
err = results . Scan ( & zert . Id , & zert . Name , & zert . Typ , & zert . ErstellDat , & zert . GueltigBis , & zert . AblageOrt , & zert . ErstelltMit , & zert . Email , & zert . Bemerkung )
if err != nil {
log . Fatal ( "Error: " , err )
}
zertArray = append ( zertArray , zert )
}
return zertArray , err
}
func GetZert ( id uint64 ) ( zert domain . Zertifikat , err error ) {
conn , err := sql . Open ( dbType , dbConnection )
if err != nil {
log . Println ( "Error while connecting DB: " , err )
}
log . Println ( "DB Verbindung hergestellt" )
defer conn . Close ( )
results , err := conn . Query ( "SELECT * FROM zertifikat WHERE id=?" , id )
if err != nil {
log . Fatal ( "Error while executing SELECt statement" , err )
}
for results . Next ( ) {
err = results . Scan ( & zert . Id , & zert . Name , & zert . Typ , & zert . ErstellDat , & zert . GueltigBis , & zert . AblageOrt , & zert . ErstelltMit , & zert . Email , & zert . Bemerkung )
if err != nil {
log . Fatal ( "Error: " , err )
}
}
return zert , err
}
func UpdateZert ( zert domain . Zertifikat ) ( resZert domain . Zertifikat , err error ) {
conn , err := sql . Open ( dbType , dbConnection )
if err != nil {
log . Println ( "Error while connecting DB: " , err )
}
log . Println ( "Verbindung hergestellt" )
log . Println ( "Name = " , zert . Name )
defer conn . Close ( )
_ , err = conn . Exec ( "UPDATE zertifikat SET name=?, typ=?, erstellungsdatum=?, gueltigbis=?, ablageort=?, erstelltmit=?, email=?, bemerkung=? WHERE id=?" , zert . Name , zert . Typ , zert . ErstellDat , zert . GueltigBis , zert . AblageOrt , zert . ErstelltMit , zert . Email , zert . Bemerkung , zert . Id )
if err != nil {
log . Println ( "Error while executing insert statement" , err )
}
resZert = zert
return resZert , err
}
}