Added Functionality To PowerItem Endpoint

TODO: Change "addMultiple" to not require a map. That only exists so I could import easily from my old project.
This commit is contained in:
Annika Merris 2024-01-28 13:57:25 -05:00
parent d52d9968ba
commit 1420b14565
7 changed files with 373 additions and 95 deletions

View file

@ -1,19 +1,65 @@
package Types
import (
"github.com/gofrs/uuid"
uuid "github.com/jackc/pgtype/ext/gofrs-uuid"
"isl-api/sql/powerItem"
"github.com/jackc/pgtype"
)
type PowerItem struct {
ID uuid.UUID `json:"id"`
ItemType int32 `json:"itemType"`
IconUrl string `json:"iconUrl"`
ItemName string `json:"itemName"`
MinItemPower int32 `json:"minItemPower"`
MaxItemPower int32 `json:"maxItemPower"`
Rarity int32 `json:"rarity"`
Origin string `json:"origin"`
Tooltip string `json:"tooltip"`
IsEventItem bool `json:"isEventItem"`
ID pgtype.UUID `json:"id"`
ItemType int32 `json:"itemType"`
IconURL string `json:"iconURL"`
ItemName string `json:"itemName"`
MinItemPower int32 `json:"minItemPower"`
MaxItemPower int32 `json:"maxItemPower"`
Rarity int32 `json:"rarity"`
Origin string `json:"origin"`
Tooltip string `json:"tooltip"`
IsEventItem bool `json:"isEventItem"`
}
func FromGetAllItemsRow(sqlItem powerItem.GetAllItemsRow) PowerItem {
return PowerItem{
ID: sqlItem.ID,
ItemType: *sqlItem.Itemtype,
IconURL: *sqlItem.Iconurl,
ItemName: *sqlItem.Itemname,
MinItemPower: *sqlItem.Minitempower,
MaxItemPower: *sqlItem.Maxitempower,
Rarity: *sqlItem.Rarity,
Origin: *sqlItem.Origin,
Tooltip: *sqlItem.Tooltip,
IsEventItem: *sqlItem.Iseventitem,
}
}
func FromGetAllItemsByTypeRow(sqlItem powerItem.GetAllByTypeRow) PowerItem {
return PowerItem{
ID: sqlItem.ID,
ItemType: sqlItem.Itemtype,
IconURL: sqlItem.Iconurl,
ItemName: sqlItem.Itemname,
MinItemPower: sqlItem.Minitempower,
MaxItemPower: sqlItem.Maxitempower,
Rarity: sqlItem.Rarity,
Origin: sqlItem.Origin,
Tooltip: *sqlItem.Tooltip,
IsEventItem: *sqlItem.Iseventitem,
}
}
func FromAddNewItemWithIDParams(sqlItem powerItem.AddNewItemWithIDRow) PowerItem {
return PowerItem{
ID: sqlItem.ID,
ItemType: sqlItem.Itemtype,
IconURL: sqlItem.Iconurl,
ItemName: sqlItem.Itemname,
MinItemPower: sqlItem.Minitempower,
MaxItemPower: sqlItem.Maxitempower,
Rarity: sqlItem.Rarity,
Origin: sqlItem.Origin,
Tooltip: *sqlItem.Tooltip,
IsEventItem: *sqlItem.Iseventitem,
}
}