feat: add country and city fields to user profile
- Add country and city fields to User model - Create database migration for location fields - Add validation for country and city (max 100 characters) - Create countries.js with complete list of 195 countries - Add country dropdown select and city text input to profile page - Include country and city in GET /api/users/me response - Update profile form to support location data Users can now select their country from a dropdown list of all countries and enter their city name.
This commit is contained in:
@@ -10,7 +10,7 @@ const { sanitizeForEmail } = require('../utils/sanitize');
|
||||
async function updateProfile(req, res, next) {
|
||||
try {
|
||||
const userId = req.user.id;
|
||||
const { firstName, lastName, email, wsdcId, youtubeUrl, instagramUrl, facebookUrl, tiktokUrl } = req.body;
|
||||
const { firstName, lastName, email, wsdcId, youtubeUrl, instagramUrl, facebookUrl, tiktokUrl, country, city } = req.body;
|
||||
|
||||
// Build update data
|
||||
const updateData = {};
|
||||
@@ -21,6 +21,8 @@ async function updateProfile(req, res, next) {
|
||||
if (instagramUrl !== undefined) updateData.instagramUrl = instagramUrl || null;
|
||||
if (facebookUrl !== undefined) updateData.facebookUrl = facebookUrl || null;
|
||||
if (tiktokUrl !== undefined) updateData.tiktokUrl = tiktokUrl || null;
|
||||
if (country !== undefined) updateData.country = country || null;
|
||||
if (city !== undefined) updateData.city = city || null;
|
||||
|
||||
// Check if email is being changed
|
||||
const currentUser = await prisma.user.findUnique({
|
||||
|
||||
Reference in New Issue
Block a user