Files
backend_fiesta/routes/tenantroutes.go
Suriya 36f9cf86e7 Add Super Admin login flag and expose web tenant onboarding
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>
2026-07-16 20:45:27 +05:30

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)
}