fix(sysadmin): use site_id UUID string instead of integer PK throughout manager endpoints
The sysadmin panel URL uses site.site_id (UUID string) not site.id (int PK).
All manager account endpoints were querying/expecting the integer PK — none matched.
- GET /by-site/{site_id}: param type str, filter by Site.site_id
- POST /register: site_ids type list[str], query Site.site_id.in_()
- DELETE /site-access: site_id type str, query Site.site_id
- schemas/manager.py: ManagerRegisterRequest.site_ids list[int] → list[str]
- SiteDetailPage.jsx: remove Number() casts on siteId in add/remove calls
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -75,7 +75,7 @@ export default function SiteDetailPage() {
|
||||
if (!newMgrEmail.trim() || !newMgrPass.trim()) return
|
||||
setAddingMgr(true)
|
||||
try {
|
||||
await addManagerToSite(newMgrEmail.trim(), newMgrName.trim(), newMgrPass.trim(), Number(siteId))
|
||||
await addManagerToSite(newMgrEmail.trim(), newMgrName.trim(), newMgrPass.trim(), siteId)
|
||||
toast.success('Manager added')
|
||||
setModal(null)
|
||||
setNewMgrEmail(''); setNewMgrName(''); setNewMgrPass('')
|
||||
@@ -90,7 +90,7 @@ export default function SiteDetailPage() {
|
||||
async function doRemoveManager(managerId) {
|
||||
setRemovingMgrId(managerId)
|
||||
try {
|
||||
await removeManagerSiteAccess(managerId, Number(siteId))
|
||||
await removeManagerSiteAccess(managerId, siteId)
|
||||
toast.success('Access removed')
|
||||
setManagers(prev => prev.filter(m => m.id !== managerId))
|
||||
} catch (e) {
|
||||
|
||||
Reference in New Issue
Block a user