1: | <?php |
2: | /** |
3: | * This code is licensed under AGPLv3 license or Afterlogic Software License |
4: | * if commercial version of the product was purchased. |
5: | * For full statements of the licenses see LICENSE-AFTERLOGIC and LICENSE-AGPL3 files. |
6: | */ |
7: | |
8: | namespace Aurora\Modules\CpanelIntegrator\Models; |
9: | |
10: | use Aurora\System\Classes\Model; |
11: | use Aurora\Modules\Mail\Models\MailAccount; |
12: | |
13: | /** |
14: | * Aurora\Modules\CpanelIntegrator\Models\Alias |
15: | * |
16: | * @license https://www.gnu.org/licenses/agpl-3.0.html AGPL-3.0 |
17: | * @license https://afterlogic.com/products/common-licensing Afterlogic Software License |
18: | * @copyright Copyright (c) 2023, Afterlogic Corp. |
19: | * @property int $IdUser |
20: | * @property integer $Id |
21: | * @property integer $IdAccount |
22: | * @property string $Email |
23: | * @property string $ForwardTo |
24: | * @property string $FriendlyName |
25: | * @property integer $UseSignature |
26: | * @property string $Signature |
27: | * @property \Illuminate\Support\Carbon|null $CreatedAt |
28: | * @property \Illuminate\Support\Carbon|null $UpdatedAt |
29: | * @property-read mixed $entity_id |
30: | * @method static int count(string $columns = '*') |
31: | * @method static \Illuminate\Database\Eloquent\Builder|\Aurora\Modules\CpanelIntegrator\Models\Alias find(int|string $id, array|string $columns = ['*']) |
32: | * @method static \Illuminate\Database\Eloquent\Builder|\Aurora\Modules\CpanelIntegrator\Models\Alias findOrFail(int|string $id, mixed $id, Closure|array|string $columns = ['*'], Closure $callback = null) |
33: | * @method static \Illuminate\Database\Eloquent\Builder|\Aurora\Modules\CpanelIntegrator\Models\Alias first(array|string $columns = ['*']) |
34: | * @method static \Illuminate\Database\Eloquent\Builder|\Aurora\Modules\CpanelIntegrator\Models\Alias firstWhere(Closure|string|array|\Illuminate\Database\Query\Expression $column, mixed $operator = null, mixed $value = null, string $boolean = 'and') |
35: | * @method static \Illuminate\Database\Eloquent\Builder|Alias newModelQuery() |
36: | * @method static \Illuminate\Database\Eloquent\Builder|Alias newQuery() |
37: | * @method static \Illuminate\Database\Eloquent\Builder|Alias query() |
38: | * @method static \Illuminate\Database\Eloquent\Builder|\Aurora\Modules\CpanelIntegrator\Models\Alias where(Closure|string|array|\Illuminate\Database\Query\Expression $column, mixed $operator = null, mixed $value = null, string $boolean = 'and') |
39: | * @method static \Illuminate\Database\Eloquent\Builder|Alias whereCreatedAt($value) |
40: | * @method static \Illuminate\Database\Eloquent\Builder|Alias whereEmail($value) |
41: | * @method static \Illuminate\Database\Eloquent\Builder|Alias whereForwardTo($value) |
42: | * @method static \Illuminate\Database\Eloquent\Builder|Alias whereFriendlyName($value) |
43: | * @method static \Illuminate\Database\Eloquent\Builder|Alias whereId($value) |
44: | * @method static \Illuminate\Database\Eloquent\Builder|Alias whereIdAccount($value) |
45: | * @method static \Illuminate\Database\Eloquent\Builder|Alias whereIdUser($value) |
46: | * @method static \Illuminate\Database\Eloquent\Builder|\Aurora\Modules\CpanelIntegrator\Models\Alias whereIn(string $column, mixed $values, string $boolean = 'and', bool $not = false) |
47: | * @method static \Illuminate\Database\Eloquent\Builder|Alias whereSignature($value) |
48: | * @method static \Illuminate\Database\Eloquent\Builder|Alias whereUpdatedAt($value) |
49: | * @method static \Illuminate\Database\Eloquent\Builder|Alias whereUseSignature($value) |
50: | * @mixin \Eloquent |
51: | */ |
52: | class Alias extends Model |
53: | { |
54: | protected $table = 'cpanel_aliases'; |
55: | |
56: | protected $foreignModel = MailAccount::class; |
57: | protected $foreignModelIdColumn = 'IdAccount'; // Column that refers to an external table |
58: | |
59: | protected $fillable = [ |
60: | 'Id', |
61: | 'IdUser', |
62: | 'IdAccount', |
63: | 'Email', |
64: | 'ForwardTo', |
65: | 'FriendlyName', |
66: | 'UseSignature', |
67: | 'Signature' |
68: | ]; |
69: | |
70: | protected $appends = [ |
71: | 'EntityId' |
72: | ]; |
73: | |
74: | public function getEntityIdAttribute() |
75: | { |
76: | return $this->Id; |
77: | } |
78: | |
79: | public function __construct(array $attributes = []) |
80: | { |
81: | parent::__construct($attributes); |
82: | $this->Signature = ''; |
83: | } |
84: | } |
85: |