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

View File

@ -107,12 +107,15 @@ export async function enrichApprovalLevels(
? level.isFinalApprover ? level.isFinalApprover
: (i === approvalLevels.length - 1); : (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({ enriched.push({
levelNumber: level.levelNumber || (i + 1), levelNumber: level.levelNumber || (i + 1),
levelName, levelName: finalLevelName,
approverId: userId, approverId: userId,
approverEmail: email, approverEmail: email,
approverName: displayName, approverName: displayName.substring(0, 200),
tatHours: level.tatHours, tatHours: level.tatHours,
isFinalApprover, isFinalApprover,
}); });

View File

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