feat: update

This commit is contained in:
Rogee
2024-12-08 01:21:04 +08:00
parent c54d7896ef
commit 25df094481
15 changed files with 128 additions and 71 deletions

View File

@@ -9,5 +9,6 @@ type Controller struct {
// List
func (c *Controller) List(ctx fiber.Ctx) error {
return ctx.SendString(ctx.Params("tenant", "no tenant"))
return ctx.JSON(nil)
}

View File

@@ -9,17 +9,13 @@ import (
// @provider:except contracts.HttpRoute atom.GroupRoutes
type Router struct {
app *fiber.App `inject:"false"`
group fiber.Router `inject:"false"`
log *log.Entry `inject:"false"`
log *log.Entry `inject:"false"`
controller *Controller
}
func (r *Router) Prepare() error {
r.log = log.WithField("http.group", r.Name())
r.app = fiber.New()
r.group = r.app.Group(r.Name())
return nil
}
@@ -28,8 +24,7 @@ func (r *Router) Name() string {
return "users"
}
func (r *Router) Register() any {
r.group.Get("", r.controller.List)
return r.app
func (r *Router) Register(router fiber.Router) {
group := router.Group(r.Name())
group.Get("", r.controller.List)
}

View File

@@ -66,6 +66,10 @@ func (svc *Service) GetByOpenID(ctx context.Context, openid string) (*model.User
func (svc *Service) GetOrNew(ctx context.Context, tenantID int64, openid string, authInfo pg.UserOAuth) (*model.Users, error) {
log := svc.log.WithField("method", "GetOrNew")
svc.log.Infof("get or new user for tenant: %d, openid: %s", tenantID, openid)
if openid == "" {
return nil, errors.New("openid is empty")
}
user, err := svc.GetByOpenID(ctx, openid)
if err == nil {
// check: if tenant has user
@@ -196,17 +200,17 @@ func (svc *Service) CreateTenantUser(ctx context.Context, userID, tenantID int64
}
// GetTenantIDBySlug
func (svc *Service) GetTenantIDBySlug(ctx context.Context, slug string) (int64, error) {
func (svc *Service) GetTenantBySlug(ctx context.Context, slug string) (*model.Tenants, error) {
log := svc.log.WithField("method", "GetTenantIDBySlug")
stmt := table.Tenants.SELECT(table.Tenants.ID).WHERE(table.Tenants.Slug.EQ(String(slug)))
stmt := table.Tenants.SELECT(table.Tenants.AllColumns).WHERE(table.Tenants.Slug.EQ(String(slug)))
log.Debug(stmt.DebugSql())
var id int64
if err := stmt.QueryContext(ctx, db.FromContext(ctx, svc.db), &id); err != nil {
return 0, errors.Wrap(err, "failed to query tenant id by slug")
var item model.Tenants
if err := stmt.QueryContext(ctx, db.FromContext(ctx, svc.db), &item); err != nil {
return nil, errors.Wrap(err, "failed to query tenant id by slug")
}
return id, nil
return &item, nil
}
// CreateTenant