From 2786d58bb673bc2f2e76a9d0b4b61bd5cd941cf2 Mon Sep 17 00:00:00 2001 From: laxmanhalaki Date: Mon, 20 Apr 2026 17:14:25 +0530 Subject: [PATCH] title mapping to designation removed to avoid db errors --- src/models/User.ts | 4 ++-- src/services/auth.service.ts | 20 +++++++++++--------- src/services/user.service.ts | 27 ++++++++++++++------------- 3 files changed, 27 insertions(+), 24 deletions(-) diff --git a/src/models/User.ts b/src/models/User.ts index a379482..59db741 100644 --- a/src/models/User.ts +++ b/src/models/User.ts @@ -173,11 +173,11 @@ User.init( comment: 'Full Name for display' }, department: { - type: DataTypes.STRING(255), + type: DataTypes.STRING(100), allowNull: true }, designation: { - type: DataTypes.STRING(255), + type: DataTypes.STRING(100), allowNull: true }, phone: { diff --git a/src/services/auth.service.ts b/src/services/auth.service.ts index 2e34750..550ab1d 100644 --- a/src/services/auth.service.ts +++ b/src/services/auth.service.ts @@ -119,7 +119,7 @@ export class AuthService { lastName: profile.lastName || undefined, displayName: profile.displayName || undefined, department: profile.department || undefined, - designation: profile.title || profile.designation || undefined, + designation: profile.designation || undefined, phone: profile.mobilePhone || profile.phone || profile.phoneNumber || undefined, manager: profile.manager || undefined, // Store manager name if available jobTitle: profile.title || undefined, @@ -209,8 +209,10 @@ export class AuthService { if (oktaUser.department) { userData.department = oktaUser.department; } + if (oktaUser.designation) { + userData.designation = oktaUser.designation; + } if (oktaUser.title || oktaUser.designation) { - userData.designation = oktaUser.title || oktaUser.designation; userData.jobTitle = oktaUser.title || oktaUser.designation; } if (oktaUser.phone_number || oktaUser.phone) { @@ -284,13 +286,13 @@ export class AuthService { if (lastName) userUpdateData.lastName = lastName; if (displayName) userUpdateData.displayName = displayName; if (userData.employeeId) userUpdateData.employeeId = userData.employeeId; // Optional - if (userData.department) userUpdateData.department = userData.department; - if (userData.designation) userUpdateData.designation = userData.designation; - if (userData.phone) userUpdateData.phone = userData.phone; - if (userData.manager) userUpdateData.manager = userData.manager; // Manager name from SSO - if (userData.jobTitle) userUpdateData.jobTitle = userData.jobTitle; // Job title from SSO - if (userData.postalAddress) userUpdateData.postalAddress = userData.postalAddress; // Address from SSO - if (userData.mobilePhone) userUpdateData.mobilePhone = userData.mobilePhone; // Mobile phone from SSO + if (userData.department) userUpdateData.department = userData.department.substring(0, 100); + if (userData.designation) userUpdateData.designation = userData.designation.substring(0, 100); + if (userData.phone) userUpdateData.phone = userData.phone.substring(0, 20); + if (userData.manager) userUpdateData.manager = userData.manager.substring(0, 200); // Manager name from SSO + if (userData.jobTitle) userUpdateData.jobTitle = userData.jobTitle; // Job title from SSO (TEXT, no limit) + if (userData.postalAddress) userUpdateData.postalAddress = userData.postalAddress; // Address from SSO (TEXT, no limit) + if (userData.mobilePhone) userUpdateData.mobilePhone = userData.mobilePhone.substring(0, 20); // Mobile phone from SSO if (userData.employeeNumber || userData.dealerCode) { userUpdateData.employeeNumber = userData.employeeNumber || userData.dealerCode; } diff --git a/src/services/user.service.ts b/src/services/user.service.ts index e180a20..dd301ad 100644 --- a/src/services/user.service.ts +++ b/src/services/user.service.ts @@ -37,7 +37,7 @@ function extractOktaUserData(oktaUserResponse: any): SSOUserData | null { lastName: profile.lastName || undefined, displayName: profile.displayName || undefined, department: profile.department || undefined, - designation: profile.title || profile.designation || undefined, + designation: profile.designation || undefined, phone: profile.mobilePhone || profile.phone || profile.phoneNumber || undefined, manager: profile.manager || undefined, // Manager name from Okta jobTitle: profile.title || undefined, @@ -68,17 +68,17 @@ export class UserService { const payload: any = { oktaSub: ssoData.oktaSub, employeeId: ssoData.employeeId || null, - firstName: ssoData.firstName || null, - lastName: ssoData.lastName || null, - displayName: ssoData.displayName || null, - department: ssoData.department || null, - designation: ssoData.designation || null, - phone: ssoData.phone || null, - manager: ssoData.manager || null, - jobTitle: ssoData.designation || ssoData.jobTitle || null, - postalAddress: ssoData.postalAddress || null, - mobilePhone: ssoData.mobilePhone || null, - secondEmail: ssoData.secondEmail || null, + firstName: ssoData.firstName ? ssoData.firstName.substring(0, 100) : null, + lastName: ssoData.lastName ? ssoData.lastName.substring(0, 100) : null, + displayName: ssoData.displayName ? ssoData.displayName.substring(0, 200) : null, + department: ssoData.department ? ssoData.department.substring(0, 100) : null, + designation: ssoData.designation ? ssoData.designation.substring(0, 100) : null, + phone: ssoData.phone ? ssoData.phone.substring(0, 20) : null, + manager: ssoData.manager ? ssoData.manager.substring(0, 200) : null, + jobTitle: ssoData.jobTitle || ssoData.designation || null, // jobTitle is TEXT + postalAddress: ssoData.postalAddress || null, // postalAddress is TEXT + mobilePhone: ssoData.mobilePhone ? ssoData.mobilePhone.substring(0, 20) : null, + secondEmail: ssoData.secondEmail ? ssoData.secondEmail.substring(0, 255) : null, adGroups: ssoData.adGroups || null, lastLogin: now, updatedAt: now, @@ -482,7 +482,8 @@ export class UserService { lastName: oktaUserData.lastName || null, displayName: oktaUserData.displayName || email.split('@')[0], department: oktaUserData.department || null, - designation: oktaUserData.designation || oktaUserData.jobTitle || null, + designation: oktaUserData.designation || null, + jobTitle: oktaUserData.jobTitle || oktaUserData.designation || null, phone: oktaUserData.phone || oktaUserData.mobilePhone || null, isActive: true, role: 'USER',