@@ -95,14 +95,20 @@ export const useCampaigns = () => {
9595 } ;
9696
9797 const deleteCampaign = async ( id : string ) => {
98+ if ( ! user ) {
99+ throw new Error ( 'User not authenticated' ) ;
100+ }
101+
98102 console . log ( '🗑️ Début suppression campagne:' , id ) ;
103+ console . log ( '🗑️ User connecté:' , user . uid ) ;
99104
100105 try {
101106 // 1. Supprimer tous les affiliés de cette campagne
102107 console . log ( '🗑️ Suppression des affiliés...' ) ;
103108 const affiliatesQuery = query (
104109 collection ( db , 'affiliates' ) ,
105- where ( 'campaignId' , '==' , id )
110+ where ( 'campaignId' , '==' , id ) ,
111+ where ( 'userId' , '==' , user . uid ) // Ajout de l'userId pour respecter les règles
106112 ) ;
107113 const affiliatesSnapshot = await getDocs ( affiliatesQuery ) ;
108114 console . log ( '🗑️ Affiliés trouvés:' , affiliatesSnapshot . size ) ;
@@ -112,6 +118,7 @@ export const useCampaigns = () => {
112118 return deleteDoc ( doc . ref ) ;
113119 } ) ;
114120 await Promise . all ( deleteAffiliatesPromises ) ;
121+ console . log ( '✅ Affiliés supprimés avec succès' ) ;
115122
116123 // 2. Supprimer tous les clics de cette campagne
117124 console . log ( '🗑️ Suppression des clics...' ) ;
@@ -127,6 +134,7 @@ export const useCampaigns = () => {
127134 return deleteDoc ( doc . ref ) ;
128135 } ) ;
129136 await Promise . all ( deleteClicksPromises ) ;
137+ console . log ( '✅ Clics supprimés avec succès' ) ;
130138
131139 // 3. Supprimer tous les liens courts de cette campagne
132140 console . log ( '🗑️ Suppression des liens courts...' ) ;
@@ -142,6 +150,7 @@ export const useCampaigns = () => {
142150 return deleteDoc ( doc . ref ) ;
143151 } ) ;
144152 await Promise . all ( deleteShortLinksPromises ) ;
153+ console . log ( '✅ Liens courts supprimés avec succès' ) ;
145154
146155 // 4. Supprimer toutes les conversions de cette campagne
147156 console . log ( '🗑️ Suppression des conversions...' ) ;
@@ -157,6 +166,7 @@ export const useCampaigns = () => {
157166 return deleteDoc ( doc . ref ) ;
158167 } ) ;
159168 await Promise . all ( deleteConversionsPromises ) ;
169+ console . log ( '✅ Conversions supprimées avec succès' ) ;
160170
161171 // 5. Finalement, supprimer la campagne elle-même
162172 console . log ( '🗑️ Suppression de la campagne...' ) ;
@@ -167,6 +177,11 @@ export const useCampaigns = () => {
167177
168178 } catch ( error ) {
169179 console . error ( '❌ Erreur lors de la suppression en cascade:' , error ) ;
180+ console . error ( '❌ Détails de l\'erreur:' , {
181+ message : error . message ,
182+ code : error . code ,
183+ stack : error . stack
184+ } ) ;
170185 throw error ;
171186 }
172187 } ;
0 commit comments