Georg Spar
3 years ago
7 changed files with 102 additions and 50 deletions
@ -1,48 +1,31 @@ |
|||||||
package domain |
package domain |
||||||
|
|
||||||
type Package struct { |
type Artikel struct { |
||||||
Id uint `json:"id"` |
Id uint64 `json:"id"` |
||||||
Name string `json:"name"` |
Bezeichnung string `json:"bezeichnung"` |
||||||
Amount int `json:"amount"` |
ArtNrExt string `json:"artNrExt"` |
||||||
Price float32 `json:"price"` |
|
||||||
IsActive bool `json:"isActive"` |
|
||||||
} |
} |
||||||
|
|
||||||
type Group struct { |
type Kunde struct { |
||||||
Id uint `json:"id"` |
Id uint `json:"id"` |
||||||
Name string `json:"name"` |
Name string `json:"name"` |
||||||
BookedPackage int `json:"bookedPackage"` |
KdNrExt int `json:"kdNrExt"` |
||||||
BillingAddress string `json:"billingAddress"` |
|
||||||
AuthToken string `json:"authToken"` |
|
||||||
IsActive bool `json:"isActive"` |
|
||||||
BillingUser int `json:"billingUser"` |
|
||||||
} |
|
||||||
|
|
||||||
type User struct { |
|
||||||
Id uint `json:"id"` |
|
||||||
Password string `json:"password"` |
|
||||||
IsAdmin bool `json:"isAdmin"` |
|
||||||
Username string `json:"username"` |
|
||||||
FullName string `json:"fullName"` |
|
||||||
Email string `json:"email"` |
|
||||||
GroupId int `json:"groupId"` |
|
||||||
IsActive bool `json:"isActive"` |
|
||||||
} |
} |
||||||
|
|
||||||
type Account struct { |
type Lieferant struct { |
||||||
Id uint `json:"id"` |
Id uint `json:"id"` |
||||||
GroupId int `json:"groupId"` |
Name string `json:"name"` |
||||||
Created string `json:"createDate"` |
LiefNr_ext uint `json:"liefNrExt"` |
||||||
IsActive bool `json:"isActive"` |
|
||||||
} |
} |
||||||
|
|
||||||
type Tunnel struct { |
type Seriennummer struct { |
||||||
Id uint64 `json:"id"` |
Id uint64 `json:"id"` |
||||||
Name string `json:"name"` |
ArtId uint64 `json:"artId"` |
||||||
Port int `json:"port"` |
KdId uint `json:"port"` |
||||||
IsActive bool `json:"isActive"` |
LiefId uint `json:"liefId"` |
||||||
Created string `json:"created"` |
SerienNr string `json:"serienNr"` |
||||||
RoutedName string `json:"routedName"` |
EkDat string `json:"ekDat"` |
||||||
RoutedPort int `json:"routedPort"` |
VkDat string `json:"vkDat"` |
||||||
AccountId uint `json:"accountId"` |
GarantieBis string `json:"garantieBis"` |
||||||
|
Bemerkung string `json:"bemerkung"` |
||||||
} |
} |
||||||
|
@ -1,3 +1,14 @@ |
|||||||
module senuma |
module senuma.go |
||||||
|
|
||||||
go 1.16 |
go 1.16 |
||||||
|
|
||||||
|
require github.com/gorilla/mux v1.8.0 |
||||||
|
|
||||||
|
require ( |
||||||
|
spargcom/senuma/database v0.0.0-00010101000000-000000000000 |
||||||
|
spargcom/senuma/domain v0.0.0-00010101000000-000000000000 |
||||||
|
) |
||||||
|
|
||||||
|
replace spargcom/senuma/domain => ./domain |
||||||
|
|
||||||
|
replace spargcom/senuma/database => ./database |
||||||
|
@ -0,0 +1,4 @@ |
|||||||
|
github.com/go-sql-driver/mysql v1.6.0 h1:BCTh4TKNUYmOmMUcQ3IipzF5prigylS7XXjEkfCHuOE= |
||||||
|
github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= |
||||||
|
github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI= |
||||||
|
github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= |
Binary file not shown.
@ -0,0 +1,55 @@ |
|||||||
|
package main |
||||||
|
|
||||||
|
import ( |
||||||
|
"encoding/json" |
||||||
|
"fmt" |
||||||
|
"io/ioutil" |
||||||
|
"net/http" |
||||||
|
"spargcom/senuma/database" |
||||||
|
"spargcom/senuma/domain" |
||||||
|
|
||||||
|
"github.com/gorilla/mux" |
||||||
|
) |
||||||
|
|
||||||
|
func main() { |
||||||
|
r := mux.NewRouter() |
||||||
|
r.HandleFunc("/artikel", createArtikelHandler).Methods("POST") |
||||||
|
|
||||||
|
//r.HandleFunc("/groups", createGroupHandler).Methods("POST")
|
||||||
|
|
||||||
|
//r.HandleFunc("/users", createUserHandler).Methods("POST")
|
||||||
|
|
||||||
|
//r.HandleFunc("/accounts", createAccountHandler).Methods("POST")
|
||||||
|
|
||||||
|
//r.HandleFunc("/tunnels", createTunnelHandler).Methods("POST")
|
||||||
|
|
||||||
|
http.ListenAndServe(":8081", r) |
||||||
|
fmt.Println("running on localhost, Port 8081") |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
func createArtikelHandler(writer http.ResponseWriter, req *http.Request) { |
||||||
|
body, err := ioutil.ReadAll(req.Body) |
||||||
|
if err != nil { |
||||||
|
writer.WriteHeader(http.StatusBadRequest) |
||||||
|
} |
||||||
|
var art domain.Artikel |
||||||
|
json.Unmarshal(body, &art) |
||||||
|
fmt.Println("Bezeichnung = ", art.Bezeichnung) |
||||||
|
fmt.Println("externe Art-Nr = ", art.ArtNrExt) |
||||||
|
res, err := database.CreateArtikel(art) |
||||||
|
if err != nil { |
||||||
|
writer.WriteHeader(http.StatusInternalServerError) |
||||||
|
} |
||||||
|
|
||||||
|
b, err := json.Marshal(res) |
||||||
|
if err != nil { |
||||||
|
fmt.Println("Error: ", err) |
||||||
|
} |
||||||
|
|
||||||
|
location := fmt.Sprintf("%s/%d", req.URL.String(), res.Id) |
||||||
|
writer.Header().Set("Location:", location) |
||||||
|
writer.Header().Set("Content-Type", "application/json") |
||||||
|
writer.WriteHeader(http.StatusCreated) |
||||||
|
writer.Write(b) |
||||||
|
} |
Loading…
Reference in new issue