Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
n/a
0 / 0
n/a
0 / 0
CRAP
n/a
0 / 0
TaskAttributeValueMapper
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\Tasks\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\Tasks\Models;
16
17use phpOMS\DataStorage\Database\Mapper\DataMapperFactory;
18
19/**
20 * Task mapper class.
21 *
22 * @package Modules\Tasks\Models
23 * @license OMS License 2.0
24 * @link    https://jingga.app
25 * @since   1.0.0
26 *
27 * @template T of TaskAttributeValue
28 * @extends DataMapperFactory<T>
29 */
30final class TaskAttributeValueMapper 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        'task_attr_value_id'            => ['name' => 'task_attr_value_id',       'type' => 'int',      'internal' => 'id'],
40        'task_attr_value_default'       => ['name' => 'task_attr_value_default',  'type' => 'bool',     'internal' => 'isDefault'],
41        'task_attr_value_valueStr'      => ['name' => 'task_attr_value_valueStr', 'type' => 'string',   'internal' => 'valueStr'],
42        'task_attr_value_valueInt'      => ['name' => 'task_attr_value_valueInt', 'type' => 'int',      'internal' => 'valueInt'],
43        'task_attr_value_valueDec'      => ['name' => 'task_attr_value_valueDec', 'type' => 'float',    'internal' => 'valueDec'],
44        'task_attr_value_valueDat'      => ['name' => 'task_attr_value_valueDat', 'type' => 'DateTime', 'internal' => 'valueDat'],
45        'task_attr_value_unit'          => ['name' => 'task_attr_value_unit', 'type' => 'string', 'internal' => 'unit'],
46    ];
47
48    /**
49     * Has many relation.
50     *
51     * @var array<string, array{mapper:class-string, table:string, self?:?string, external?:?string, column?:string}>
52     * @since 1.0.0
53     */
54    public const HAS_MANY = [
55        'l11n' => [
56            'mapper'   => TaskAttributeValueL11nMapper::class,
57            'table'    => 'task_attr_value_l11n',
58            'self'     => 'task_attr_value_l11n_value',
59            'column'   => 'content',
60            'external' => null,
61        ],
62    ];
63
64    /**
65     * Primary table.
66     *
67     * @var string
68     * @since 1.0.0
69     */
70    public const TABLE = 'task_attr_value';
71
72    /**
73     * Primary field name.
74     *
75     * @var string
76     * @since 1.0.0
77     */
78    public const PRIMARYFIELD = 'task_attr_value_id';
79}