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 } // Test godoc // // @Summary Test // @Description Test // @Tags Test // @Accept json // @Produce json // @Param id path int true "AccountID" // @Param queryFilter query dto.AlarmListQuery true "AlarmListQueryFilter" // @Param pageFilter query common.PageQueryFilter true "PageQueryFilter" // @Param sortFilter query common.SortQueryFilter true "SortQueryFilter" // @Success 200 {object} common.PageDataResponse{list=dto.AlarmItem} // @Router /v1/test/:id [get] // @Router /t/:tenant [get] // // @Bind claim local // @Bind tenant query 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 } return nil }