@@ -591,7 +591,7 @@ class Auth {
591
591
] . includes ( path )
592
592
) {
593
593
return query . authorize ( ( { user } ) =>
594
- user . permissions ! . includes ( `insert:${ slug } ` )
594
+ user ? .permissions ? .includes ( `insert:${ slug } ` )
595
595
)
596
596
}
597
597
@@ -602,7 +602,7 @@ class Auth {
602
602
] . includes ( path )
603
603
) {
604
604
return query . authorize ( ( { user } ) =>
605
- user . permissions ! . includes ( `delete:${ slug } ` )
605
+ user ? .permissions ? .includes ( `delete:${ slug } ` )
606
606
)
607
607
}
608
608
@@ -613,19 +613,19 @@ class Auth {
613
613
] . includes ( path )
614
614
) {
615
615
return query . authorize ( ( { user } ) =>
616
- user . permissions ! . includes ( `update:${ slug } ` )
616
+ user ? .permissions ? .includes ( `update:${ slug } ` )
617
617
)
618
618
}
619
619
620
620
if ( path === plural ) {
621
621
return query . authorize ( ( { user } ) =>
622
- user . permissions ! . includes ( `fetch:${ slug } ` )
622
+ user ? .permissions ? .includes ( `fetch:${ slug } ` )
623
623
)
624
624
}
625
625
626
626
if ( path === singular ) {
627
627
return query . authorize ( ( { user } ) =>
628
- user . permissions ! . includes ( `show:${ slug } ` )
628
+ user ? .permissions ? .includes ( `show:${ slug } ` )
629
629
)
630
630
}
631
631
}
@@ -702,7 +702,7 @@ class Auth {
702
702
internal
703
703
) {
704
704
return route . authorize ( ( { user } ) =>
705
- user . permissions ! . includes (
705
+ user ? .permissions ? .includes (
706
706
`insert:${ slugSingular } `
707
707
)
708
708
)
@@ -714,7 +714,7 @@ class Auth {
714
714
internal
715
715
) {
716
716
return route . authorize ( ( { user } ) =>
717
- user . permissions ! . includes (
717
+ user ? .permissions ? .includes (
718
718
`fetch:${ slugSingular } `
719
719
)
720
720
)
@@ -726,7 +726,7 @@ class Auth {
726
726
internal
727
727
) {
728
728
return route . authorize ( ( { user } ) =>
729
- user . permissions ! . includes (
729
+ user ? .permissions ? .includes (
730
730
`show:${ slugSingular } `
731
731
)
732
732
)
@@ -741,7 +741,7 @@ class Auth {
741
741
internal
742
742
) {
743
743
return route . authorize ( ( { user } ) =>
744
- user . permissions ! . includes (
744
+ user ? .permissions ? .includes (
745
745
`update:${ slugSingular } `
746
746
)
747
747
)
@@ -756,7 +756,7 @@ class Auth {
756
756
internal
757
757
) {
758
758
return route . authorize ( ( { user } ) =>
759
- user . permissions ! . includes (
759
+ user ? .permissions ! . includes (
760
760
`delete:${ slugSingular } `
761
761
)
762
762
)
@@ -1689,21 +1689,18 @@ class Auth {
1689
1689
slug : 'public'
1690
1690
} ,
1691
1691
{
1692
- populate : [ this . resources . permission . data . snakeCaseNamePlural ] ,
1692
+ populate : [ 'permissions' ] ,
1693
1693
refresh : true
1694
1694
}
1695
1695
)
1696
1696
1697
1697
if ( ! user ) {
1698
1698
ctx . user = {
1699
1699
public : true ,
1700
- [ this . resources . role . data . snakeCaseNamePlural ] : [
1700
+ roles : [
1701
1701
publicRole as UserRole
1702
1702
] ,
1703
- [ this . resources . permission . data
1704
- . snakeCaseNamePlural ] : publicRole [
1705
- this . resources . permission . data . snakeCaseNamePlural
1706
- ]
1703
+ permissions : publicRole . permissions
1707
1704
. toJSON ( )
1708
1705
. map ( ( permission : any ) => permission . slug )
1709
1706
} as any
@@ -1761,6 +1758,13 @@ class Auth {
1761
1758
}
1762
1759
)
1763
1760
1761
+ if ( this . config . rolesAndPermissions ) {
1762
+ user . permissions = user . roles . reduce ( ( acc : string [ ] , role : UserRole ) => [
1763
+ ...acc ,
1764
+ ...role . permissions . map ( p => p . slug )
1765
+ ] , [ ] )
1766
+ }
1767
+
1764
1768
ctx . user = user
1765
1769
} catch ( error ) { }
1766
1770
}
0 commit comments