66use Yuges \Groupable \Models \Group ;
77use Illuminate \Support \Collection ;
88use Yuges \Groupable \Models \Groupable ;
9+ use Yuges \Groupable \Interfaces \Grouperator ;
910use Yuges \Groupable \Observers \GroupObserver ;
1011use Yuges \Groupable \Actions \SyncGroupsAction ;
1112use Yuges \Groupable \Actions \AttachGroupsAction ;
@@ -55,6 +56,11 @@ public static function getGroupableKeyType(mixed $default = null): KeyType
5556 return self ::get ('models.groupable.key ' , $ default );
5657 }
5758
59+ public static function getGroupableRelationName (mixed $ default = null ): string
60+ {
61+ return self ::get ('models.groupable.relation.name ' , $ default );
62+ }
63+
5864 /** @return Collection<array-key, class-string<Groupable>> */
5965 public static function getGroupableAllowedClasses (mixed $ default = null ): Collection
6066 {
@@ -66,7 +72,36 @@ public static function getGroupableAllowedClasses(mixed $default = null): Collec
6672 /** @return class-string<GroupableObserver> */
6773 public static function getGroupableObserverClass (mixed $ default = null ): string
6874 {
69- return self ::get ('models.Groupable.observer ' , $ default );
75+ return self ::get ('models.groupable.observer ' , $ default );
76+ }
77+
78+ public static function getGrouperatorKeyType (mixed $ default = null ): KeyType
79+ {
80+ return self ::get ('models.grouperator.key ' , $ default );
81+ }
82+
83+ public static function getGrouperatorRelationName (mixed $ default = null ): string
84+ {
85+ return self ::get ('models.grouperator.relation.name ' , $ default );
86+ }
87+
88+ /** @return class-string<Grouperator> */
89+ public static function getGrouperatorDefaultClass (mixed $ default = null ): string
90+ {
91+ return self ::get ('models.grouperator.default.class ' , $ default );
92+ }
93+
94+ /** @return Collection<array-key, class-string<Grouperator>> */
95+ public static function getGrouperatorAllowedClasses (mixed $ default = null ): Collection
96+ {
97+ return Collection::make (
98+ self ::get ('models.grouperator.allowed.classes ' , $ default )
99+ );
100+ }
101+
102+ public static function getPermissionsAnonymous (mixed $ default = false ): bool
103+ {
104+ return self ::get ('permissions.anonymous ' , $ default );
70105 }
71106
72107 public static function getSyncGroupsAction (
0 commit comments