package routes import ( "context" "git.x2erp.com/qdy/go-base/authbase" "git.x2erp.com/qdy/go-base/ctx" "git.x2erp.com/qdy/go-base/model/request/configreq" "git.x2erp.com/qdy/go-base/model/response" "git.x2erp.com/qdy/go-base/webx/router" "git.x2erp.com/qdy/go-db/factory/database" "git.x2erp.com/qdy/go-svc-configure/internal/service/user" ) func RegisterUserRoutes(ws *router.RouterService, dbFactory *database.DBFactory) { // 用户注册(无需认证) ws.POST("/api/register/user", func(req *configreq.UserRegisterRequest, ctx context.Context, reqCtx *ctx.RequestContext) (*response.QueryResult[int64], error) { return user.RegisterUser(req, ctx, dbFactory, reqCtx), nil }, ).Desc("用户注册(需邀请码)").Register() // 用户登录(无需认证) ws.POST("/api/login/user", func(req *configreq.UserLoginRequest, ctx context.Context, reqCtx *ctx.RequestContext) (*response.QueryResult[string], error) { return user.GetUserToken(req, ctx, dbFactory, reqCtx), nil }, ).Desc("用户登录(返回token)").Register() // 创建租户管理员用户(BasicAuth认证) ws.POST("/api/create/tenant/admin", func(req *configreq.CreateTenantAdminRequest, ctx context.Context, reqCtx *ctx.RequestContext) (*response.QueryResult[int64], error) { return user.CreateTenantAdmin(req, ctx, dbFactory, reqCtx), nil }, ).Use(authbase.BasicAuth).Desc("创建租户管理员用户").Register() // 创建邀请码(TokenAuth认证) ws.POST("/api/create/invitation/code", func(req *configreq.CreateInvitationCodeRequest, ctx context.Context, reqCtx *ctx.RequestContext) (*response.QueryResult[string], error) { return user.CreateInvitationCode(req, ctx, dbFactory, reqCtx), nil }, ).Use(authbase.TokenAuth).Desc("创建邀请码").Register() }