added a CRUD handler für Ausrüstung
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
# API Examples
|
||||
## Create Ausruestung
|
||||
|
||||
POST /ausruestung
|
||||
|
||||
{
|
||||
"character_id": 1,
|
||||
"name": "Magic Sword",
|
||||
"anzahl": 1,
|
||||
"gewicht": 2.5,
|
||||
"wert": 150.0,
|
||||
"beinhaltet_in": null,
|
||||
"beschreibung": "A glowing sword imbued with magical energy.",
|
||||
"bonus": 5,
|
||||
"ist_magisch": true,
|
||||
"abw": 10,
|
||||
"ausgebrannt": false
|
||||
}
|
||||
|
||||
## Get All Ausruestung for a Character
|
||||
|
||||
GET /ausruestung/1 Response:
|
||||
[
|
||||
{
|
||||
"ausruestung_id": 1,
|
||||
"character_id": 1,
|
||||
"name": "Magic Sword",
|
||||
"anzahl": 1,
|
||||
"gewicht": 2.5,
|
||||
"wert": 150.0,
|
||||
"beinhaltet_in": null,
|
||||
"beschreibung": "A glowing sword imbued with magical energy.",
|
||||
"bonus": 5,
|
||||
"ist_magisch": true,
|
||||
"abw": 10,
|
||||
"ausgebrannt": false
|
||||
}
|
||||
]
|
||||
|
||||
## Update Ausruestung
|
||||
|
||||
PUT /ausruestung/1
|
||||
|
||||
{
|
||||
"anzahl": 2,
|
||||
"gewicht": 3.0
|
||||
}
|
||||
|
||||
## Delete Ausruestung
|
||||
|
||||
DELETE /ausruestung/1
|
||||
|
||||
## Summary
|
||||
|
||||
These endpoints provide complete CRUD functionality for managing Ausruestung items. They integrate with the database and offer flexibility to interact with equipment data.
|
||||
@@ -84,3 +84,69 @@ func CreateCharacter(c *gin.Context) {
|
||||
|
||||
c.JSON(http.StatusCreated, character)
|
||||
}
|
||||
|
||||
/*
|
||||
Endpoints for Managing Ausruestung
|
||||
1. Create Ausruestung
|
||||
|
||||
Allows users to add new equipment items for a specific character.
|
||||
*/
|
||||
|
||||
func CreateAusruestung(c *gin.Context) {
|
||||
var ausruestung Ausruestung
|
||||
if err := c.ShouldBindJSON(&ausruestung); err != nil {
|
||||
c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
|
||||
return
|
||||
}
|
||||
|
||||
if err := DB.Create(&ausruestung).Error; err != nil {
|
||||
c.JSON(http.StatusInternalServerError, gin.H{"error": "Failed to create Ausruestung"})
|
||||
return
|
||||
}
|
||||
|
||||
c.JSON(http.StatusCreated, ausruestung)
|
||||
}
|
||||
|
||||
func GetAusruestung(c *gin.Context) {
|
||||
characterID := c.Param("character_id")
|
||||
|
||||
var ausruestung []Ausruestung
|
||||
if err := DB.Where("character_id = ?", characterID).Find(&ausruestung).Error; err != nil {
|
||||
c.JSON(http.StatusInternalServerError, gin.H{"error": "Failed to retrieve Ausruestung"})
|
||||
return
|
||||
}
|
||||
|
||||
c.JSON(http.StatusOK, ausruestung)
|
||||
}
|
||||
|
||||
func UpdateAusruestung(c *gin.Context) {
|
||||
ausruestungID := c.Param("ausruestung_id")
|
||||
var ausruestung Ausruestung
|
||||
|
||||
if err := DB.First(&ausruestung, ausruestungID).Error; err != nil {
|
||||
c.JSON(http.StatusNotFound, gin.H{"error": "Ausruestung not found"})
|
||||
return
|
||||
}
|
||||
|
||||
if err := c.ShouldBindJSON(&ausruestung); err != nil {
|
||||
c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
|
||||
return
|
||||
}
|
||||
|
||||
if err := DB.Save(&ausruestung).Error; err != nil {
|
||||
c.JSON(http.StatusInternalServerError, gin.H{"error": "Failed to update Ausruestung"})
|
||||
return
|
||||
}
|
||||
|
||||
c.JSON(http.StatusOK, ausruestung)
|
||||
}
|
||||
|
||||
func DeleteAusruestung(c *gin.Context) {
|
||||
ausruestungID := c.Param("ausruestung_id")
|
||||
if err := DB.Delete(&Ausruestung{}, ausruestungID).Error; err != nil {
|
||||
c.JSON(http.StatusInternalServerError, gin.H{"error": "Failed to delete Ausruestung"})
|
||||
return
|
||||
}
|
||||
|
||||
c.JSON(http.StatusOK, gin.H{"message": "Ausruestung deleted successfully"})
|
||||
}
|
||||
|
||||
@@ -15,6 +15,10 @@ func main() {
|
||||
r.POST("/login", LoginUser)
|
||||
r.GET("/characters", GetCharacters)
|
||||
r.POST("/characters", CreateCharacter)
|
||||
r.POST("/ausruestung", CreateAusruestung)
|
||||
r.GET("/ausruestung/:character_id", GetAusruestung)
|
||||
r.PUT("/ausruestung/:ausruestung_id", UpdateAusruestung)
|
||||
r.DELETE("/ausruestung/:ausruestung_id", DeleteAusruestung)
|
||||
|
||||
r.Run(":8080") // Start server on port 8080
|
||||
}
|
||||
|
||||
@@ -37,6 +37,21 @@ type Eigenschaften struct {
|
||||
Zt int
|
||||
}
|
||||
|
||||
type Ausruestung struct {
|
||||
AusruestungID uint `gorm:"primaryKey"`
|
||||
CharacterID uint `gorm:"index"`
|
||||
Name string `json:"name"`
|
||||
Anzahl int `json:"anzahl"`
|
||||
Gewicht float64 `json:"gewicht"`
|
||||
Wert float64 `json:"wert"`
|
||||
BeinhaltetIn *string `json:"beinhaltet_in"`
|
||||
Beschreibung *string `json:"beschreibung"`
|
||||
Bonus *int `json:"bonus"`
|
||||
IstMagisch bool `json:"ist_magisch"`
|
||||
Abw *int `json:"abw"`
|
||||
Ausgebrannt bool `json:"ausgebrannt"`
|
||||
}
|
||||
|
||||
/*
|
||||
Define models for each table
|
||||
Add other models for Ausruestung, Fertigkeiten, etc., following the same pattern.
|
||||
|
||||
Reference in New Issue
Block a user