@@ -19,8 +19,8 @@ import { Message } from "../entities/Message";
1919import User from "../entities/User" ;
2020import { getVariableEnv } from "../lib/envManager/envManager" ;
2121import { RoleMiddleware } from "../middleware/RoleMiddleware" ;
22- import type { ContextType } from "../types/context" ;
2322import { addMembersToGroup , removeMembersFromGroup } from "../services/groupMemberService" ;
23+ import type { ContextType } from "../types/context" ;
2424
2525@InputType ( )
2626class CreateGroupInput {
@@ -42,7 +42,6 @@ class CreateGroupInput {
4242 user_beneficiary ?: string ;
4343}
4444
45-
4645@InputType ( )
4746class UpdateGroupInput {
4847 @Field ( )
@@ -62,7 +61,6 @@ class UpdateGroupInput {
6261
6362 @Field ( { nullable : true } )
6463 user_beneficiary ?: string ;
65-
6664}
6765
6866@InputType ( )
@@ -97,9 +95,13 @@ export default class GroupResolver {
9795 user : { id : ctx . user ?. id } ,
9896 } ,
9997 } ,
100- relations : { groupMember : {
101- user : true , // 👈 THIS is the key
102- } , user_admin : true , user_beneficiary : true } ,
98+ relations : {
99+ groupMember : {
100+ user : true , // 👈 THIS is the key
101+ } ,
102+ user_admin : true ,
103+ user_beneficiary : true ,
104+ } ,
103105 order : { id : "DESC" } ,
104106 } ) ;
105107
@@ -112,16 +114,16 @@ export default class GroupResolver {
112114
113115 @Query ( ( ) => Group )
114116 async getGroupById ( @Arg ( "id" ) id : number ) {
115- const group = await Group . findOne ( {
117+ const group = await Group . findOne ( {
116118 where : { id : id } ,
117- relations : {
118- user_admin : true ,
119- user_beneficiary : true ,
119+ relations : {
120+ user_admin : true ,
121+ user_beneficiary : true ,
120122 groupMember : {
121123 user : true ,
122124 } ,
123125 } ,
124- } ) ;
126+ } ) ;
125127 if ( ! group ) throw new Error ( "Groupe non trouvé" ) ;
126128 return group ;
127129 }
@@ -224,41 +226,36 @@ export default class GroupResolver {
224226 if ( data . users ?. length ) {
225227 await addMembersToGroup ( {
226228 userEmails : data . users ,
227- groupId : group . id
229+ groupId : group . id ,
228230 } ) ;
229231 }
230-
232+
231233 return group ;
232234 }
233235
234236 @UseMiddleware ( RoleMiddleware ( ) )
235237 @Mutation ( ( ) => String )
236- async deleteGroup (
237- @Arg ( "id" ) id : number ,
238- @Ctx ( ) ctx : ContextType
239- ) : Promise < string > {
238+ async deleteGroup ( @Arg ( "id" ) id : number , @Ctx ( ) ctx : ContextType ) : Promise < string > {
240239 if ( ! ctx . user ) {
241240 throw new Error ( "Utilisateur non connecté" ) ;
242241 }
243-
242+
244243 const group = await Group . findOne ( {
245244 where : {
246245 id,
247246 user_admin : { id : ctx . user . id } ,
248247 } ,
249248 relations : { user_admin : true } ,
250249 } ) ;
251-
250+
252251 if ( ! group ) {
253252 throw new Error ( "Groupe introuvable ou accès refusé" ) ;
254253 }
255-
254+
256255 if ( ! group . user_admin || group . user_admin . id !== ctx . user . id ) {
257- throw new Error (
258- "Il faut être administrateur du groupe pour pouvoir le supprimer"
259- ) ;
256+ throw new Error ( "Il faut être administrateur du groupe pour pouvoir le supprimer" ) ;
260257 }
261-
258+
262259 try {
263260 await Group . remove ( group ) ;
264261 return "Le groupe a été supprimé" ;
@@ -273,7 +270,7 @@ export default class GroupResolver {
273270 async removeMembersFromGroup (
274271 @Arg ( "groupId" , ( ) => Number ) groupId : number ,
275272 @Arg ( "data" ) data : RemoveMembersInput ,
276- @Ctx ( ) ctx : ContextType
273+ @Ctx ( ) ctx : ContextType ,
277274 ) : Promise < string > {
278275 if ( ! ctx . user ) {
279276 throw new Error ( "Utilisateur non connecté" ) ;
@@ -286,7 +283,7 @@ export default class GroupResolver {
286283
287284 const group = await Group . findOne ( {
288285 where : {
289- id : groupId
286+ id : groupId ,
290287 } ,
291288 relations : { user_admin : true } ,
292289 } ) ;
@@ -300,15 +297,15 @@ export default class GroupResolver {
300297
301298 // Convert emails to user IDs if provided
302299 let userIdsToRemove : number [ ] = [ ] ;
303-
300+
304301 if ( data . userEmails && data . userEmails . length > 0 ) {
305302 await Promise . all (
306303 data . userEmails . map ( async ( email ) => {
307304 const user = await User . findOne ( { where : { email } } ) ;
308305 if ( user ) {
309306 userIdsToRemove . push ( user . id ) ;
310307 }
311- } )
308+ } ) ,
312309 ) ;
313310 }
314311
0 commit comments