File tree Expand file tree Collapse file tree 3 files changed +8
-4
lines changed
routes/(authenticated)/projects/[id=idNumber] Expand file tree Collapse file tree 3 files changed +8
-4
lines changed Original file line number Diff line number Diff line change @@ -39,7 +39,9 @@ declare global {
3939 OwnerId : number ;
4040 OrganizationId : number ;
4141 GroupId : number ;
42- }
42+ } ,
43+ // leave blank to use security userId
44+ userId ?: number
4345 ) : this | never ;
4446 requireMemberOfAnyOrg ( ) : this | never ;
4547 requireNothing ( ) : this | never ;
Original file line number Diff line number Diff line change @@ -268,13 +268,14 @@ export class Security {
268268
269269 requireProjectClaimable (
270270 userGroups : { GroupId : number } [ ] ,
271- project ?: { OwnerId : number ; OrganizationId : number ; GroupId : number } | null
271+ project ?: { OwnerId : number ; OrganizationId : number ; GroupId : number } | null ,
272+ userId ?: number
272273 ) {
273274 this . requireAuthenticated ( ) ;
274275 if ( ! project ) {
275276 error ( 404 , 'Project not found' ) ;
276277 }
277- if ( this . userId === project . OwnerId ) {
278+ if ( ( userId ?? this . userId ) === project . OwnerId ) {
278279 error ( 400 , 'Project owner cannot claim own project' ) ;
279280 }
280281 if ( ! this . isSuperAdmin && ! userGroups . some ( ( ug ) => ug . GroupId === project . GroupId ) ) {
Original file line number Diff line number Diff line change @@ -330,7 +330,8 @@ export const actions = {
330330 if ( project . OwnerId !== form . data . owner ) {
331331 event . locals . security . requireProjectClaimable (
332332 await userGroupsForOrg ( form . data . owner , project . OrganizationId ) ,
333- project
333+ project ,
334+ form . data . owner
334335 ) ;
335336 if ( ! QueueConnected ( ) ) return error ( 503 ) ;
336337 }
You can’t perform that action at this time.
0 commit comments