title mapping to designation removed to avoid db errors

This commit is contained in:
laxmanhalaki 2026-04-20 17:14:25 +05:30
parent e7f52021c7
commit 2786d58bb6
3 changed files with 27 additions and 24 deletions

View File

@ -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: {

View File

@ -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;
}

View File

@ -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',