Moved groups to use uint IDs, fixed bug where string IDs were not getting converted to uints.
This commit is contained in:
parent
3ac4f3e79c
commit
c1d265f1bf
10 changed files with 27 additions and 41 deletions
1
.vscode/launch.json
vendored
1
.vscode/launch.json
vendored
|
@ -8,6 +8,7 @@
|
|||
"name": "Launch API Server",
|
||||
"type": "go",
|
||||
"request": "launch",
|
||||
"host": "0.0.0.0",
|
||||
"mode": "debug",
|
||||
"program": "${workspaceFolder}/src/gin-cpularp.go",
|
||||
"cwd": "${workspaceFolder}/src"
|
||||
|
|
|
@ -123,7 +123,7 @@ func objectIDStringsToInts(context *gin.Context, objectIDs []string) *[]uint {
|
|||
var objectIDInts []uint
|
||||
for _, objectID := range objectIDs {
|
||||
objectIDInt, err := strconv.Atoi(objectID)
|
||||
if err != nil {
|
||||
if err == nil {
|
||||
objectIDInts = append(objectIDInts, uint(objectIDInt))
|
||||
} else {
|
||||
context.AbortWithStatus(http.StatusBadRequest)
|
||||
|
@ -363,8 +363,9 @@ func GetObjects(context *gin.Context) {
|
|||
"persons": person.Get(GlobalDatabase, objectIDs),
|
||||
})
|
||||
case "groups":
|
||||
objectIDInts := objectIDStringsToInts(context, objectIDs)
|
||||
context.JSON(http.StatusOK, gin.H{
|
||||
"groups": group.Get(GlobalDatabase, objectIDs),
|
||||
"groups": group.Get(GlobalDatabase, *objectIDInts),
|
||||
})
|
||||
case "characters":
|
||||
context.JSON(http.StatusOK, gin.H{
|
||||
|
@ -495,8 +496,9 @@ func DeleteObject(context *gin.Context) {
|
|||
//
|
||||
case "person":
|
||||
//
|
||||
case "group":
|
||||
// result = group.Create(GlobalDatabase, context)
|
||||
case "groups":
|
||||
log.Println(*uintObjectIDs, objectIDs)
|
||||
result = group.Delete(GlobalDatabase, *uintObjectIDs)
|
||||
case "character":
|
||||
//
|
||||
case "role":
|
||||
|
|
|
@ -70,7 +70,7 @@ func (customization Customization) Delete(db *gorm.DB) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
func Create(db *gorm.DB, name string, functions []uint, flavorText string, rulesDescription string, physrepRequesrements string, itemTags []string, visibility []string) error {
|
||||
func Create(db *gorm.DB, name string, functions []uint, flavorText string, rulesDescription string, physrepRequesrements string, itemTags []string, visibility []uint) error {
|
||||
return Customization{
|
||||
Name: name,
|
||||
Functions: *function.Get(db, functions),
|
||||
|
@ -101,7 +101,7 @@ func GetAll(db *gorm.DB) *[]Customization {
|
|||
return Get(db, outputCustomizationNames)
|
||||
}
|
||||
|
||||
func Update(db *gorm.DB, name string, functions []uint, flavorText string, rulesDescription string, physrepRequesrements string, itemTags []string, visibility []string) error {
|
||||
func Update(db *gorm.DB, name string, functions []uint, flavorText string, rulesDescription string, physrepRequesrements string, itemTags []string, visibility []uint) error {
|
||||
return Customization{
|
||||
Name: name,
|
||||
Functions: *function.Get(db, functions),
|
||||
|
|
|
@ -40,23 +40,6 @@ func (function *Function) getAssociations(db *gorm.DB) {
|
|||
}
|
||||
|
||||
func (params *functionParams) validate(context *gin.Context) error {
|
||||
// Id, idOk := context.GetQuery("id")
|
||||
// if !idOk {
|
||||
// return errors.New("ID was not included in the request.")
|
||||
// }
|
||||
// Tags, tagsOK := context.GetQueryArray("tags")
|
||||
// Requirements, requirementsOK := context.GetQueryArray("requirements")
|
||||
// if idOk && tagsOK && requirementsOK {
|
||||
// params.Id = Id
|
||||
// if len(Tags) > 0 {
|
||||
// params.Tags = Tags
|
||||
// }
|
||||
// if len(Requirements) > 0 {
|
||||
// params.Requirements = Requirements
|
||||
// }
|
||||
// } else {
|
||||
// return errors.New("One or more parameters not included in request")
|
||||
// }
|
||||
body, err := io.ReadAll(context.Request.Body)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
|
|
|
@ -26,7 +26,7 @@ type groupParams struct {
|
|||
func (params *groupParams) validate(context *gin.Context) error {
|
||||
ID, IDOk := context.GetQuery("id")
|
||||
if !IDOk {
|
||||
return errors.New("ID was not included in the request.")
|
||||
return errors.New("ID was not included in the request")
|
||||
}
|
||||
body, err := io.ReadAll(context.Request.Body)
|
||||
if err != nil {
|
||||
|
@ -34,14 +34,14 @@ func (params *groupParams) validate(context *gin.Context) error {
|
|||
return err
|
||||
}
|
||||
var name groupParams
|
||||
err = json.Unmarshal(body, &name)
|
||||
_ = json.Unmarshal(body, &name)
|
||||
params.ID = ID
|
||||
params.Name = name.Name
|
||||
return nil
|
||||
}
|
||||
|
||||
func (group *Group) Get(db *gorm.DB, inputGroup string) {
|
||||
db.Model(&Group{}).Where("name = ?", inputGroup).Take(&group)
|
||||
func (group *Group) Get(db *gorm.DB, inputGroup uint) {
|
||||
db.Model(&Group{}).Where("ID = ?", inputGroup).Take(&group)
|
||||
}
|
||||
|
||||
func (group Group) update(db *gorm.DB) error {
|
||||
|
@ -87,7 +87,7 @@ func Create(db *gorm.DB, context *gin.Context) error {
|
|||
}.Create(db)
|
||||
}
|
||||
|
||||
func Get(db *gorm.DB, inputGroups []string) *[]Group {
|
||||
func Get(db *gorm.DB, inputGroups []uint) *[]Group {
|
||||
var outputGroups []Group
|
||||
for _, inputGroup := range inputGroups {
|
||||
var outputGroup Group
|
||||
|
@ -99,12 +99,12 @@ func Get(db *gorm.DB, inputGroups []string) *[]Group {
|
|||
|
||||
func GetAll(db *gorm.DB) *[]Group {
|
||||
var outputGroups []Group
|
||||
var outputGroupNames []string
|
||||
result := db.Model(&Group{}).Select("name").Find(&outputGroupNames)
|
||||
var outputGroupIDs []uint
|
||||
result := db.Model(&Group{}).Select("id").Find(&outputGroupIDs)
|
||||
if result.Error != nil {
|
||||
log.Println(result.Error)
|
||||
}
|
||||
outputGroups = *Get(db, outputGroupNames)
|
||||
outputGroups = *Get(db, outputGroupIDs)
|
||||
return &outputGroups
|
||||
}
|
||||
|
||||
|
@ -124,7 +124,7 @@ func Update(db *gorm.DB, context *gin.Context) error {
|
|||
}.update(db)
|
||||
}
|
||||
|
||||
func Delete(db *gorm.DB, inputGroups []string) error {
|
||||
func Delete(db *gorm.DB, inputGroups []uint) error {
|
||||
groups := Get(db, inputGroups)
|
||||
for _, group := range *groups {
|
||||
err := group.delete(db)
|
||||
|
|
|
@ -73,7 +73,7 @@ func (item Item) Delete(db *gorm.DB) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
func Create(db *gorm.DB, name string, functions []uint, flavorText string, rulesDescription string, physrepRequirements string, tags []string, customizations []string, visibility []string) error {
|
||||
func Create(db *gorm.DB, name string, functions []uint, flavorText string, rulesDescription string, physrepRequirements string, tags []string, customizations []string, visibility []uint) error {
|
||||
return Item{
|
||||
Name: name,
|
||||
Functions: *function.Get(db, functions),
|
||||
|
@ -105,7 +105,7 @@ func GetAll(db *gorm.DB) *[]Item {
|
|||
return Get(db, outputItemNames)
|
||||
}
|
||||
|
||||
func Update(db *gorm.DB, name string, functions []uint, flavorText string, rulesDescription string, physrepRequirements string, tags []string, customizations []string, visibility []string) error {
|
||||
func Update(db *gorm.DB, name string, functions []uint, flavorText string, rulesDescription string, physrepRequirements string, tags []string, customizations []string, visibility []uint) error {
|
||||
return Item{
|
||||
Name: name,
|
||||
Functions: *function.Get(db, functions),
|
||||
|
|
|
@ -49,7 +49,7 @@ func (person Person) Delete(db *gorm.DB) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
func Create(db *gorm.DB, name string, groups []string) error {
|
||||
func Create(db *gorm.DB, name string, groups []uint) error {
|
||||
return Person{
|
||||
Name: name,
|
||||
Groups: *group.Get(db, groups),
|
||||
|
@ -75,7 +75,7 @@ func GetAll(db *gorm.DB) *[]Person {
|
|||
return Get(db, outputPersonNames)
|
||||
}
|
||||
|
||||
func Update(db *gorm.DB, name string, groups []string) error {
|
||||
func Update(db *gorm.DB, name string, groups []uint) error {
|
||||
return Person{
|
||||
Name: name,
|
||||
Groups: *group.Get(db, groups),
|
||||
|
|
|
@ -51,7 +51,7 @@ func (role Role) Delete(db *gorm.DB) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
func Create(db *gorm.DB, name string, tiers []uint, visibility []string) error {
|
||||
func Create(db *gorm.DB, name string, tiers []uint, visibility []uint) error {
|
||||
return Role{
|
||||
Name: name,
|
||||
Tiers: *tier.Get(db, tiers),
|
||||
|
@ -78,7 +78,7 @@ func GetAll(db *gorm.DB) *[]Role {
|
|||
return Get(db, outputRoleNames)
|
||||
}
|
||||
|
||||
func Update(db *gorm.DB, name string, tiers []uint, visibility []string) error {
|
||||
func Update(db *gorm.DB, name string, tiers []uint, visibility []uint) error {
|
||||
return Role{
|
||||
Name: name,
|
||||
Tiers: *tier.Get(db, tiers),
|
||||
|
|
|
@ -73,7 +73,7 @@ func (schematic Schematic) Delete(db *gorm.DB) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
func Create(db *gorm.DB, material []uint, tools []uint, requirements []uint, timeUnits int64, result uint, visibility []string) error {
|
||||
func Create(db *gorm.DB, material []uint, tools []uint, requirements []uint, timeUnits int64, result uint, visibility []uint) error {
|
||||
return Schematic{
|
||||
Material: *inventoryslot.Get(db, material),
|
||||
Tools: *inventoryslot.Get(db, tools),
|
||||
|
@ -103,7 +103,7 @@ func GetAll(db *gorm.DB) *[]Schematic {
|
|||
return Get(db, outputSchematics)
|
||||
}
|
||||
|
||||
func Update(db *gorm.DB, material []uint, tools []uint, requirements []uint, timeUnits int64, result uint, visibility []string) error {
|
||||
func Update(db *gorm.DB, material []uint, tools []uint, requirements []uint, timeUnits int64, result uint, visibility []uint) error {
|
||||
return Schematic{
|
||||
Material: *inventoryslot.Get(db, material),
|
||||
Tools: *inventoryslot.Get(db, tools),
|
||||
|
|
|
@ -146,7 +146,7 @@ func Exists(db *gorm.DB, id string) bool {
|
|||
}
|
||||
|
||||
func Create(db *gorm.DB, id string, displayName string, username string, avatar string, avatarDecoration string, loginToken string, loggedIn bool) error {
|
||||
person.Create(db, displayName, []string{})
|
||||
person.Create(db, displayName, []uint{})
|
||||
newPerson := (*person.Get(db, []string{displayName}))[0]
|
||||
newUser := User{
|
||||
Id: id,
|
||||
|
|
Loading…
Reference in a new issue