jobtitle overide on desigantion in the create workflow is removed to make it compativble with exsting schema

This commit is contained in:
laxman h 2026-04-22 08:48:51 +05:30
parent 2786d58bb6
commit 3f32047eb5
3 changed files with 31 additions and 28 deletions

View File

@ -432,14 +432,14 @@ export class UserService {
updatedAt: new Date()
};
if (oktaUserData.userId) updateData.oktaSub = oktaUserData.userId;
if (oktaUserData.firstName) updateData.firstName = oktaUserData.firstName;
if (oktaUserData.lastName) updateData.lastName = oktaUserData.lastName;
if (oktaUserData.displayName) updateData.displayName = oktaUserData.displayName;
if (oktaUserData.department) updateData.department = oktaUserData.department;
if (oktaUserData.phone) updateData.phone = oktaUserData.phone;
if (oktaUserData.designation) updateData.designation = oktaUserData.designation;
if (oktaUserData.employeeId) updateData.employeeId = oktaUserData.employeeId;
if (oktaUserData.userId) updateData.oktaSub = oktaUserData.userId.substring(0, 100);
if (oktaUserData.firstName) updateData.firstName = oktaUserData.firstName.substring(0, 100);
if (oktaUserData.lastName) updateData.lastName = oktaUserData.lastName.substring(0, 100);
if (oktaUserData.displayName) updateData.displayName = oktaUserData.displayName.substring(0, 200);
if (oktaUserData.department) updateData.department = oktaUserData.department.substring(0, 100);
if (oktaUserData.phone) updateData.phone = oktaUserData.phone.substring(0, 20);
if (oktaUserData.designation) updateData.designation = oktaUserData.designation.substring(0, 100);
if (oktaUserData.employeeId) updateData.employeeId = oktaUserData.employeeId.substring(0, 50);
await user.update(updateData);
return user;
@ -451,15 +451,15 @@ export class UserService {
if (oktaUser) {
// Found in Okta - create with Okta data
user = await UserModel.create({
oktaSub: oktaUser.id,
oktaSub: oktaUser.id.substring(0, 100),
email,
employeeId: null,
firstName: oktaUser.profile.firstName || null,
lastName: oktaUser.profile.lastName || null,
displayName: oktaUser.profile.displayName || `${oktaUser.profile.firstName || ''} ${oktaUser.profile.lastName || ''}`.trim() || email.split('@')[0],
department: oktaUser.profile.department || null,
firstName: oktaUser.profile.firstName ? oktaUser.profile.firstName.substring(0, 100) : null,
lastName: oktaUser.profile.lastName ? oktaUser.profile.lastName.substring(0, 100) : null,
displayName: (oktaUser.profile.displayName || `${oktaUser.profile.firstName || ''} ${oktaUser.profile.lastName || ''}`.trim() || email.split('@')[0]).substring(0, 200),
department: oktaUser.profile.department ? oktaUser.profile.department.substring(0, 100) : null,
designation: null,
phone: oktaUser.profile.mobilePhone || null,
phone: oktaUser.profile.mobilePhone ? oktaUser.profile.mobilePhone.substring(0, 20) : null,
isActive: oktaUser.status === 'ACTIVE',
role: 'USER',
lastLogin: undefined,
@ -475,16 +475,16 @@ export class UserService {
// Create new user with provided data
user = await UserModel.create({
oktaSub: oktaUserData.userId,
oktaSub: oktaUserData.userId ? oktaUserData.userId.substring(0, 100) : null as any,
email,
employeeId: oktaUserData.employeeId || null,
firstName: oktaUserData.firstName || null,
lastName: oktaUserData.lastName || null,
displayName: oktaUserData.displayName || email.split('@')[0],
department: oktaUserData.department || null,
designation: oktaUserData.designation || null,
employeeId: oktaUserData.employeeId ? oktaUserData.employeeId.substring(0, 50) : null,
firstName: oktaUserData.firstName ? oktaUserData.firstName.substring(0, 100) : null,
lastName: oktaUserData.lastName ? oktaUserData.lastName.substring(0, 100) : null,
displayName: (oktaUserData.displayName || email.split('@')[0]).substring(0, 200),
department: oktaUserData.department ? oktaUserData.department.substring(0, 100) : null,
designation: oktaUserData.designation ? oktaUserData.designation.substring(0, 100) : null,
jobTitle: oktaUserData.jobTitle || oktaUserData.designation || null,
phone: oktaUserData.phone || oktaUserData.mobilePhone || null,
phone: (oktaUserData.phone || oktaUserData.mobilePhone) ? (oktaUserData.phone || oktaUserData.mobilePhone)!.substring(0, 20) : null,
isActive: true,
role: 'USER',
lastLogin: undefined,

View File

@ -107,12 +107,15 @@ export async function enrichApprovalLevels(
? level.isFinalApprover
: (i === approvalLevels.length - 1);
// Truncate level name if it exceeds 100 characters (database limit)
const finalLevelName = levelName ? levelName.substring(0, 100) : `Level ${i + 1} Approval`;
enriched.push({
levelNumber: level.levelNumber || (i + 1),
levelName,
levelName: finalLevelName,
approverId: userId,
approverEmail: email,
approverName: displayName,
approverName: displayName.substring(0, 200),
tatHours: level.tatHours,
isFinalApprover,
});

View File

@ -2478,10 +2478,10 @@ export class WorkflowService {
await ApprovalLevel.create({
requestId: workflow.requestId,
levelNumber: levelData.levelNumber,
levelName: levelData.levelName,
levelName: levelData.levelName ? levelData.levelName.substring(0, 100) : undefined,
approverId: levelData.approverId,
approverEmail: levelData.approverEmail,
approverName: levelData.approverName,
approverName: levelData.approverName ? levelData.approverName.substring(0, 200) : '',
tatHours: levelData.tatHours,
// tatDays is auto-calculated by database as a generated column
status: ApprovalStatus.PENDING,
@ -2526,7 +2526,7 @@ export class WorkflowService {
requestId: workflow.requestId,
userId: participantData.userId,
userEmail: participantData.userEmail,
userName: participantData.userName,
userName: participantData.userName ? participantData.userName.substring(0, 200) : '',
participantType: (participantData.participantType as unknown as ParticipantType),
canComment: participantData.canComment ?? true,
canViewDocuments: participantData.canViewDocuments ?? true,
@ -2559,7 +2559,7 @@ export class WorkflowService {
details: isDraftRequested
? `Draft request "${workflowData.title}" created by ${initiatorName}`
: `Initial request submitted for ${workflowData.title} by ${initiatorName}`,
ipAddress: requestMetadata?.ipAddress || undefined,
ipAddress: requestMetadata?.ipAddress ? requestMetadata.ipAddress.substring(0, 100) : undefined,
userAgent: requestMetadata?.userAgent || undefined
});