port-nimara-client-portal/server/api/test-eoi-cleanup.ts

140 lines
5.1 KiB
TypeScript

export default defineEventHandler(async (event) => {
const xTagHeader = getRequestHeader(event, "x-tag");
if (!xTagHeader || (xTagHeader !== "094ut234" && xTagHeader !== "pjnvü1230")) {
throw createError({ statusCode: 401, statusMessage: "unauthenticated" });
}
try {
const query = getQuery(event);
const { interestId } = query;
if (!interestId) {
throw createError({
statusCode: 400,
statusMessage: 'Interest ID is required',
});
}
console.log('[Test EOI Cleanup] Starting cleanup test for interest:', interestId);
// First, check current state
const beforeUpdate = await getInterestById(interestId.toString());
console.log('[Test EOI Cleanup] BEFORE UPDATE - Current state:', {
documensoID: beforeUpdate['documensoID'],
signatureLinks: {
client: beforeUpdate['Signature Link Client'],
cc: beforeUpdate['Signature Link CC'],
developer: beforeUpdate['Signature Link Developer']
},
embeddedLinks: {
client: beforeUpdate['EmbeddedSignatureLinkClient'],
cc: beforeUpdate['EmbeddedSignatureLinkCC'],
developer: beforeUpdate['EmbeddedSignatureLinkDeveloper']
},
eoiStatus: beforeUpdate['EOI Status'],
salesLevel: beforeUpdate['Sales Process Level']
});
// Prepare the cleanup data - trying different approaches
const cleanupData = {
'EOI Status': 'Awaiting Further Details' as EOIStatus,
'Sales Process Level': 'Specific Qualified Interest' as InterestSalesProcessLevel,
'EOI Time Sent': undefined,
'Signature Link Client': undefined,
'Signature Link CC': undefined,
'Signature Link Developer': undefined,
'EmbeddedSignatureLinkClient': undefined,
'EmbeddedSignatureLinkCC': undefined,
'EmbeddedSignatureLinkDeveloper': undefined,
'documensoID': undefined
};
console.log('[Test EOI Cleanup] Cleanup data to send:', cleanupData);
// Perform the update
await updateInterest(interestId.toString(), cleanupData);
console.log('[Test EOI Cleanup] Update completed, checking result...');
// Check the state after update
const afterUpdate = await getInterestById(interestId.toString());
console.log('[Test EOI Cleanup] AFTER UPDATE - New state:', {
documensoID: afterUpdate['documensoID'],
signatureLinks: {
client: afterUpdate['Signature Link Client'],
cc: afterUpdate['Signature Link CC'],
developer: afterUpdate['Signature Link Developer']
},
embeddedLinks: {
client: afterUpdate['EmbeddedSignatureLinkClient'],
cc: afterUpdate['EmbeddedSignatureLinkCC'],
developer: afterUpdate['EmbeddedSignatureLinkDeveloper']
},
eoiStatus: afterUpdate['EOI Status'],
salesLevel: afterUpdate['Sales Process Level']
});
// Compare before and after
const changes = {
documensoID: {
before: beforeUpdate['documensoID'],
after: afterUpdate['documensoID'],
changed: beforeUpdate['documensoID'] !== afterUpdate['documensoID']
},
signatureLinks: {
client: {
before: beforeUpdate['Signature Link Client'],
after: afterUpdate['Signature Link Client'],
changed: beforeUpdate['Signature Link Client'] !== afterUpdate['Signature Link Client']
},
cc: {
before: beforeUpdate['Signature Link CC'],
after: afterUpdate['Signature Link CC'],
changed: beforeUpdate['Signature Link CC'] !== afterUpdate['Signature Link CC']
},
developer: {
before: beforeUpdate['Signature Link Developer'],
after: afterUpdate['Signature Link Developer'],
changed: beforeUpdate['Signature Link Developer'] !== afterUpdate['Signature Link Developer']
}
},
embeddedLinks: {
client: {
before: beforeUpdate['EmbeddedSignatureLinkClient'],
after: afterUpdate['EmbeddedSignatureLinkClient'],
changed: beforeUpdate['EmbeddedSignatureLinkClient'] !== afterUpdate['EmbeddedSignatureLinkClient']
},
cc: {
before: beforeUpdate['EmbeddedSignatureLinkCC'],
after: afterUpdate['EmbeddedSignatureLinkCC'],
changed: beforeUpdate['EmbeddedSignatureLinkCC'] !== afterUpdate['EmbeddedSignatureLinkCC']
},
developer: {
before: beforeUpdate['EmbeddedSignatureLinkDeveloper'],
after: afterUpdate['EmbeddedSignatureLinkDeveloper'],
changed: beforeUpdate['EmbeddedSignatureLinkDeveloper'] !== afterUpdate['EmbeddedSignatureLinkDeveloper']
}
}
};
console.log('[Test EOI Cleanup] Change analysis:', changes);
return {
success: true,
message: 'EOI cleanup test completed',
before: beforeUpdate,
after: afterUpdate,
changes,
cleanupData
};
} catch (error: any) {
console.error('[Test EOI Cleanup] Failed:', error);
throw createError({
statusCode: error.statusCode || 500,
statusMessage: error.statusMessage || error.message || 'Failed to test EOI cleanup',
});
}
});