@@ -60,7 +60,6 @@ const CippAppPermissionBuilder = ({
6060 } = useGenericGetRequestQuery ( {
6161 path : 'api/ExecServicePrincipals' ,
6262 } )
63-
6463 const [ createServicePrincipal , createResult ] = useLazyGenericGetRequestQuery ( )
6564
6665 const removeServicePrincipal = ( appId ) => {
@@ -407,9 +406,17 @@ const CippAppPermissionBuilder = ({
407406 ] )
408407
409408 const ApiPermissionRow = ( { servicePrincipal = null } ) => {
409+ const {
410+ data : servicePrincipalData = [ ] ,
411+ isFetching : spFetching ,
412+ isSuccess : spIdSuccess ,
413+ } = useGenericGetRequestQuery ( {
414+ path : 'api/ExecServicePrincipals?Id=' + servicePrincipal . id ,
415+ } )
416+
410417 return (
411418 < >
412- { spSuccess && servicePrincipal !== null && (
419+ { spSuccess && servicePrincipal !== null && spIdSuccess && (
413420 < CRow >
414421 < CCol xl = { 12 } >
415422 < CRow >
@@ -457,7 +464,7 @@ const CippAppPermissionBuilder = ({
457464 '.applicationPermissions'
458465 }
459466 label = "Application Permissions"
460- values = { servicePrincipal ?. appRoles
467+ values = { servicePrincipalData ?. Results ?. appRoles
461468 ?. filter ( ( role ) => {
462469 return newPermissions ?. Permissions [
463470 servicePrincipal . appId
@@ -524,8 +531,9 @@ const CippAppPermissionBuilder = ({
524531 } ,
525532 {
526533 selector : ( row ) =>
527- servicePrincipal . appRoles . find ( ( role ) => role . id === row . id )
528- . description ,
534+ servicePrincipalData ?. Results ?. appRoles . find (
535+ ( role ) => role . id === row . id ,
536+ ) . description ,
529537 name : 'Description' ,
530538 cell : cellGenericFormatter ( { wrap : true } ) ,
531539 maxWidth : '60%' ,
@@ -577,7 +585,7 @@ const CippAppPermissionBuilder = ({
577585 </ CRow >
578586 < CRow >
579587 < CCol xl = { 12 } >
580- { servicePrincipal ?. publishedPermissionScopes ?. length == 0 && (
588+ { servicePrincipalData ?. Results ?. publishedPermissionScopes ?. length == 0 && (
581589 < CCallout color = "warning" >
582590 < FontAwesomeIcon icon = "exclamation-triangle" className = "me-2" />
583591 No Published Delegated Permissions found.
@@ -594,8 +602,8 @@ const CippAppPermissionBuilder = ({
594602 }
595603 label = "Delegated Permissions"
596604 values = {
597- servicePrincipal ?. publishedPermissionScopes ?. length > 0
598- ? servicePrincipal ?. publishedPermissionScopes
605+ servicePrincipalData ?. Results ?. publishedPermissionScopes ?. length > 0
606+ ? servicePrincipalData ?. Results ?. publishedPermissionScopes
599607 . filter ( ( scopes ) => {
600608 return newPermissions ?. Permissions [
601609 servicePrincipal . appId
@@ -664,7 +672,7 @@ const CippAppPermissionBuilder = ({
664672 } ,
665673 {
666674 selector : ( row ) =>
667- servicePrincipal . publishedPermissionScopes . find (
675+ servicePrincipalData ?. Results ? .publishedPermissionScopes . find (
668676 ( scope ) => scope ?. id === row ?. id ,
669677 ) ?. userConsentDescription ?? 'No Description' ,
670678 name : 'Description' ,
@@ -921,6 +929,9 @@ const CippAppPermissionBuilder = ({
921929 Object . keys (
922930 newPermissions ?. MissingPermissions [ perm ] ,
923931 ) . map ( ( type ) => {
932+ if ( ! updatedPermissions . Permissions [ perm ] [ type ] ) {
933+ updatedPermissions . Permissions [ perm ] [ type ] = [ ]
934+ }
924935 newPermissions ?. MissingPermissions [ perm ] [ type ] . map (
925936 ( p ) => {
926937 updatedPermissions . Permissions [ perm ] [ type ] . push ( p )
0 commit comments