package tenants import ( "backend/providers/jwt" "backend/providers/otel" "github.com/gofiber/fiber/v3" log "github.com/sirupsen/logrus" ) // @provider type Controller struct { svc *Service log *log.Entry `inject:"false"` } func (c *Controller) Prepare() error { c.log = log.WithField("module", "tenants.Controller") return nil } // @Router /t/:tenant [get] // // @Bind claim local // @Bind tenant path func (c *Controller) Index(ctx fiber.Ctx, tenant string, claim *jwt.Claims) error { _ctx, span := otel.Start(ctx.Context(), "tenants.controller.index") defer span.End() tenantModel, err := c.svc.GetTenantBySlug(_ctx, tenant) if err != nil { return err } if err := c.svc.BindUserToTenantIfNotExists(_ctx, tenantModel.ID, claim.UserID); err != nil { return err } // TODO: render page return nil }