Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
n/a
0 / 0
n/a
0 / 0
CRAP
n/a
0 / 0
AuthGroups
n/a
0 / 0
n/a
0 / 0
0
n/a
0 / 0
1<?php
2
3declare(strict_types=1);
4
5/**
6 * This file is part of CodeIgniter Shield.
7 *
8 * (c) CodeIgniter Foundation <admin@codeigniter.com>
9 *
10 * For the full copyright and license information, please view
11 * the LICENSE file that was distributed with this source code.
12 */
13
14namespace Config;
15
16use CodeIgniter\Shield\Config\AuthGroups as ShieldAuthGroups;
17
18class AuthGroups extends ShieldAuthGroups
19{
20    /**
21     * --------------------------------------------------------------------
22     * Default Group
23     * --------------------------------------------------------------------
24     * The group that a newly registered user is added to.
25     */
26    public string $defaultGroup = 'parent';
27
28    /**
29     * --------------------------------------------------------------------
30     * Groups
31     * --------------------------------------------------------------------
32     * An associative array of the available groups in the system, where the keys
33     * are the group names and the values are arrays of the group info.
34     *
35     * Whatever value you assign as the key will be used to refer to the group
36     * when using functions such as:
37     *      $user->addGroup('superadmin');
38     *
39     * @var array<string, array<string, string>>
40     *
41     * @see https://codeigniter4.github.io/shield/quick_start_guide/using_authorization/#change-available-groups for more info
42     */
43    public array $groups = [
44        'admin' => [
45            'title'       => 'Admin',
46            'description' => 'Administratori cu acces complet la platforma.',
47        ],
48        'coach' => [
49            'title'       => 'Coach',
50            'description' => 'Antrenori cu acces la copiii si grupele proprii.',
51        ],
52        'parent' => [
53            'title'       => 'Parent',
54            'description' => 'Rol pregatit pentru extindere ulterioara.',
55        ],
56    ];
57
58    /**
59     * --------------------------------------------------------------------
60     * Permissions
61     * --------------------------------------------------------------------
62     * The available permissions in the system.
63     *
64     * If a permission is not listed here it cannot be used.
65     */
66    public array $permissions = [
67        'admin.access'        => 'Can access the sites admin area',
68        'dashboard.view'      => 'Can access the dashboard',
69        'children.view'       => 'Can access children area',
70        'attendance.manage'   => 'Can operate attendance',
71        'evaluations.manage'  => 'Can manage evaluations',
72    ];
73
74    /**
75     * --------------------------------------------------------------------
76     * Permissions Matrix
77     * --------------------------------------------------------------------
78     * Maps permissions to groups.
79     *
80     * This defines group-level permissions.
81     */
82    public array $matrix = [
83        'admin' => [
84            'admin.access',
85            'dashboard.view',
86            'children.view',
87            'attendance.manage',
88            'evaluations.manage',
89        ],
90        'coach' => [
91            'dashboard.view',
92            'children.view',
93            'attendance.manage',
94            'evaluations.manage',
95        ],
96        'parent' => [],
97    ];
98}