From f9f1bcd34a876ccfbfc85a7d508aff77f7a8d9b8 Mon Sep 17 00:00:00 2001 From: Matt Date: Wed, 11 Jun 2025 16:10:19 +0200 Subject: [PATCH] fixes --- server/api/eoi/check-signature-status.ts | 33 +++++++++++++++++++++--- 1 file changed, 30 insertions(+), 3 deletions(-) diff --git a/server/api/eoi/check-signature-status.ts b/server/api/eoi/check-signature-status.ts index 80b9967..c5e4d29 100644 --- a/server/api/eoi/check-signature-status.ts +++ b/server/api/eoi/check-signature-status.ts @@ -1,4 +1,5 @@ import { getDocumesoDocumentByExternalId, checkDocumentSignatureStatus } from '~/server/utils/documeso'; +import { getInterestById } from '~/server/utils/nocodb'; export default defineEventHandler(async (event) => { const xTagHeader = getRequestHeader(event, "x-tag"); @@ -12,6 +13,8 @@ export default defineEventHandler(async (event) => { const interestId = query.interestId as string; const documentId = query.documentId as string; + console.log('[check-signature-status] Request params:', { interestId, documentId }); + if (!interestId && !documentId) { throw createError({ statusCode: 400, @@ -21,6 +24,7 @@ export default defineEventHandler(async (event) => { // If we have a document ID, check directly if (documentId) { + console.log('[check-signature-status] Using provided document ID:', documentId); const status = await checkDocumentSignatureStatus(parseInt(documentId)); return { success: true, @@ -28,17 +32,40 @@ export default defineEventHandler(async (event) => { }; } - // Otherwise, try to find by external ID (using interestId) + // Get the interest to check for stored documensoID + const interest = await getInterestById(interestId); + console.log('[check-signature-status] Interest retrieved:', { + id: interest.Id, + documensoID: interest['documensoID'], + documensoID_type: typeof interest['documensoID'], + has_signature_links: !!(interest['Signature Link Client'] || interest['Signature Link CC'] || interest['Signature Link Developer']) + }); + + // If we have a stored documensoID, use it directly + if (interest && interest['documensoID']) { + console.log('[check-signature-status] Using stored documensoID:', interest['documensoID']); + const status = await checkDocumentSignatureStatus(parseInt(interest['documensoID'])); + return { + success: true, + documentId: parseInt(interest['documensoID']), + ...status + }; + } + + // Otherwise, try to find by external ID (using interestId) - fallback method + console.log('[check-signature-status] No documensoID stored, trying external ID fallback'); const externalId = `loi-${interestId}`; const document = await getDocumesoDocumentByExternalId(externalId); if (!document) { + console.log('[check-signature-status] No document found by external ID either'); throw createError({ statusCode: 404, - statusMessage: 'Document not found for this interest', + statusMessage: 'Document not found for this interest - no documensoID stored and external ID lookup failed', }); } + console.log('[check-signature-status] Found document by external ID:', document.id); const status = await checkDocumentSignatureStatus(document.id); return { @@ -47,7 +74,7 @@ export default defineEventHandler(async (event) => { ...status }; } catch (error: any) { - console.error('Failed to check signature status:', error); + console.error('[check-signature-status] Failed to check signature status:', error); throw createError({ statusCode: error.statusCode || 500, statusMessage: error.statusMessage || 'Failed to check signature status',