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\Core\Models;
9:
10: use Aurora\System\Classes\Model;
11:
12: /**
13: * The Core Channel class.
14: *
15: * @license https://www.gnu.org/licenses/agpl-3.0.html AGPL-3.0
16: * @license https://afterlogic.com/products/common-licensing Afterlogic Software License
17: * @copyright Copyright (c) 2023, Afterlogic Corp.
18: * @property int $Id Object primary key
19: * @property string $Login Channel login
20: * @property string $Password Channel password
21: * @property string $Description Channel description
22: * @property array $Properties Custom properties for use by other modules
23: * @property \Illuminate\Support\Carbon|null $CreatedAt
24: * @property \Illuminate\Support\Carbon|null $UpdatedAt
25: * @property-read mixed $entity_id
26: * @method static \Illuminate\Database\Eloquent\Builder|\Aurora\Modules\Core\Models\Channel firstWhere(Closure|string|array|\Illuminate\Database\Query\Expression $column, mixed $operator = null, mixed $value = null, string $boolean = 'and')
27: * @method static \Illuminate\Database\Eloquent\Builder|Channel newModelQuery()
28: * @method static \Illuminate\Database\Eloquent\Builder|Channel newQuery()
29: * @method static \Illuminate\Database\Eloquent\Builder|Channel query()
30: * @method static \Illuminate\Database\Eloquent\Builder|\Aurora\Modules\Core\Models\Channel where(Closure|string|array|\Illuminate\Database\Query\Expression $column, mixed $operator = null, mixed $value = null, string $boolean = 'and')
31: * @method static \Illuminate\Database\Eloquent\Builder|Channel whereCreatedAt($value)
32: * @method static \Illuminate\Database\Eloquent\Builder|Channel whereDescription($value)
33: * @method static \Illuminate\Database\Eloquent\Builder|Channel whereId($value)
34: * @method static \Illuminate\Database\Eloquent\Builder|\Aurora\Modules\Core\Models\Channel whereIn(string $column, mixed $values, string $boolean = 'and', bool $not = false)
35: * @method static \Illuminate\Database\Eloquent\Builder|Channel whereLogin($value)
36: * @method static \Illuminate\Database\Eloquent\Builder|Channel wherePassword($value)
37: * @method static \Illuminate\Database\Eloquent\Builder|Channel whereProperties($value)
38: * @method static \Illuminate\Database\Eloquent\Builder|Channel whereUpdatedAt($value)
39: * @method static \Illuminate\Database\Eloquent\Builder|\Aurora\Modules\Core\Models\Channel find(int|string $id, array|string $columns = ['*'])
40: * @method static int count(string $columns = '*')
41: * @method static \Illuminate\Database\Eloquent\Builder|\Aurora\Modules\Core\Models\Channel findOrFail(int|string $id, mixed $id, Closure|array|string $columns = ['*'], Closure $callback = null)
42: * @method static \Illuminate\Database\Eloquent\Builder|\Aurora\Modules\Core\Models\Channel first(array|string $columns = ['*'])
43: * @mixin \Eloquent
44: */
45: class Channel extends Model
46: {
47: protected $table = 'core_channels';
48: protected $moduleName = 'Core';
49:
50: /**
51: * The attributes that are mass assignable.
52: *
53: * @var array
54: */
55: protected $fillable = [
56: 'Id',
57: 'Login',
58: 'Password',
59: 'Description',
60: 'Properties'
61: ];
62:
63: public $timestamps = [
64: 'UpdatedAt',
65: 'CreatedAt',
66: ];
67:
68: /**
69: * The attributes that should be hidden for arrays.
70: *
71: * @var array
72: */
73: protected $hidden = [
74: ];
75:
76: protected $casts = [
77: 'Properties' => 'array',
78: ];
79:
80: protected $attributes = [
81: ];
82: }
83: