Extract GetUserID and ParseID to boilerplate.go in handlers package
This commit is contained in:
parent
255f812078
commit
b09e85b4cb
39
handlers/boilerplate.go
Normal file
39
handlers/boilerplate.go
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
package handlers
|
||||||
|
|
||||||
|
import (
|
||||||
|
"errors"
|
||||||
|
"fmt"
|
||||||
|
"strconv"
|
||||||
|
|
||||||
|
"github.com/gin-gonic/gin"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
ERROR_UTIL_USERIDER1 = errors.New("internal error 001: UserID not found")
|
||||||
|
ERROR_UTIL_USERIDER2 = errors.New("internal error 002: UserID conversion error")
|
||||||
|
)
|
||||||
|
|
||||||
|
func GetUserID(c *gin.Context) (uint, error) {
|
||||||
|
userIDAny, exists := c.Get("UserID")
|
||||||
|
if !exists {
|
||||||
|
return 0, ERROR_UTIL_USERIDER1
|
||||||
|
}
|
||||||
|
|
||||||
|
userID, ok := userIDAny.(uint)
|
||||||
|
if !ok {
|
||||||
|
return 0, ERROR_UTIL_USERIDER2
|
||||||
|
}
|
||||||
|
return userID, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
|
||||||
|
// Parses id as uint
|
||||||
|
func ParseID(c *gin.Context) (uint, error) {
|
||||||
|
idStr := c.Param("id")
|
||||||
|
idVal, err := strconv.ParseUint(idStr, 10, 32)
|
||||||
|
if err != nil {
|
||||||
|
return 0, fmt.Errorf("invalid request: %w", err)
|
||||||
|
}
|
||||||
|
return uint(idVal), nil
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user