issuperadmin on app_users (schema change already applied to the DB) is now returned by AppLogin/TenantWebLogin's login response, gated server-side rather than via a client-supplied roleid. Fixes the login enrichment query (GetTenantUserById) to LEFT JOIN app_location instead of INNER JOIN — a tenantless super-admin row was previously silently dropped, so the login "succeeded" but returned an empty struct. Also exposes createtenantuser on the web route group (was mob-only). No repository changes were needed for location auto-provisioning: GORM was already inserting the nested tenantlocations association on tenant creation, it just wasn't reachable from the web. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
41 lines
1.8 KiB
Go
41 lines
1.8 KiB
Go
package routes
|
|
|
|
import (
|
|
"nearle/facade"
|
|
|
|
"github.com/gofiber/fiber/v2"
|
|
)
|
|
|
|
func RegisterTenantRoutes(api fiber.Router, f *facade.Facade) {
|
|
|
|
tenant := api.Group("/v1/web/tenants")
|
|
|
|
tenant.Get("/search", f.TenantController.SearchTenant)
|
|
tenant.Get("/searchbykeyword", f.TenantController.GetTenantByKeyword)
|
|
tenant.Get("/getalltenants", f.TenantController.GetAllTenants)
|
|
tenant.Get("/gettenantlocations", f.TenantController.GetTenantLocations)
|
|
tenant.Post("/createtenantcustomer", f.TenantController.CreateTenantCustomer)
|
|
tenant.Put("/updatelocation", f.TenantController.UpdateLocation)
|
|
tenant.Post("/createlocation", f.TenantController.CreateLocation)
|
|
tenant.Delete("/deletelocation", f.TenantController.DeleteLocation)
|
|
tenant.Post("/createtenantlocation", f.TenantController.CreateTenantLocation)
|
|
tenant.Put("/updatetenantlocation", f.TenantController.UpdateTenantLocation)
|
|
tenant.Post("/createtenantuser", f.TenantController.CreateTenantUser)
|
|
|
|
tenant = api.Group("/v1/mob/tenants")
|
|
|
|
tenant.Get("/gettenantslot", f.TenantController.GetTenantSlot)
|
|
tenant.Get("/searchbykeyword", f.TenantController.GetTenantByKeyword)
|
|
tenant.Post("/createtenantcustomer", f.TenantController.CreateTenantCustomer)
|
|
tenant.Get("/getcustomertenants", f.TenantController.GetCustomerTenants)
|
|
tenant.Get("/gettenantlocations", f.TenantController.GetTenantLocations)
|
|
tenant.Get("/gettenantpricing", f.TenantController.GetTenantPricing)
|
|
tenant.Put("/updatelocation", f.TenantController.UpdateLocation)
|
|
tenant.Post("/createlocation", f.TenantController.CreateLocation)
|
|
tenant.Get("/getstaffs", f.TenantController.GetStaffs)
|
|
tenant.Post("/createstaff", f.TenantController.CreateStaff)
|
|
tenant.Post("/createtenantuser", f.TenantController.CreateTenantUser)
|
|
tenant.Get("/gettenantinfo", f.TenantController.GetTenantInfo)
|
|
|
|
}
|