You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

81 lines
1.6 KiB

<?php
namespace core\entities;
use core\entities\queries\ModuleRecordQuery;
use yii\db\ActiveRecord;
/**
* This is the model class for table "modules".
*
* @property int $id
* @property string $name
* @property string $class
* @property string $type
* @property int $active
* @property int $system
*/
class ModuleRecord extends ActiveRecord
{
const STATUS_ENABLED = 1;
const STATUS_DISABLED = 0;
const SYSTEM_YES = 1;
const SYSTEM_NO = 0;
public string $description;
/**
* @inheritdoc
*/
public static function tableName(): string
{
return '{{%modules}}';
}
/**
* @inheritdoc
*/
public function rules(): array
{
return [
[['name', 'class', 'type'], 'required'],
[['name', 'class', 'type'], 'string', 'max' => 255],
['active', 'integer'],
[['name'], 'unique'],
];
}
/**
* @inheritdoc
*/
public function attributeLabels(): array
{
return [
'id' => 'ID',
'name' => 'Name',
'class' => 'Class',
'type' => 'Type',
];
}
public function isEnabled(): bool
{
return $this->active == $this::STATUS_ENABLED;
}
public function isDisabled(): bool
{
return $this->active == $this::STATUS_DISABLED;
}
public function isSystem(): bool
{
return $this->system == $this::SYSTEM_YES;
}
public static function find(): ModuleRecordQuery
{
return new ModuleRecordQuery(static::class);
}
}