@@ -372,19 +372,24 @@ export class UsersRouter extends ClassesRouter {
372372 user : Parse . Object . fromJSON ( { className : '_User' , objectId : user . objectId } ) ,
373373 installationId : req . info . installationId ,
374374 } ) ;
375- const filteredUserResponse = await rest . get (
376- req . config ,
377- userAuth ,
378- '_User' ,
379- user . objectId ,
380- { } ,
381- req . info . clientSDK ,
382- req . info . context
383- ) ;
384- if ( ! filteredUserResponse . results || filteredUserResponse . results . length === 0 ) {
385- throw new Parse . Error ( Parse . Error . OBJECT_NOT_FOUND , 'User not found.' ) ;
375+ let filteredUser ;
376+ try {
377+ const filteredUserResponse = await rest . get (
378+ req . config ,
379+ userAuth ,
380+ '_User' ,
381+ user . objectId ,
382+ { } ,
383+ req . info . clientSDK ,
384+ req . info . context
385+ ) ;
386+ filteredUser = filteredUserResponse . results ?. [ 0 ] ;
387+ } catch {
388+ // re-fetch may fail for legacy users without ACL; fall through
389+ }
390+ if ( ! filteredUser ) {
391+ filteredUser = user ;
386392 }
387- const filteredUser = filteredUserResponse . results [ 0 ] ;
388393 UsersRouter . removeHiddenProperties ( filteredUser ) ;
389394 filteredUser . sessionToken = user . sessionToken ;
390395 if ( authDataResponse ) {
@@ -466,19 +471,24 @@ export class UsersRouter extends ClassesRouter {
466471 user : Parse . Object . fromJSON ( { className : '_User' , objectId : user . objectId } ) ,
467472 installationId : req . info . installationId ,
468473 } ) ;
469- const filteredUserResponse = await rest . get (
470- req . config ,
471- userAuth ,
472- '_User' ,
473- user . objectId ,
474- { } ,
475- req . info . clientSDK ,
476- req . info . context
477- ) ;
478- if ( ! filteredUserResponse . results || filteredUserResponse . results . length === 0 ) {
479- throw new Parse . Error ( Parse . Error . OBJECT_NOT_FOUND , 'User not found.' ) ;
474+ let filteredUser ;
475+ try {
476+ const filteredUserResponse = await rest . get (
477+ req . config ,
478+ userAuth ,
479+ '_User' ,
480+ user . objectId ,
481+ { } ,
482+ req . info . clientSDK ,
483+ req . info . context
484+ ) ;
485+ filteredUser = filteredUserResponse . results ?. [ 0 ] ;
486+ } catch {
487+ // re-fetch may fail for legacy users without ACL; fall through
488+ }
489+ if ( ! filteredUser ) {
490+ filteredUser = user ;
480491 }
481- const filteredUser = filteredUserResponse . results [ 0 ] ;
482492 UsersRouter . removeHiddenProperties ( filteredUser ) ;
483493 return { response : filteredUser } ;
484494 } )
0 commit comments