This commit is contained in:
2025-10-25 08:18:18 +08:00
parent ec80aa92fa
commit 6b0a88ed4c
4 changed files with 59 additions and 23 deletions

View File

@@ -37,7 +37,8 @@ type (
) )
@server ( @server (
prefix: /api/blog middleware: SuperAdminAuthMiddleware
prefix: /api/blog
) )
service Blog { service Blog {
@doc ( @doc (

View File

@@ -13,26 +13,29 @@ import (
func RegisterHandlers(server *rest.Server, serverCtx *svc.ServiceContext) { func RegisterHandlers(server *rest.Server, serverCtx *svc.ServiceContext) {
server.AddRoutes( server.AddRoutes(
[]rest.Route{ rest.WithMiddlewares(
{ []rest.Middleware{serverCtx.SuperAdminAuthMiddleware},
// Get presigned URL for file download []rest.Route{
Method: http.MethodPost, {
Path: "/file/download", // Get presigned URL for file download
Handler: DownloadPresignedURLHandler(serverCtx), Method: http.MethodPost,
}, Path: "/file/download",
{ Handler: DownloadPresignedURLHandler(serverCtx),
// Get presigned URL for file upload },
Method: http.MethodPost, {
Path: "/file/upload", // Get presigned URL for file upload
Handler: UploadPresignedURLHandler(serverCtx), Method: http.MethodPost,
}, Path: "/file/upload",
{ Handler: UploadPresignedURLHandler(serverCtx),
// Ping the server to check if it's alive },
Method: http.MethodGet, {
Path: "/ping", // Ping the server to check if it's alive
Handler: pingHandler(serverCtx), Method: http.MethodGet,
}, Path: "/ping",
}, Handler: pingHandler(serverCtx),
},
}...,
),
rest.WithPrefix("/api/blog"), rest.WithPrefix("/api/blog"),
) )
} }

View File

@@ -0,0 +1,24 @@
package middleware
import (
"net/http"
"git.cialloo.com/CiallooWeb/Blog/app/internal/config"
)
type SuperAdminAuthMiddleware struct {
Config config.Config
}
func NewSuperAdminAuthMiddleware(c config.Config) *SuperAdminAuthMiddleware {
return &SuperAdminAuthMiddleware{Config: c}
}
func (m *SuperAdminAuthMiddleware) Handle(next http.HandlerFunc) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
// TODO generate middleware implement function, delete after code implementation
// Passthrough to next handler if need
next(w, r)
}
}

View File

@@ -5,22 +5,30 @@ import (
"database/sql" "database/sql"
"git.cialloo.com/CiallooWeb/Blog/app/internal/config" "git.cialloo.com/CiallooWeb/Blog/app/internal/config"
"git.cialloo.com/CiallooWeb/Blog/app/internal/middleware"
"github.com/aws/aws-sdk-go-v2/aws" "github.com/aws/aws-sdk-go-v2/aws"
awsconfig "github.com/aws/aws-sdk-go-v2/config" awsconfig "github.com/aws/aws-sdk-go-v2/config"
"github.com/aws/aws-sdk-go-v2/credentials" "github.com/aws/aws-sdk-go-v2/credentials"
"github.com/aws/aws-sdk-go-v2/service/s3" "github.com/aws/aws-sdk-go-v2/service/s3"
_ "github.com/lib/pq" _ "github.com/lib/pq"
"github.com/zeromicro/go-zero/rest"
) )
type ServiceContext struct { type ServiceContext struct {
Config config.Config Config config.Config
SuperAdminAuthMiddleware rest.Middleware
S3Client *s3.Client S3Client *s3.Client
DB *sql.DB DB *sql.DB
} }
func NewServiceContext(c config.Config) *ServiceContext { func NewServiceContext(c config.Config) *ServiceContext {
return &ServiceContext{ return &ServiceContext{
Config: c, Config: c,
SuperAdminAuthMiddleware: middleware.NewSuperAdminAuthMiddleware(c).Handle,
S3Client: initS3Client(c.S3), S3Client: initS3Client(c.S3),
DB: initDatabase(c.Database), DB: initDatabase(c.Database),
} }