Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
37 / 37
100.00% covered (success)
100.00%
2 / 2
CRAP
100.00% covered (success)
100.00%
1 / 1
AipromptsTable
100.00% covered (success)
100.00%
37 / 37
100.00% covered (success)
100.00%
2 / 2
2
100.00% covered (success)
100.00%
1 / 1
 initialize
100.00% covered (success)
100.00%
4 / 4
100.00% covered (success)
100.00%
1 / 1
1
 validationDefault
100.00% covered (success)
100.00%
33 / 33
100.00% covered (success)
100.00%
1 / 1
1
1<?php
2declare(strict_types=1);
3
4namespace App\Model\Table;
5
6use Cake\ORM\Table;
7use Cake\Validation\Validator;
8
9/**
10 * Aiprompts Model
11 *
12 * @method \App\Model\Entity\Aiprompt newEmptyEntity()
13 * @method \App\Model\Entity\Aiprompt newEntity(array $data, array $options = [])
14 * @method array<\App\Model\Entity\Aiprompt> newEntities(array $data, array $options = [])
15 * @method \App\Model\Entity\Aiprompt get(mixed $primaryKey, array|string $finder = 'all', \Psr\SimpleCache\CacheInterface|string|null $cache = null, \Closure|string|null $cacheKey = null, mixed ...$args)
16 * @method \App\Model\Entity\Aiprompt findOrCreate($search, ?callable $callback = null, array $options = [])
17 * @method \App\Model\Entity\Aiprompt patchEntity(\Cake\Datasource\EntityInterface $entity, array $data, array $options = [])
18 * @method array<\App\Model\Entity\Aiprompt> patchEntities(iterable $entities, array $data, array $options = [])
19 * @method \App\Model\Entity\Aiprompt|false save(\Cake\Datasource\EntityInterface $entity, array $options = [])
20 * @method \App\Model\Entity\Aiprompt saveOrFail(\Cake\Datasource\EntityInterface $entity, array $options = [])
21 * @method iterable<\App\Model\Entity\Aiprompt>|\Cake\Datasource\ResultSetInterface<\App\Model\Entity\Aiprompt>|false saveMany(iterable $entities, array $options = [])
22 * @method iterable<\App\Model\Entity\Aiprompt>|\Cake\Datasource\ResultSetInterface<\App\Model\Entity\Aiprompt> saveManyOrFail(iterable $entities, array $options = [])
23 * @method iterable<\App\Model\Entity\Aiprompt>|\Cake\Datasource\ResultSetInterface<\App\Model\Entity\Aiprompt>|false deleteMany(iterable $entities, array $options = [])
24 * @method iterable<\App\Model\Entity\Aiprompt>|\Cake\Datasource\ResultSetInterface<\App\Model\Entity\Aiprompt> deleteManyOrFail(iterable $entities, array $options = [])
25 */
26class AipromptsTable extends Table
27{
28    /**
29     * Initialize method
30     *
31     * @param array<string, mixed> $config The configuration for the Table.
32     * @return void
33     */
34    public function initialize(array $config): void
35    {
36        parent::initialize($config);
37
38        $this->setTable('aiprompts');
39        $this->setDisplayField('task_type');
40        $this->setPrimaryKey('id');
41    }
42
43    /**
44     * Default validation rules.
45     *
46     * @param \Cake\Validation\Validator $validator Validator instance.
47     * @return \Cake\Validation\Validator
48     */
49    public function validationDefault(Validator $validator): Validator
50    {
51        $validator
52            ->scalar('task_type')
53            ->maxLength('task_type', 50)
54            ->requirePresence('task_type', 'create')
55            ->notEmptyString('task_type');
56
57        $validator
58            ->scalar('system_prompt')
59            ->requirePresence('system_prompt', 'create')
60            ->notEmptyString('system_prompt');
61
62        $validator
63            ->scalar('model')
64            ->maxLength('model', 100)
65            ->requirePresence('model', 'create')
66            ->notEmptyString('model');
67
68        $validator
69            ->scalar('openrouter_model')
70            ->maxLength('openrouter_model', 100)
71            ->allowEmptyString('openrouter_model');
72
73        $validator
74            ->integer('max_tokens')
75            ->requirePresence('max_tokens', 'create')
76            ->notEmptyString('max_tokens');
77
78        $validator
79            ->numeric('temperature')
80            ->requirePresence('temperature', 'create')
81            ->notEmptyString('temperature');
82
83        $validator
84            ->dateTime('created')
85            ->notEmptyDateTime('created');
86
87        $validator
88            ->dateTime('modified')
89            ->notEmptyDateTime('modified');
90
91        return $validator;
92    }
93}