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\Mail\Models; |
9: | |
10: | /** |
11: | * Aurora\Modules\Mail\Models\Fetcher |
12: | * |
13: | * @property integer $Id |
14: | * @property integer $IdUser |
15: | * @property integer $IdAccount |
16: | * @property integer $IsEnabled |
17: | * @property string $IncomingServer |
18: | * @property integer $IncomingPort |
19: | * @property integer $IncomingMailSecurity |
20: | * @property string $IncomingLogin |
21: | * @property string $IncomingPassword |
22: | * @property integer $LeaveMessagesOnServer |
23: | * @property string $Folder |
24: | * @property integer $IsOutgoingEnabled |
25: | * @property string $Name |
26: | * @property string $Email |
27: | * @property string $OutgoingServer |
28: | * @property integer $OutgoingPort |
29: | * @property integer $OutgoingMailSecurity |
30: | * @property integer $OutgoingUseAuth |
31: | * @property integer $UseSignature |
32: | * @property string $Signature |
33: | * @property integer $IsLocked |
34: | * @property integer $CheckInterval |
35: | * @property integer $CheckLastTime |
36: | * @property \Illuminate\Support\Carbon|null $CreatedAt |
37: | * @property \Illuminate\Support\Carbon|null $UpdatedAt |
38: | * @property-read mixed $entity_id |
39: | * @method static int count(string $columns = '*') |
40: | * @method static \Illuminate\Database\Eloquent\Builder|\Aurora\Modules\Mail\Models\Fetcher find(int|string $id, array|string $columns = ['*']) |
41: | * @method static \Illuminate\Database\Eloquent\Builder|\Aurora\Modules\Mail\Models\Fetcher findOrFail(int|string $id, mixed $id, Closure|array|string $columns = ['*'], Closure $callback = null) |
42: | * @method static \Illuminate\Database\Eloquent\Builder|\Aurora\Modules\Mail\Models\Fetcher first(array|string $columns = ['*']) |
43: | * @method static \Illuminate\Database\Eloquent\Builder|\Aurora\Modules\Mail\Models\Fetcher firstWhere(Closure|string|array|\Illuminate\Database\Query\Expression $column, mixed $operator = null, mixed $value = null, string $boolean = 'and') |
44: | * @method static \Illuminate\Database\Eloquent\Builder|Fetcher newModelQuery() |
45: | * @method static \Illuminate\Database\Eloquent\Builder|Fetcher newQuery() |
46: | * @method static \Illuminate\Database\Eloquent\Builder|Fetcher query() |
47: | * @method static \Illuminate\Database\Eloquent\Builder|\Aurora\Modules\Mail\Models\Fetcher where(Closure|string|array|\Illuminate\Database\Query\Expression $column, mixed $operator = null, mixed $value = null, string $boolean = 'and') |
48: | * @method static \Illuminate\Database\Eloquent\Builder|Fetcher whereCheckInterval($value) |
49: | * @method static \Illuminate\Database\Eloquent\Builder|Fetcher whereCheckLastTime($value) |
50: | * @method static \Illuminate\Database\Eloquent\Builder|Fetcher whereCreatedAt($value) |
51: | * @method static \Illuminate\Database\Eloquent\Builder|Fetcher whereEmail($value) |
52: | * @method static \Illuminate\Database\Eloquent\Builder|Fetcher whereFolder($value) |
53: | * @method static \Illuminate\Database\Eloquent\Builder|Fetcher whereId($value) |
54: | * @method static \Illuminate\Database\Eloquent\Builder|Fetcher whereIdAccount($value) |
55: | * @method static \Illuminate\Database\Eloquent\Builder|Fetcher whereIdUser($value) |
56: | * @method static \Illuminate\Database\Eloquent\Builder|\Aurora\Modules\Mail\Models\Fetcher whereIn(string $column, mixed $values, string $boolean = 'and', bool $not = false) |
57: | * @method static \Illuminate\Database\Eloquent\Builder|Fetcher whereIncomingLogin($value) |
58: | * @method static \Illuminate\Database\Eloquent\Builder|Fetcher whereIncomingMailSecurity($value) |
59: | * @method static \Illuminate\Database\Eloquent\Builder|Fetcher whereIncomingPassword($value) |
60: | * @method static \Illuminate\Database\Eloquent\Builder|Fetcher whereIncomingPort($value) |
61: | * @method static \Illuminate\Database\Eloquent\Builder|Fetcher whereIncomingServer($value) |
62: | * @method static \Illuminate\Database\Eloquent\Builder|Fetcher whereIsEnabled($value) |
63: | * @method static \Illuminate\Database\Eloquent\Builder|Fetcher whereIsLocked($value) |
64: | * @method static \Illuminate\Database\Eloquent\Builder|Fetcher whereIsOutgoingEnabled($value) |
65: | * @method static \Illuminate\Database\Eloquent\Builder|Fetcher whereLeaveMessagesOnServer($value) |
66: | * @method static \Illuminate\Database\Eloquent\Builder|Fetcher whereName($value) |
67: | * @method static \Illuminate\Database\Eloquent\Builder|Fetcher whereOutgoingMailSecurity($value) |
68: | * @method static \Illuminate\Database\Eloquent\Builder|Fetcher whereOutgoingPort($value) |
69: | * @method static \Illuminate\Database\Eloquent\Builder|Fetcher whereOutgoingServer($value) |
70: | * @method static \Illuminate\Database\Eloquent\Builder|Fetcher whereOutgoingUseAuth($value) |
71: | * @method static \Illuminate\Database\Eloquent\Builder|Fetcher whereSignature($value) |
72: | * @method static \Illuminate\Database\Eloquent\Builder|Fetcher whereUpdatedAt($value) |
73: | * @method static \Illuminate\Database\Eloquent\Builder|Fetcher whereUseSignature($value) |
74: | * @mixin \Eloquent |
75: | */ |
76: | class Fetcher extends \Aurora\System\Classes\Model |
77: | { |
78: | protected $table = 'mail_fetchers'; |
79: | protected $fillable = [ |
80: | 'Id', |
81: | 'IdUser', |
82: | 'IdAccount', |
83: | |
84: | 'IsEnabled', |
85: | 'IncomingServer', |
86: | 'IncomingPort', |
87: | 'IncomingMailSecurity', |
88: | 'IncomingLogin', |
89: | 'IncomingPassword', |
90: | 'LeaveMessagesOnServer', |
91: | 'Folder', |
92: | |
93: | 'IsOutgoingEnabled', |
94: | 'Name', |
95: | 'Email', |
96: | 'OutgoingServer', |
97: | 'OutgoingPort', |
98: | 'OutgoingMailSecurity', |
99: | 'OutgoingUseAuth', |
100: | |
101: | 'UseSignature', |
102: | 'Signature', |
103: | |
104: | 'IsLocked', |
105: | 'CheckInterval', |
106: | 'CheckLastTime' |
107: | ]; |
108: | |
109: | protected $casts = [ |
110: | 'Properties' => 'array', |
111: | 'IncomingPassword' => \Aurora\System\Casts\Encrypt::class |
112: | ]; |
113: | |
114: | protected $appends = [ |
115: | 'EntityId' |
116: | ]; |
117: | |
118: | public function getEntityIdAttribute() |
119: | { |
120: | return $this->Id; |
121: | } |
122: | |
123: | public function toResponseArray() |
124: | { |
125: | $aResponse = parent::toResponseArray(); |
126: | $aResponse['IncomingUseSsl'] = $aResponse['IncomingMailSecurity'] === \MailSo\Net\Enumerations\ConnectionSecurityType::SSL; |
127: | unset($aResponse['IncomingMailSecurity']); |
128: | $aResponse['OutgoingUseSsl'] = $aResponse['OutgoingMailSecurity'] === \MailSo\Net\Enumerations\ConnectionSecurityType::SSL; |
129: | unset($aResponse['OutgoingMailSecurity']); |
130: | unset($aResponse['IncomingPassword']); |
131: | return $aResponse; |
132: | } |
133: | } |
134: |