diff --git a/backend/user-service/.env.example b/backend/user-service/.env.example index e9f3cebcc0..84d9052720 100644 --- a/backend/user-service/.env.example +++ b/backend/user-service/.env.example @@ -44,4 +44,7 @@ SMTP_USER=peerprep25@gmail.com SMTP_PASSWORD=scdqcveqpurzzajj # App URL -APP_URL=http://localhost:3000 \ No newline at end of file +APP_URL=http://localhost:3000 + +# Feature flags +DEFAULT_ADMIN_ON_REGISTER_FEATURE=true \ No newline at end of file diff --git a/backend/user-service/model/repository.js b/backend/user-service/model/repository.js index 29c8228ceb..082cc2d33c 100644 --- a/backend/user-service/model/repository.js +++ b/backend/user-service/model/repository.js @@ -36,7 +36,8 @@ export async function connectToDB() { } export async function createUser(username, email, password) { - return new UserModel({ username, email, password }).save(); + const isAdmin = process.env.DEFAULT_ADMIN_ON_REGISTER_FEATURE === "true"; + return new UserModel({ username, email, password, isAdmin }).save(); } export async function findUserByEmail(email) { diff --git a/frontend/src/domain/context/AuthContext.tsx b/frontend/src/domain/context/AuthContext.tsx index d93cfaff2a..0eb9a89788 100644 --- a/frontend/src/domain/context/AuthContext.tsx +++ b/frontend/src/domain/context/AuthContext.tsx @@ -93,7 +93,7 @@ export const AuthProvider = ({ children }: { children: ReactNode }) => { }; //const isUserAdmin = isLoggedIn === true && user != null && user.isAdmin; - const isUserAdmin = true; + const isUserAdmin = !!user?.isAdmin; return ( = () => { const [users, setUsers] = useState([]); @@ -21,8 +23,12 @@ export const UserManagement: React.FC<{}> = () => { useEffect(() => { const getAllUsers = async () => { - const users = await userUseCases.getAllUsers(); - setUsers(users); + try { + const users = await userUseCases.getAllUsers(); + setUsers(users); + } catch (err) { + toast.error(handleError(err)); + } }; getAllUsers(); }, []);