From ede38e80e4273ba51772f865ef09e549b86926a5 Mon Sep 17 00:00:00 2001 From: AyrisAI Date: Thu, 14 May 2026 21:38:31 +0300 Subject: [PATCH] Enable DOMAIN_ADMIN to manage users within their authorized domains --- app/[lang]/dashboard/users/page.tsx | 38 ++++++++++++++++------- app/api/users/[id]/route.ts | 46 +++++++++++++++++++++++---- app/api/users/route.ts | 48 +++++++++++++++++++++++------ components/Sidebar.tsx | 4 +-- 4 files changed, 108 insertions(+), 28 deletions(-) diff --git a/app/[lang]/dashboard/users/page.tsx b/app/[lang]/dashboard/users/page.tsx index 48a3988..2bd0c3e 100644 --- a/app/[lang]/dashboard/users/page.tsx +++ b/app/[lang]/dashboard/users/page.tsx @@ -1,6 +1,7 @@ "use client"; import { useState, useEffect } from "react"; +import { useSession } from "next-auth/react"; import { useDictionary } from "@/components/DictionaryContext"; interface User { @@ -19,6 +20,7 @@ export default function UsersPage() { const [search, setSearch] = useState(""); const [isModalOpen, setIsModalOpen] = useState(false); const [editingUser, setEditingUser] = useState(null); + const { data: session } = useSession(); // Form state const [formData, setFormData] = useState({ @@ -242,22 +244,36 @@ export default function UsersPage() { setFormData({...formData, password: e.target.value})} required={!editingUser} />
-
- - -
+ {session?.user?.role === "SUPER_ADMIN" ? ( +
+ + +
+ ) : ( +
+ + +
+ )}
setFormData({...formData, telegramId: e.target.value})} />
-
- - setFormData({...formData, domains: e.target.value})} /> -
+ {session?.user?.role === "SUPER_ADMIN" ? ( +
+ + setFormData({...formData, domains: e.target.value})} /> +
+ ) : ( +
+ + +
+ )}