fix: Récupérer org_id via référence contrat si organization_id manquant
This commit is contained in:
parent
4aa817400b
commit
b844a89844
1 changed files with 35 additions and 26 deletions
|
|
@ -76,42 +76,51 @@ export async function POST(request: NextRequest) {
|
|||
|
||||
// 3. Récupération du nom du client depuis Supabase
|
||||
let organizationName = 'Employeur'; // Fallback par défaut
|
||||
|
||||
if (!organizationId) {
|
||||
console.error('❌ organization_id manquant');
|
||||
return NextResponse.json(
|
||||
{ error: 'organization_id est requis' },
|
||||
{ status: 400 }
|
||||
);
|
||||
}
|
||||
let actualOrgId = organizationId;
|
||||
|
||||
console.log('🔍 Récupération du nom du client depuis organizations...');
|
||||
try {
|
||||
const supabase = createSbServiceRole();
|
||||
|
||||
const { data: orgData, error: orgError } = await supabase
|
||||
.from('organizations')
|
||||
.select('name')
|
||||
.eq('id', organizationId)
|
||||
.single();
|
||||
|
||||
if (orgError) {
|
||||
console.error('❌ Erreur lors de la récupération de l\'organisation:', orgError);
|
||||
throw orgError;
|
||||
// Si organization_id n'est pas fourni, le récupérer via la référence du contrat
|
||||
if (!actualOrgId && reference) {
|
||||
console.log('⚠️ organization_id manquant, récupération via la référence du contrat');
|
||||
const { data: contractData } = await supabase
|
||||
.from('cddu_contracts')
|
||||
.select('org_id')
|
||||
.eq('contract_number', reference)
|
||||
.single();
|
||||
|
||||
if (contractData?.org_id) {
|
||||
actualOrgId = contractData.org_id;
|
||||
console.log('✅ org_id récupéré depuis le contrat:', actualOrgId);
|
||||
} else {
|
||||
console.error('❌ Impossible de trouver l\'org_id pour la référence:', reference);
|
||||
}
|
||||
}
|
||||
|
||||
if (orgData?.name) {
|
||||
organizationName = orgData.name;
|
||||
console.log('✅ Nom du client trouvé:', organizationName);
|
||||
// Récupérer le nom de l'organisation
|
||||
if (actualOrgId) {
|
||||
const { data: orgData, error: orgError } = await supabase
|
||||
.from('organizations')
|
||||
.select('name')
|
||||
.eq('id', actualOrgId)
|
||||
.single();
|
||||
|
||||
if (orgError) {
|
||||
console.error('❌ Erreur lors de la récupération de l\'organisation:', orgError);
|
||||
} else if (orgData?.name) {
|
||||
organizationName = orgData.name;
|
||||
console.log('✅ Nom du client trouvé:', organizationName);
|
||||
} else {
|
||||
console.error('❌ Nom du client non trouvé pour org_id:', actualOrgId);
|
||||
}
|
||||
} else {
|
||||
console.error('❌ Nom du client non trouvé pour org_id:', organizationId);
|
||||
console.error('❌ Impossible de déterminer l\'org_id');
|
||||
}
|
||||
} catch (err) {
|
||||
console.error('❌ Erreur lors de la récupération du nom du client:', err);
|
||||
return NextResponse.json(
|
||||
{ error: 'Impossible de récupérer le nom du client' },
|
||||
{ status: 500 }
|
||||
);
|
||||
console.error('⚠️ Erreur lors de la récupération du nom du client:', err);
|
||||
// Ne pas bloquer l'envoi de l'email, utiliser le fallback
|
||||
}
|
||||
|
||||
// 4. Récupération du prénom depuis Supabase si non fourni
|
||||
|
|
|
|||
Loading…
Reference in a new issue