feat: add TenantDetail and UserDetail views with comprehensive functionality

- Implemented TenantDetail.vue to display tenant information, manage tenant status, and handle tenant renewals.
- Added user management features in UserDetail.vue, including user status updates and role management.
- Integrated data loading for tenant users and orders in TenantDetail.vue.
- Included search and pagination functionalities for owned and joined tenants in UserDetail.vue.
- Enhanced user experience with toast notifications for success and error messages.
This commit is contained in:
2025-12-24 15:10:49 +08:00
parent 40776b78e2
commit 8fa321dbf6
18 changed files with 4106 additions and 190 deletions

View File

@@ -82,6 +82,11 @@ func (r *Routes) Register(router fiber.Router) {
r.tenant.list,
Query[dto.TenantFilter]("filter"),
))
r.log.Debugf("Registering route: Get /super/v1/tenants/:tenantID<int> -> tenant.detail")
router.Get("/super/v1/tenants/:tenantID<int>"[len(r.Path()):], DataFunc1(
r.tenant.detail,
PathParam[int64]("tenantID"),
))
r.log.Debugf("Registering route: Get /super/v1/tenants/:tenantID<int>/users -> tenant.users")
router.Get("/super/v1/tenants/:tenantID<int>/users"[len(r.Path()):], DataFunc2(
r.tenant.users,
@@ -115,6 +120,11 @@ func (r *Routes) Register(router fiber.Router) {
r.user.list,
Query[dto.UserPageFilter]("filter"),
))
r.log.Debugf("Registering route: Get /super/v1/users/:userID<int> -> user.detail")
router.Get("/super/v1/users/:userID<int>"[len(r.Path()):], DataFunc1(
r.user.detail,
PathParam[int64]("userID"),
))
r.log.Debugf("Registering route: Get /super/v1/users/:userID<int>/tenants -> user.tenants")
router.Get("/super/v1/users/:userID<int>/tenants"[len(r.Path()):], DataFunc2(
r.user.tenants,