Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
n/a
0 / 0
n/a
0 / 0
CRAP
n/a
0 / 0
AccountPermissionMapper
n/a
0 / 0
n/a
0 / 0
0
n/a
0 / 0
1<?php
2/**
3 * Jingga
4 *
5 * PHP Version 8.1
6 *
7 * @package   Modules\Admin\Models
8 * @copyright Dennis Eichhorn
9 * @license   OMS License 2.0
10 * @version   1.0.0
11 * @link      https://jingga.app
12 */
13declare(strict_types=1);
14
15namespace Modules\Admin\Models;
16
17use phpOMS\DataStorage\Database\Mapper\DataMapperFactory;
18
19/**
20 * Account permission mapper class.
21 *
22 * @package Modules\Admin\Models
23 * @license OMS License 2.0
24 * @link    https://jingga.app
25 * @since   1.0.0
26 *
27 * @template T of AccountPermission
28 * @extends DataMapperFactory<T>
29 */
30final class AccountPermissionMapper extends DataMapperFactory
31{
32    /**
33     * Columns.
34     *
35     * @var array<string, array{name:string, type:string, internal:string, autocomplete?:bool, readonly?:bool, writeonly?:bool, annotations?:array}>
36     * @since 1.0.0
37     */
38    public const COLUMNS = [
39        'account_permission_id'                => ['name' => 'account_permission_id',         'type' => 'int',    'internal' => 'id'],
40        'account_permission_account'           => ['name' => 'account_permission_account',    'type' => 'int',    'internal' => 'account'],
41        'account_permission_unit'              => ['name' => 'account_permission_unit',       'type' => 'int',    'internal' => 'unit'],
42        'account_permission_app'               => ['name' => 'account_permission_app',        'type' => 'int', 'internal' => 'app'],
43        'account_permission_module'            => ['name' => 'account_permission_module',     'type' => 'string', 'internal' => 'module'],
44        'account_permission_from'              => ['name' => 'account_permission_from',       'type' => 'string',    'internal' => 'from'],
45        'account_permission_category'          => ['name' => 'account_permission_category',       'type' => 'int',    'internal' => 'category'],
46        'account_permission_element'           => ['name' => 'account_permission_element',    'type' => 'int',    'internal' => 'element'],
47        'account_permission_component'         => ['name' => 'account_permission_component',  'type' => 'int',    'internal' => 'component'],
48        'account_permission_hasread'           => ['name' => 'account_permission_hasread', 'type' => 'bool',    'internal' => 'hasRead'],
49        'account_permission_hascreate'         => ['name' => 'account_permission_hascreate', 'type' => 'bool',    'internal' => 'hasCreate'],
50        'account_permission_defaultcperm'      => ['name' => 'account_permission_defaultcperm', 'type' => 'string',    'internal' => 'defaultCPermissions'],
51        'account_permission_hasmodify'         => ['name' => 'account_permission_hasmodify', 'type' => 'bool',    'internal' => 'hasModify'],
52        'account_permission_hasdelete'         => ['name' => 'account_permission_hasdelete', 'type' => 'bool',    'internal' => 'hasDelete'],
53        'account_permission_haspermission'     => ['name' => 'account_permission_haspermission', 'type' => 'bool',    'internal' => 'hasPermission'],
54        'account_permission_defaultpperm'      => ['name' => 'account_permission_defaultpperm', 'type' => 'string',    'internal' => 'defaultPPermissions'],
55    ];
56
57    /**
58     * Model to use by the mapper.
59     *
60     * @var class-string<T>
61     * @since 1.0.0
62     */
63    public const MODEL = AccountPermission::class;
64
65    /**
66     * Primary table.
67     *
68     * @var string
69     * @since 1.0.0
70     */
71    public const TABLE = 'account_permission';
72
73    /**
74     * Primary field name.
75     *
76     * @var string
77     * @since 1.0.0
78     */
79    public const PRIMARYFIELD = 'account_permission_id';
80}