moved middleware auth to auth package

This commit is contained in:
2026-01-24 14:10:34 -07:00
parent a6267ac189
commit 8438c26d88
6 changed files with 32 additions and 28 deletions
+15 -12
View File
@@ -4,17 +4,20 @@ import (
"errors"
"fmt"
"net/http"
"ruben/inventory2/internal/consts"
"ruben/inventory2/internal/domains/accounts"
"ruben/inventory2/internal/logging"
"ruben/inventory2/internal/server/middleware"
"ruben/inventory2/internal/server/response"
"ruben/inventory2/internal/server/sse"
"strconv"
"github.com/gin-gonic/gin"
"ruben/inventory2/internal/consts"
"ruben/inventory2/internal/domains/accounts"
"ruben/inventory2/internal/logging"
"ruben/inventory2/internal/server/auth"
"ruben/inventory2/internal/server/response"
"ruben/inventory2/internal/server/sse"
)
// TODO: use the auth middleware better?
type accountSubrouter struct {
log *logging.Logger
accts *accounts.Store
@@ -50,7 +53,7 @@ func (s *accountSubrouter) createAccount(c *gin.Context) (response.Response, err
return nil, response.BadRequest().Msg("no email provided")
}
userID := middleware.GetIdentity(ctx).User.UserID
userID := auth.GetIdentity(ctx).User.UserID
acct, err := s.accts.CreateAccount(ctx, userID, email)
if err != nil {
@@ -68,7 +71,7 @@ func (s *accountSubrouter) createAccount(c *gin.Context) (response.Response, err
func (s *accountSubrouter) createSyncGroupListingDraft(c *gin.Context) (response.Response, error) {
r := c.Request
ctx := r.Context()
acctID := middleware.GetIdentity(ctx).Account.AccountID
acctID := auth.GetIdentity(ctx).Account.AccountID
if _, err := s.accts.CreateSyncGroupListingDraft(ctx, acctID); err != nil {
return nil, response.Errorf("failed to create new listing draft: %w", err)
@@ -86,7 +89,7 @@ func (s *accountSubrouter) createSyncGroupListingDraft(c *gin.Context) (response
func (s *accountSubrouter) setShopInSyncGroupListingDraft(c *gin.Context) (response.Response, error) {
r := c.Request
ctx := r.Context()
acctID := middleware.GetIdentity(ctx).Account.AccountID
acctID := auth.GetIdentity(ctx).Account.AccountID
orderIndex, err := getOrderIndexForSyncGroupListingDraftFromPath(c)
if err != nil {
@@ -120,7 +123,7 @@ func (s *accountSubrouter) setShopInSyncGroupListingDraft(c *gin.Context) (respo
func (s *accountSubrouter) setListingInSyncGroupListingDraft(c *gin.Context) (response.Response, error) {
r := c.Request
ctx := r.Context()
acctID := middleware.GetIdentity(ctx).Account.AccountID
acctID := auth.GetIdentity(ctx).Account.AccountID
orderIndex, err := getOrderIndexForSyncGroupListingDraftFromPath(c)
if err != nil {
@@ -147,7 +150,7 @@ func (s *accountSubrouter) setListingInSyncGroupListingDraft(c *gin.Context) (re
func (s *accountSubrouter) deleteSyncGroupListingDraft(c *gin.Context) (response.Response, error) {
r := c.Request
ctx := r.Context()
acctID := middleware.GetIdentity(ctx).Account.AccountID
acctID := auth.GetIdentity(ctx).Account.AccountID
orderIndex, err := getOrderIndexForSyncGroupListingDraftFromPath(c)
if err != nil {
@@ -168,7 +171,7 @@ func (s *accountSubrouter) deleteSyncGroupListingDraft(c *gin.Context) (response
func (s *accountSubrouter) saveNewSyncGroup(c *gin.Context) (response.Response, error) {
r := c.Request
ctx := r.Context()
acctID := middleware.GetIdentity(ctx).Account.AccountID
acctID := auth.GetIdentity(ctx).Account.AccountID
grp, err := s.accts.SaveNewSyncGroup(ctx, acctID)
if err != nil {
+2 -2
View File
@@ -12,14 +12,14 @@ import (
sse_api "ruben/inventory2/internal/server/api/sse"
"ruben/inventory2/internal/server/api/webhooks"
etsy_webhooks "ruben/inventory2/internal/server/api/webhooks/etsy"
"ruben/inventory2/internal/server/middleware"
"ruben/inventory2/internal/server/auth"
"ruben/inventory2/internal/server/sse"
)
func Routes(
r *gin.RouterGroup,
logger *logging.Logger,
auth *middleware.Auth,
auth *auth.Auth,
sq *sse.Queue,
accts *accounts.Store,
unp *sse.UpdateNotificationPublisher,
+6 -5
View File
@@ -2,13 +2,14 @@ package sse
import (
"context"
"ruben/inventory2/internal/logging"
"ruben/inventory2/internal/server/middleware"
"ruben/inventory2/internal/server/response"
"ruben/inventory2/internal/server/sse"
"sync"
"github.com/gin-gonic/gin"
"ruben/inventory2/internal/logging"
"ruben/inventory2/internal/server/auth"
"ruben/inventory2/internal/server/response"
"ruben/inventory2/internal/server/sse"
)
const (
@@ -40,7 +41,7 @@ func Routes(
}
func (r *sseRouter) serveEvents(c *gin.Context) (response.Response, error) {
acct := middleware.GetIdentity(c).Account
acct := auth.GetIdentity(c).Account
acctID := acct.AccountID
userID := acct.UserID
email := acct.Email
@@ -1,4 +1,4 @@
package middleware
package auth
import (
"bytes"
+5 -5
View File
@@ -14,7 +14,7 @@ import (
"ruben/inventory2/internal/domains/raw_events"
"ruben/inventory2/internal/logging"
"ruben/inventory2/internal/server/api"
"ruben/inventory2/internal/server/middleware"
"ruben/inventory2/internal/server/auth"
"ruben/inventory2/internal/server/response"
"ruben/inventory2/internal/server/sse"
"ruben/inventory2/internal/server/ui"
@@ -31,11 +31,11 @@ func NewRouter(
rawEvents *raw_events.Store,
accts *accounts.Store,
etsy *etsy_platform.Platform,
auth *authentication.Authenticator,
authr *authentication.Authenticator,
) *Router {
authM := middleware.NewAuth(
authM := auth.NewAuth(
logger.WithGroup("auth-middleware"),
auth,
authr,
accts,
)
@@ -82,7 +82,7 @@ func NewRouter(
unp := sq.NewUpdateNotificationPublisher(
logger.WithGroup("update.notification.publisher"),
func(c *gin.Context) int64 {
return middleware.GetIdentity(c).Account.AccountID
return auth.GetIdentity(c).Account.AccountID
},
).Trim("/api")
+3 -3
View File
@@ -14,7 +14,7 @@ import (
etsy_platform "ruben/inventory2/internal/domains/platforms/etsy"
"ruben/inventory2/internal/domains/raw_events"
"ruben/inventory2/internal/logging"
"ruben/inventory2/internal/server/middleware"
"ruben/inventory2/internal/server/auth"
"ruben/inventory2/internal/server/response"
"github.com/angelbeltran/templater"
@@ -124,7 +124,7 @@ func (s *webpageRouter) serveTemplate(c *gin.Context) (response.Response, error)
// auth tooling
"Identity",
middleware.GetIdentity(ctx),
auth.GetIdentity(ctx),
"Auth",
newTemplateAuthenticator(r),
}
@@ -218,7 +218,7 @@ func authorizeByMatchingAccountID(r *http.Request, acctIDPathPosition int) error
Msgf("account does not exist: %s", part)
}
id := middleware.GetIdentity(r.Context())
id := auth.GetIdentity(r.Context())
if id.Account == nil || id.Account.AccountID != acctID {
return response.Unauthorized().
Msgf("user does not have access to account %d", acctID)