linguabot commited on
Commit
fb804bb
·
verified ·
1 Parent(s): 48affd9

Upload folder using huggingface_hub

Browse files
Files changed (2) hide show
  1. models/User.js +10 -0
  2. routes/auth.js +3 -3
models/User.js CHANGED
@@ -2,6 +2,16 @@ const mongoose = require('mongoose');
2
  const bcrypt = require('bcryptjs');
3
 
4
  const userSchema = new mongoose.Schema({
 
 
 
 
 
 
 
 
 
 
5
  username: {
6
  type: String,
7
  required: true,
 
2
  const bcrypt = require('bcryptjs');
3
 
4
  const userSchema = new mongoose.Schema({
5
+ name: {
6
+ type: String,
7
+ trim: true,
8
+ default: ''
9
+ },
10
+ displayName: {
11
+ type: String,
12
+ trim: true,
13
+ default: ''
14
+ },
15
  username: {
16
  type: String,
17
  required: true,
routes/auth.js CHANGED
@@ -117,7 +117,7 @@ router.post('/login', async (req, res) => {
117
  try {
118
  await User.findOneAndUpdate(
119
  { email: String(user.email).toLowerCase().trim() },
120
- { $set: { name: user.name || user.displayName || '', username: (user.email || '').split('@')[0], email: String(user.email).toLowerCase().trim(), role: user.role || 'student' } },
121
  { upsert: true, new: true, setDefaultsOnInsert: true }
122
  );
123
  } catch {}
@@ -185,7 +185,7 @@ router.post('/admin/users', authenticateToken, async (req, res) => {
185
  try {
186
  saved = await User.findOneAndUpdate(
187
  { email: String(email).toLowerCase().trim() },
188
- { $set: { name: name.trim(), username: String(email).split('@')[0], email: String(email).toLowerCase().trim(), role: (role || 'student').trim() } },
189
  { upsert: true, new: true, setDefaultsOnInsert: true }
190
  );
191
  } catch {}
@@ -214,7 +214,7 @@ router.put('/admin/users/:email', authenticateToken, async (req, res) => {
214
  } catch {}
215
  }
216
  // Sync legacy map as best-effort
217
- if (!PREDEFINED_USERS[email]) PREDEFINED_USERS[email] = { name: name || '', email, role: role || 'student', ...(displayName ? { displayName } : {}) };
218
  else {
219
  if (typeof name === 'string' && name.trim()) PREDEFINED_USERS[email].name = name.trim();
220
  if (typeof role === 'string' && role.trim()) PREDEFINED_USERS[email].role = role.trim();
 
117
  try {
118
  await User.findOneAndUpdate(
119
  { email: String(user.email).toLowerCase().trim() },
120
+ { $set: { name: user.name || user.displayName || '', displayName: user.displayName || user.name || '', username: (user.email || '').split('@')[0], email: String(user.email).toLowerCase().trim(), role: user.role || 'student' } },
121
  { upsert: true, new: true, setDefaultsOnInsert: true }
122
  );
123
  } catch {}
 
185
  try {
186
  saved = await User.findOneAndUpdate(
187
  { email: String(email).toLowerCase().trim() },
188
+ { $set: { name: name.trim(), displayName: (displayName || name).trim(), username: String(email).split('@')[0], email: String(email).toLowerCase().trim(), role: (role || 'student').trim() } },
189
  { upsert: true, new: true, setDefaultsOnInsert: true }
190
  );
191
  } catch {}
 
214
  } catch {}
215
  }
216
  // Sync legacy map as best-effort
217
+ if (!PREDEFINED_USERS[email]) PREDEFINED_USERS[email] = { name: name || '', email, role: role || 'student', ...(displayName ? { displayName } : { displayName: name }) };
218
  else {
219
  if (typeof name === 'string' && name.trim()) PREDEFINED_USERS[email].name = name.trim();
220
  if (typeof role === 'string' && role.trim()) PREDEFINED_USERS[email].role = role.trim();