Hi i would like to change de no avatar profile but the image doesnt exist..
I even tried to do a backend but PrivateMembersData cannot be updated…
import wixData from 'wix-data';
import { members } from 'wix-members-backend';
// URL de la photo de profil par défaut
const DEFAULT_PROFILE_PHOTO = "https://static.wixstatic.com/x.png";
// Attendre que l'entrée dans Members/PrivateMembersData existe
async function waitForPrivateMemberData(email, maxAttempts = 3, delayMs = 1500) {
console.log(`🧪 Début de waitForPrivateMemberData pour l'email ${email}`);
for (let i = 1; i <= maxAttempts; i++) {
try {
const result = await wixData.query("Members/PrivateMembersData")
.eq("loginEmail", email)
.find({ suppressAuth: true });
console.log(`Tentative ${i} : ${result.items.length} éléments trouvés pour l'email ${email}`);
if (result.items.length > 0) {
console.log(`✅ Entrée trouvée dans Members/PrivateMembersData pour l'email ${email} (tentative ${i})`);
return result.items[0];
}
console.log(`⏳ En attente de Members/PrivateMembersData pour ${email}... (tentative ${i})`);
await new Promise(res => setTimeout(res, delayMs));
} catch (error) {
console.warn(`⚠️ Erreur lors de la tentative ${i} pour vérifier Members/PrivateMembersData pour l'email ${email} :`, error);
}
}
console.error(`❌ Members/PrivateMembersData introuvable pour l'email ${email} après ${maxAttempts} tentatives`);
return null;
}
// Met à jour la photo de profil par défaut via wix-members-backend
export async function setDefaultProfilePhotoByEmail(email) {
try {
console.log(`🧪 Début de la tentative de mise à jour de la photo pour l'email ${email}`);
// Attendre que l'entrée existe
const privateData = await waitForPrivateMemberData(email);
if (!privateData) {
console.error(`❌ Impossible de définir la photo de profil pour l'email ${email} : entrée non trouvée`);
return;
}
const memberId = privateData._id;
console.log(`✅ ID Wix Members trouvé pour l'email ${email}: ${memberId}`);
// Mise à jour via l'API Members (et non via wixData)
await members.updateMember(memberId, {
profile: {
picture: DEFAULT_PROFILE_PHOTO
}
});
console.log(`✅ Photo de profil mise à jour via wix-members-backend pour le membre ${memberId}`);
} catch (error) {
console.error(`❌ Erreur critique lors de la mise à jour de la photo via wix-members-backend :`, error);
throw error;
}
}
is it possible to add a defaut profile when a new members register?