Enhance MemberTransferService and MemberTransferDialog with detailed debug logging
Added extensive debug logging to the MemberTransferService to track member transfer details, including logging the first few members and bulk data structure. Updated the MemberTransferDialog to clear login credentials upon loading and closing, improving user experience and ensuring a clean state for configuration loading. These enhancements aim to facilitate troubleshooting and provide better visibility into the member transfer process.
This commit is contained in:
@@ -251,6 +251,12 @@ class MemberTransferService {
|
||||
config.transferTemplate,
|
||||
member
|
||||
);
|
||||
|
||||
// Debug-Logging: Erste 3 Mitglieder vollständig loggen
|
||||
if (membersArray.length < 3) {
|
||||
devLog(`[transferMembers] Mitglied ${membersArray.length + 1} (${member.firstName} ${member.lastName}):`, JSON.stringify(memberData, null, 2));
|
||||
}
|
||||
|
||||
membersArray.push(memberData);
|
||||
} catch (error) {
|
||||
devLog(`[transferMembers] Error processing ${member.firstName} ${member.lastName}:`, error);
|
||||
@@ -261,6 +267,8 @@ class MemberTransferService {
|
||||
}
|
||||
}
|
||||
|
||||
devLog(`[transferMembers] Anzahl zu übertragender Mitglieder: ${membersArray.length}`);
|
||||
|
||||
// Bulk-Objekt erstellen
|
||||
let bulkData;
|
||||
|
||||
@@ -305,6 +313,30 @@ class MemberTransferService {
|
||||
};
|
||||
}
|
||||
|
||||
// Debug-Logging: Was wird übertragen?
|
||||
devLog('[transferMembers] Bulk-Daten werden übertragen:');
|
||||
devLog('[transferMembers] Endpoint:', transferEndpointUrl);
|
||||
devLog('[transferMembers] Methode:', config.transferMethod || 'POST');
|
||||
devLog('[transferMembers] Format:', config.transferFormat || 'json');
|
||||
devLog('[transferMembers] Anzahl Mitglieder im Bulk:', membersArray.length);
|
||||
|
||||
// Logge die ersten 2 Mitglieder vollständig für Debugging
|
||||
if (membersArray.length > 0) {
|
||||
devLog('[transferMembers] Erstes Mitglied (Beispiel):', JSON.stringify(membersArray[0], null, 2));
|
||||
if (membersArray.length > 1) {
|
||||
devLog('[transferMembers] Zweites Mitglied (Beispiel):', JSON.stringify(membersArray[1], null, 2));
|
||||
}
|
||||
}
|
||||
|
||||
// Logge die vollständige Bulk-Struktur (begrenzt auf erste 1000 Zeichen)
|
||||
const bulkDataString = JSON.stringify(bulkData, null, 2);
|
||||
if (bulkDataString.length > 1000) {
|
||||
devLog('[transferMembers] Bulk-Daten (erste 1000 Zeichen):', bulkDataString.substring(0, 1000) + '...');
|
||||
devLog('[transferMembers] Bulk-Daten Gesamtlänge:', bulkDataString.length, 'Zeichen');
|
||||
} else {
|
||||
devLog('[transferMembers] Vollständige Bulk-Daten:', bulkDataString);
|
||||
}
|
||||
|
||||
const transferResult = await this.transferMember(
|
||||
transferEndpointUrl,
|
||||
config.transferMethod || 'POST',
|
||||
@@ -551,6 +583,44 @@ class MemberTransferService {
|
||||
*/
|
||||
async transferMember(endpoint, method, format, data, authToken, sessionCookie) {
|
||||
try {
|
||||
// Debug-Logging
|
||||
devLog('[transferMember] Starte Übertragung:');
|
||||
devLog('[transferMember] Endpoint:', endpoint);
|
||||
devLog('[transferMember] Method:', method);
|
||||
devLog('[transferMember] Format:', format);
|
||||
devLog('[transferMember] AuthToken vorhanden:', !!authToken);
|
||||
devLog('[transferMember] SessionCookie vorhanden:', !!sessionCookie);
|
||||
|
||||
// Logge Daten-Struktur (ohne vollständige Daten bei großen Objekten)
|
||||
if (typeof data === 'object' && data !== null) {
|
||||
if (Array.isArray(data)) {
|
||||
devLog('[transferMember] Daten ist Array mit', data.length, 'Elementen');
|
||||
if (data.length > 0) {
|
||||
devLog('[transferMember] Erstes Array-Element:', JSON.stringify(data[0], null, 2));
|
||||
}
|
||||
} else if (data.members && Array.isArray(data.members)) {
|
||||
devLog('[transferMember] Daten enthält members-Array mit', data.members.length, 'Elementen');
|
||||
if (data.members.length > 0) {
|
||||
devLog('[transferMember] Erstes Mitglied im members-Array:', JSON.stringify(data.members[0], null, 2));
|
||||
if (data.members.length > 1) {
|
||||
devLog('[transferMember] Zweites Mitglied im members-Array:', JSON.stringify(data.members[1], null, 2));
|
||||
}
|
||||
}
|
||||
} else {
|
||||
const dataString = JSON.stringify(data, null, 2);
|
||||
if (dataString.length > 500) {
|
||||
devLog('[transferMember] Daten (erste 500 Zeichen):', dataString.substring(0, 500) + '...');
|
||||
} else {
|
||||
devLog('[transferMember] Vollständige Daten:', dataString);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
devLog('[transferMember] Daten-Typ:', typeof data);
|
||||
if (typeof data === 'string') {
|
||||
devLog('[transferMember] Daten-String (erste 500 Zeichen):', data.substring(0, 500));
|
||||
}
|
||||
}
|
||||
|
||||
let requestConfig = {
|
||||
url: endpoint,
|
||||
method: method.toUpperCase(),
|
||||
|
||||
@@ -172,7 +172,17 @@ export default {
|
||||
watch: {
|
||||
modelValue(newVal) {
|
||||
if (newVal) {
|
||||
// WICHTIG: Felder sofort leeren, bevor Konfiguration geladen wird
|
||||
this.loginCredentials = {
|
||||
username: '',
|
||||
password: '',
|
||||
additionalField1: '',
|
||||
additionalField2: ''
|
||||
};
|
||||
this.loadSavedConfig();
|
||||
} else {
|
||||
// Beim Schließen auch leeren
|
||||
this.resetForm();
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user