Added JWT Auth

Wrote my own JWT auth middleware, since I could not get the go-chi middleware to accept a JWKS instead of a certificate.
This commit is contained in:
Annika Merris 2024-02-10 17:18:22 -05:00
parent ac18b94a86
commit b5ea01729b
12 changed files with 336 additions and 132 deletions

64
entities/PowerItem.go Normal file
View file

@ -0,0 +1,64 @@
package entities
import (
"forgejo.merr.is/annika/isl-api/sql/powerItem"
"github.com/jackc/pgtype"
)
type PowerItem struct {
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,
}
}