refactor: auth
This commit is contained in:
parent
1062fc7c68
commit
0326e90c1b
4 changed files with 13 additions and 5 deletions
|
|
@ -75,6 +75,7 @@ func (s *Service) List(
|
||||||
Status: db.BotStatusApproved,
|
Status: db.BotStatusApproved,
|
||||||
Limit: p.Limit,
|
Limit: p.Limit,
|
||||||
Offset: p.Offset,
|
Offset: p.Offset,
|
||||||
|
// todo: query
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
slog.Error("error listing bots", "query", query, "err", err)
|
slog.Error("error listing bots", "query", query, "err", err)
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ package bot
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
"errors"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
"codeberg.org/nextgo/dbots/internal/db"
|
"codeberg.org/nextgo/dbots/internal/db"
|
||||||
|
|
@ -52,9 +53,10 @@ func (r *Router) submitBot(w http.ResponseWriter, req *http.Request) {
|
||||||
|
|
||||||
ctx := req.Context()
|
ctx := req.Context()
|
||||||
bot, err := r.bots.Submit(ctx, *data)
|
bot, err := r.bots.Submit(ctx, *data)
|
||||||
if err != nil {
|
if errors.Is(err, errorutil.ErrBotAlreadyExists) {
|
||||||
render.Render(w, req, errorutil.ErrInvalidRequest(err))
|
render.Render(w, req, errorutil.ErrInvalidRequest(err))
|
||||||
return
|
} else {
|
||||||
|
render.Render(w, req, errorutil.ErrInternal(err))
|
||||||
}
|
}
|
||||||
|
|
||||||
render.Status(req, http.StatusCreated)
|
render.Status(req, http.StatusCreated)
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,8 @@ import (
|
||||||
|
|
||||||
type contextKey string
|
type contextKey string
|
||||||
|
|
||||||
var userKey contextKey = "user"
|
const userKey contextKey = "user"
|
||||||
|
|
||||||
var mainUserID = "774287684944134155"
|
var mainUserID = "774287684944134155"
|
||||||
|
|
||||||
// AuthMiddleware is a middleware to set the user as context value.
|
// AuthMiddleware is a middleware to set the user as context value.
|
||||||
|
|
@ -29,6 +30,8 @@ func AuthMiddleware(q *db.Queries) func(http.Handler) http.Handler {
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
slog.Error("eeeehhh", "err", err)
|
slog.Error("eeeehhh", "err", err)
|
||||||
|
next.ServeHTTP(w, r)
|
||||||
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -52,6 +55,9 @@ func AuthGuardMiddleware(next http.Handler) http.Handler {
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetUser(ctx context.Context) *db.User {
|
func GetUser(ctx context.Context) *db.User {
|
||||||
user := ctx.Value(userKey).(*db.User)
|
user, ok := ctx.Value(userKey).(*db.User)
|
||||||
|
if !ok {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
return user
|
return user
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,6 @@ func NewServer(queries *db.Queries, logger *slog.Logger) *Server {
|
||||||
router.Use(middleware.Recoverer)
|
router.Use(middleware.Recoverer)
|
||||||
router.Use(middleware.RequestID)
|
router.Use(middleware.RequestID)
|
||||||
router.Use(middleware.RealIP)
|
router.Use(middleware.RealIP)
|
||||||
router.Use(middleware.Recoverer)
|
|
||||||
router.Use(customMiddlewares.AuthMiddleware(queries))
|
router.Use(customMiddlewares.AuthMiddleware(queries))
|
||||||
|
|
||||||
return &Server{
|
return &Server{
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue