fix gopls lintings
This commit is contained in:
parent
a2e2ba39f9
commit
dd2412463b
7 changed files with 19 additions and 25 deletions
|
|
@ -47,6 +47,7 @@ func (a *API) Router() *chi.Mux {
|
||||||
|
|
||||||
r.Get("/", func(w http.ResponseWriter, r *http.Request) {
|
r.Get("/", func(w http.ResponseWriter, r *http.Request) {
|
||||||
w.Write([]byte("Hello Admin"))
|
w.Write([]byte("Hello Admin"))
|
||||||
|
log(r).Debug("admin access")
|
||||||
})
|
})
|
||||||
|
|
||||||
r.Mount("/accounts", a.Accounts.router())
|
r.Mount("/accounts", a.Accounts.router())
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ package authorize
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"net/http"
|
"net/http"
|
||||||
|
"slices"
|
||||||
|
|
||||||
"github.com/go-chi/render"
|
"github.com/go-chi/render"
|
||||||
|
|
||||||
|
|
@ -24,10 +25,5 @@ func RequiresRole(role string) func(next http.Handler) http.Handler {
|
||||||
}
|
}
|
||||||
|
|
||||||
func hasRole(role string, roles []string) bool {
|
func hasRole(role string, roles []string) bool {
|
||||||
for _, r := range roles {
|
return slices.Contains(roles, role)
|
||||||
if r == role {
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ type AppClaims struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
// ParseClaims parses JWT claims into AppClaims.
|
// ParseClaims parses JWT claims into AppClaims.
|
||||||
func (c *AppClaims) ParseClaims(claims map[string]interface{}) error {
|
func (c *AppClaims) ParseClaims(claims map[string]any) error {
|
||||||
id, ok := claims["id"]
|
id, ok := claims["id"]
|
||||||
if !ok {
|
if !ok {
|
||||||
return errors.New("could not parse claim id")
|
return errors.New("could not parse claim id")
|
||||||
|
|
@ -40,7 +40,7 @@ func (c *AppClaims) ParseClaims(claims map[string]interface{}) error {
|
||||||
|
|
||||||
var roles []string
|
var roles []string
|
||||||
if rl != nil {
|
if rl != nil {
|
||||||
for _, v := range rl.([]interface{}) {
|
for _, v := range rl.([]any) {
|
||||||
roles = append(roles, v.(string))
|
roles = append(roles, v.(string))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -57,7 +57,7 @@ type RefreshClaims struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
// ParseClaims parses the JWT claims into RefreshClaims.
|
// ParseClaims parses the JWT claims into RefreshClaims.
|
||||||
func (c *RefreshClaims) ParseClaims(claims map[string]interface{}) error {
|
func (c *RefreshClaims) ParseClaims(claims map[string]any) error {
|
||||||
token, ok := claims["token"]
|
token, ok := claims["token"]
|
||||||
if !ok {
|
if !ok {
|
||||||
return errors.New("could not parse claim token")
|
return errors.New("could not parse claim token")
|
||||||
|
|
|
||||||
|
|
@ -65,8 +65,8 @@ func (a *TokenAuth) CreateJWT(c AppClaims) (string, error) {
|
||||||
return tokenString, err
|
return tokenString, err
|
||||||
}
|
}
|
||||||
|
|
||||||
func ParseStructToMap(c interface{}) (map[string]interface{}, error) {
|
func ParseStructToMap(c any) (map[string]any, error) {
|
||||||
var claims map[string]interface{}
|
var claims map[string]any
|
||||||
inrec, _ := json.Marshal(c)
|
inrec, _ := json.Marshal(c)
|
||||||
err := json.Unmarshal(inrec, &claims)
|
err := json.Unmarshal(inrec, &claims)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,6 @@ import (
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
"io/ioutil"
|
|
||||||
"net/http"
|
"net/http"
|
||||||
"net/http/httptest"
|
"net/http/httptest"
|
||||||
"os"
|
"os"
|
||||||
|
|
@ -349,7 +348,7 @@ func testRequest(t *testing.T, ts *httptest.Server, method, path string, body io
|
||||||
}
|
}
|
||||||
defer resp.Body.Close()
|
defer resp.Body.Close()
|
||||||
|
|
||||||
respBody, err := ioutil.ReadAll(resp.Body)
|
respBody, err := io.ReadAll(resp.Body)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
return nil, ""
|
return nil, ""
|
||||||
|
|
@ -372,7 +371,7 @@ func genRefreshJWT(c jwt.RefreshClaims) string {
|
||||||
return tokenString
|
return tokenString
|
||||||
}
|
}
|
||||||
|
|
||||||
func encode(v interface{}) (*bytes.Buffer, error) {
|
func encode(v any) (*bytes.Buffer, error) {
|
||||||
data := new(bytes.Buffer)
|
data := new(bytes.Buffer)
|
||||||
err := json.NewEncoder(data).Encode(v)
|
err := json.NewEncoder(data).Encode(v)
|
||||||
return data, err
|
return data, err
|
||||||
|
|
|
||||||
|
|
@ -35,12 +35,12 @@ func NewAdmAccountStore(db *bun.DB) *AdmAccountStore {
|
||||||
type AccountFilter struct {
|
type AccountFilter struct {
|
||||||
Limit int
|
Limit int
|
||||||
Offset int
|
Offset int
|
||||||
Filter map[string]interface{}
|
Filter map[string]any
|
||||||
Order []string
|
Order []string
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewAccountFilter returns an AccountFilter with options parsed from request url values.
|
// NewAccountFilter returns an AccountFilter with options parsed from request url values.
|
||||||
func NewAccountFilter(params interface{}) (*AccountFilter, error) {
|
func NewAccountFilter(params any) (*AccountFilter, error) {
|
||||||
v, ok := params.(url.Values)
|
v, ok := params.(url.Values)
|
||||||
if !ok {
|
if !ok {
|
||||||
return nil, ErrBadParams
|
return nil, ErrBadParams
|
||||||
|
|
@ -48,7 +48,7 @@ func NewAccountFilter(params interface{}) (*AccountFilter, error) {
|
||||||
f := &AccountFilter{
|
f := &AccountFilter{
|
||||||
Limit: 10, // Default limit
|
Limit: 10, // Default limit
|
||||||
Offset: 0, // Default offset
|
Offset: 0, // Default offset
|
||||||
Filter: make(map[string]interface{}),
|
Filter: make(map[string]any),
|
||||||
Order: v["order"],
|
Order: v["order"],
|
||||||
}
|
}
|
||||||
// Parse limit and offset
|
// Parse limit and offset
|
||||||
|
|
|
||||||
|
|
@ -12,10 +12,8 @@ import (
|
||||||
"github.com/spf13/viper"
|
"github.com/spf13/viper"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
// Logger is a configured logrus.Logger.
|
||||||
// Logger is a configured logrus.Logger.
|
var Logger *logrus.Logger
|
||||||
Logger *logrus.Logger
|
|
||||||
)
|
|
||||||
|
|
||||||
// StructuredLogger is a structured logrus Logger.
|
// StructuredLogger is a structured logrus Logger.
|
||||||
type StructuredLogger struct {
|
type StructuredLogger struct {
|
||||||
|
|
@ -90,7 +88,7 @@ type StructuredLoggerEntry struct {
|
||||||
Logger logrus.FieldLogger
|
Logger logrus.FieldLogger
|
||||||
}
|
}
|
||||||
|
|
||||||
func (l *StructuredLoggerEntry) Write(status, bytes int, header http.Header, elapsed time.Duration, extra interface{}) {
|
func (l *StructuredLoggerEntry) Write(status, bytes int, header http.Header, elapsed time.Duration, extra any) {
|
||||||
l.Logger = l.Logger.WithFields(logrus.Fields{
|
l.Logger = l.Logger.WithFields(logrus.Fields{
|
||||||
"resp_status": status,
|
"resp_status": status,
|
||||||
"resp_bytes_length": bytes,
|
"resp_bytes_length": bytes,
|
||||||
|
|
@ -101,7 +99,7 @@ func (l *StructuredLoggerEntry) Write(status, bytes int, header http.Header, ela
|
||||||
}
|
}
|
||||||
|
|
||||||
// Panic prints stack trace
|
// Panic prints stack trace
|
||||||
func (l *StructuredLoggerEntry) Panic(v interface{}, stack []byte) {
|
func (l *StructuredLoggerEntry) Panic(v any, stack []byte) {
|
||||||
l.Logger = l.Logger.WithFields(logrus.Fields{
|
l.Logger = l.Logger.WithFields(logrus.Fields{
|
||||||
"stack": string(stack),
|
"stack": string(stack),
|
||||||
"panic": fmt.Sprintf("%+v", v),
|
"panic": fmt.Sprintf("%+v", v),
|
||||||
|
|
@ -118,14 +116,14 @@ func GetLogEntry(r *http.Request) logrus.FieldLogger {
|
||||||
}
|
}
|
||||||
|
|
||||||
// LogEntrySetField adds a field to the request scoped logrus.FieldLogger.
|
// LogEntrySetField adds a field to the request scoped logrus.FieldLogger.
|
||||||
func LogEntrySetField(r *http.Request, key string, value interface{}) {
|
func LogEntrySetField(r *http.Request, key string, value any) {
|
||||||
if entry, ok := r.Context().Value(middleware.LogEntryCtxKey).(*StructuredLoggerEntry); ok {
|
if entry, ok := r.Context().Value(middleware.LogEntryCtxKey).(*StructuredLoggerEntry); ok {
|
||||||
entry.Logger = entry.Logger.WithField(key, value)
|
entry.Logger = entry.Logger.WithField(key, value)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// LogEntrySetFields adds multiple fields to the request scoped logrus.FieldLogger.
|
// LogEntrySetFields adds multiple fields to the request scoped logrus.FieldLogger.
|
||||||
func LogEntrySetFields(r *http.Request, fields map[string]interface{}) {
|
func LogEntrySetFields(r *http.Request, fields map[string]any) {
|
||||||
if entry, ok := r.Context().Value(middleware.LogEntryCtxKey).(*StructuredLoggerEntry); ok {
|
if entry, ok := r.Context().Value(middleware.LogEntryCtxKey).(*StructuredLoggerEntry); ok {
|
||||||
entry.Logger = entry.Logger.WithFields(fields)
|
entry.Logger = entry.Logger.WithFields(fields)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue