Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
12 / 12
100.00% covered (success)
100.00%
1 / 1
CRAP
100.00% covered (success)
100.00%
1 / 1
ChannelSettingModel
100.00% covered (success)
100.00%
12 / 12
100.00% covered (success)
100.00%
1 / 1
2
100.00% covered (success)
100.00%
1 / 1
 getChannelFlags
100.00% covered (success)
100.00%
12 / 12
100.00% covered (success)
100.00%
1 / 1
2
1<?php
2
3namespace App\Modules\ChannelModule\Models;
4
5use CodeIgniter\Model;
6use App\Modules\ChannelModule\Entities\ChannelSettingEntity;
7
8class ChannelSettingModel extends Model
9{
10    protected $table      = 'channel_setting';
11    protected $primaryKey = 'id';
12
13    protected $allowedFields = [
14
15        'sms_enabled',
16        'whatsapp_enabled',
17        'email_enabled',
18        'default_sms_provider',
19        'default_whatsapp_provider',
20        'default_email_provider',
21    ];
22
23    protected $useTimestamps = true;
24    protected $returnType     = ChannelSettingEntity::class;
25
26
27    public function getChannelFlags(): array
28{
29    $row = $this->first();
30
31    if (!$row) {
32        return [
33            'sms'      => 0,
34            'whatsapp' => 0,
35            'email'    => 0,
36        ];
37    }
38
39    return [
40        'sms'      => (int) $row->sms_enabled,
41        'whatsapp' => (int) $row->whatsapp_enabled,
42        'email'    => (int) $row->email_enabled,
43    ];
44}
45    
46}