@@ -142,14 +142,21 @@ const user = {
142142const projectMember = {
143143 upsert : async ( projectId : Project [ 'id' ] , userId : ProjectMembers [ 'userId' ] ) => {
144144 const project = await getHookProjectInfos ( projectId )
145+ const projectStore = dbToObj ( await getProjectStore ( project . id ) )
146+ const hookProject = transformToHookProject ( project , projectStore )
145147 const store = dbToObj ( await getAdminPlugin ( ) )
146148
147149 const member = project . members . find ( m => m . userId === userId )
148150 if ( ! member ) throw new Error ( 'Member not found' )
149151
150152 const memberRoles = project . roles
151153 . filter ( role => member . roleIds . includes ( role . id ) )
152- . map ( role => ( { ...role , permissions : role . permissions . toString ( ) , oidcGroup : role . oidcGroup ?? undefined } ) )
154+ . map ( role => ( {
155+ ...role ,
156+ permissions : role . permissions . toString ( ) ,
157+ oidcGroup : role . oidcGroup ?? undefined ,
158+ project : hookProject ,
159+ } ) )
153160
154161 const payload = {
155162 userId : member . userId ,
@@ -163,24 +170,28 @@ const projectMember = {
163170 lastLogin : member . user . lastLogin ?. toISOString ( ) ,
164171 projectId : project . id ,
165172 roles : memberRoles ,
166- project : {
167- id : project . id ,
168- slug : project . slug ,
169- } ,
173+ project : hookProject ,
170174 }
171175
172176 return hooks . upsertProjectMember . execute ( payload , store )
173177 } ,
174178 delete : async ( projectId : Project [ 'id' ] , userId : ProjectMembers [ 'userId' ] ) => {
175179 const project = await getHookProjectInfos ( projectId )
180+ const projectStore = dbToObj ( await getProjectStore ( project . id ) )
181+ const hookProject = transformToHookProject ( project , projectStore )
176182 const store = dbToObj ( await getAdminPlugin ( ) )
177183
178184 const member = project . members . find ( m => m . userId === userId )
179185 if ( ! member ) throw new Error ( 'Member not found' )
180186
181187 const memberRoles = project . roles
182188 . filter ( role => member . roleIds . includes ( role . id ) )
183- . map ( role => ( { ...role , permissions : role . permissions . toString ( ) , oidcGroup : role . oidcGroup ?? undefined } ) )
189+ . map ( role => ( {
190+ ...role ,
191+ permissions : role . permissions . toString ( ) ,
192+ oidcGroup : role . oidcGroup ?? undefined ,
193+ project : hookProject ,
194+ } ) )
184195
185196 const payload = {
186197 userId : member . userId ,
@@ -194,10 +205,7 @@ const projectMember = {
194205 lastLogin : member . user . lastLogin ?. toISOString ( ) ,
195206 projectId : project . id ,
196207 roles : memberRoles ,
197- project : {
198- id : project . id ,
199- slug : project . slug ,
200- } ,
208+ project : hookProject ,
201209 }
202210
203211 return hooks . deleteProjectMember . execute ( payload , store )
@@ -209,9 +217,14 @@ const projectRole = {
209217 const role = await getRole ( roleId )
210218 if ( ! role ) throw new Error ( 'Role not found' )
211219
220+ const project = await getHookProjectInfos ( role . projectId )
221+ const projectStore = dbToObj ( await getProjectStore ( role . projectId ) )
222+ const hookProject = transformToHookProject ( project , projectStore )
223+
212224 const rolePayload = {
213225 ...role ,
214226 permissions : role . permissions . toString ( ) ,
227+ project : hookProject ,
215228 }
216229 const store = dbToObj ( await getAdminPlugin ( ) )
217230 return hooks . upsertProjectRole . execute ( rolePayload , store )
@@ -220,9 +233,14 @@ const projectRole = {
220233 const role = await getRole ( roleId )
221234 if ( ! role ) throw new Error ( 'Role not found' )
222235
236+ const project = await getHookProjectInfos ( role . projectId )
237+ const projectStore = dbToObj ( await getProjectStore ( role . projectId ) )
238+ const hookProject = transformToHookProject ( project , projectStore )
239+
223240 const rolePayload = {
224241 ...role ,
225242 permissions : role . permissions . toString ( ) ,
243+ project : hookProject ,
226244 }
227245 const store = dbToObj ( await getAdminPlugin ( ) )
228246 return hooks . deleteProjectRole . execute ( rolePayload , store )
0 commit comments