From 3851745f5c163b5aaed9f5ad5c04fc2cf2a76c59 Mon Sep 17 00:00:00 2001 From: Sam Poyigi <6567634+sampoyigi@users.noreply.github.com> Date: Fri, 3 Jan 2025 00:33:56 +0000 Subject: [PATCH] chore: add property annotations to models Signed-off-by: Sam Poyigi <6567634+sampoyigi@users.noreply.github.com> --- phpstan-baseline.neon | 140 ---------------------------------- src/Models/AutomationLog.php | 39 ++++++++++ src/Models/AutomationRule.php | 46 ++++++++++- src/Models/RuleAction.php | 32 ++++++++ src/Models/RuleCondition.php | 32 ++++++++ 5 files changed, 147 insertions(+), 142 deletions(-) diff --git a/phpstan-baseline.neon b/phpstan-baseline.neon index 5855e1f..75c57a4 100644 --- a/phpstan-baseline.neon +++ b/phpstan-baseline.neon @@ -45,11 +45,6 @@ parameters: count: 1 path: src/AutomationRules/Actions/SendMailTemplate.php - - - message: "#^Call to an undefined static method Igniter\\\\System\\\\Models\\\\MailTemplate\\:\\:dropdown\\(\\)\\.$#" - count: 1 - path: src/AutomationRules/Actions/SendMailTemplate.php - - message: "#^Call to an undefined static method Igniter\\\\User\\\\Models\\\\Customer\\:\\:whereIsEnabled\\(\\)\\.$#" count: 1 @@ -85,11 +80,6 @@ parameters: count: 1 path: src/Classes/EventManager.php - - - message: "#^Call to an undefined static method Igniter\\\\Flame\\\\Support\\\\Facades\\\\Igniter\\:\\:runningInAdmin\\(\\)\\.$#" - count: 1 - path: src/Classes/EventManager.php - - message: "#^Call to an undefined static method Igniter\\\\Reservation\\\\Models\\\\Reservation\\:\\:where\\(\\)\\.$#" count: 1 @@ -110,11 +100,6 @@ parameters: count: 1 path: src/Extension.php - - - message: "#^Call to an undefined static method Igniter\\\\Flame\\\\Support\\\\Facades\\\\Igniter\\:\\:prunableModel\\(\\)\\.$#" - count: 1 - path: src/Extension.php - - message: "#^Cannot call method hourly\\(\\) on null\\.$#" count: 2 @@ -135,56 +120,11 @@ parameters: count: 1 path: src/Http/Controllers/Automations.php - - - message: "#^Call to an undefined static method Igniter\\\\Admin\\\\Facades\\\\AdminMenu\\:\\:setContext\\(\\)\\.$#" - count: 1 - path: src/Http/Controllers/Automations.php - - message: "#^Access to an undefined property Igniter\\\\Automation\\\\Models\\\\AutomationLog\\:\\:\\$action\\.$#" count: 1 path: src/Models/AutomationLog.php - - - message: "#^Access to an undefined property Igniter\\\\Automation\\\\Models\\\\AutomationLog\\:\\:\\$automation_rule_id\\.$#" - count: 2 - path: src/Models/AutomationLog.php - - - - message: "#^Access to an undefined property Igniter\\\\Automation\\\\Models\\\\AutomationLog\\:\\:\\$created_at\\.$#" - count: 1 - path: src/Models/AutomationLog.php - - - - message: "#^Access to an undefined property Igniter\\\\Automation\\\\Models\\\\AutomationLog\\:\\:\\$exception\\.$#" - count: 1 - path: src/Models/AutomationLog.php - - - - message: "#^Access to an undefined property Igniter\\\\Automation\\\\Models\\\\AutomationLog\\:\\:\\$is_success\\.$#" - count: 2 - path: src/Models/AutomationLog.php - - - - message: "#^Access to an undefined property Igniter\\\\Automation\\\\Models\\\\AutomationLog\\:\\:\\$message\\.$#" - count: 1 - path: src/Models/AutomationLog.php - - - - message: "#^Access to an undefined property Igniter\\\\Automation\\\\Models\\\\AutomationLog\\:\\:\\$params\\.$#" - count: 1 - path: src/Models/AutomationLog.php - - - - message: "#^Access to an undefined property Igniter\\\\Automation\\\\Models\\\\AutomationLog\\:\\:\\$rule_action_id\\.$#" - count: 2 - path: src/Models/AutomationLog.php - - - - message: "#^Access to an undefined property Igniter\\\\Automation\\\\Models\\\\RuleAction\\:\\:\\$automation_rule_id\\.$#" - count: 1 - path: src/Models/AutomationLog.php - - message: "#^Unsafe usage of new static\\(\\)\\.$#" count: 1 @@ -195,97 +135,17 @@ parameters: count: 1 path: src/Models/AutomationRule.php - - - message: "#^Access to an undefined property Igniter\\\\Automation\\\\Models\\\\AutomationRule\\:\\:\\$code\\.$#" - count: 1 - path: src/Models/AutomationRule.php - - message: "#^Access to an undefined property Igniter\\\\Automation\\\\Models\\\\AutomationRule\\:\\:\\$conditions\\.$#" count: 2 path: src/Models/AutomationRule.php - - - message: "#^Access to an undefined property Igniter\\\\Automation\\\\Models\\\\AutomationRule\\:\\:\\$event_class\\.$#" - count: 4 - path: src/Models/AutomationRule.php - - - - message: "#^Access to an undefined property Igniter\\\\Automation\\\\Models\\\\AutomationRule\\:\\:\\$is_custom\\.$#" - count: 1 - path: src/Models/AutomationRule.php - - - - message: "#^Access to an undefined property Igniter\\\\Automation\\\\Models\\\\AutomationRule\\:\\:\\$name\\.$#" - count: 1 - path: src/Models/AutomationRule.php - - - - message: "#^Access to an undefined property Igniter\\\\Automation\\\\Models\\\\AutomationRule\\:\\:\\$status\\.$#" - count: 1 - path: src/Models/AutomationRule.php - - - - message: "#^Access to an undefined property Igniter\\\\Automation\\\\Models\\\\RuleAction\\:\\:\\$automation_rule_id\\.$#" - count: 1 - path: src/Models/AutomationRule.php - - - - message: "#^Access to an undefined property Igniter\\\\Automation\\\\Models\\\\RuleAction\\:\\:\\$class_name\\.$#" - count: 1 - path: src/Models/AutomationRule.php - - - - message: "#^Access to an undefined property Igniter\\\\Automation\\\\Models\\\\RuleAction\\:\\:\\$options\\.$#" - count: 1 - path: src/Models/AutomationRule.php - - - - message: "#^Access to an undefined property Igniter\\\\Automation\\\\Models\\\\RuleCondition\\:\\:\\$automation_rule_id\\.$#" - count: 1 - path: src/Models/AutomationRule.php - - - - message: "#^Access to an undefined property Igniter\\\\Automation\\\\Models\\\\RuleCondition\\:\\:\\$class_name\\.$#" - count: 1 - path: src/Models/AutomationRule.php - - - - message: "#^Access to an undefined property Igniter\\\\Automation\\\\Models\\\\RuleCondition\\:\\:\\$options\\.$#" - count: 1 - path: src/Models/AutomationRule.php - - message: "#^Binary operation \"\\.\" between array and ' \\- ' results in an error\\.$#" count: 1 path: src/Models/AutomationRule.php - - - message: "#^Call to an undefined static method Igniter\\\\Automation\\\\Models\\\\AutomationRule\\:\\:applyStatus\\(\\)\\.$#" - count: 1 - path: src/Models/AutomationRule.php - - message: "#^Call to an undefined static method Igniter\\\\Automation\\\\Models\\\\AutomationRule\\:\\:pluck\\(\\)\\.$#" count: 1 path: src/Models/AutomationRule.php - - - - message: "#^Call to an undefined static method Igniter\\\\Automation\\\\Models\\\\AutomationRule\\:\\:whereCode\\(\\)\\.$#" - count: 1 - path: src/Models/AutomationRule.php - - - - message: "#^Access to an undefined property Igniter\\\\Automation\\\\Models\\\\RuleAction\\:\\:\\$class_name\\.$#" - count: 3 - path: src/Models/RuleAction.php - - - - message: "#^Access to an undefined property Igniter\\\\Automation\\\\Models\\\\RuleAction\\:\\:\\$options\\.$#" - count: 2 - path: src/Models/RuleAction.php - - - - message: "#^Access to an undefined property Igniter\\\\Automation\\\\Models\\\\RuleCondition\\:\\:\\$class_name\\.$#" - count: 3 - path: src/Models/RuleCondition.php diff --git a/src/Models/AutomationLog.php b/src/Models/AutomationLog.php index 9346a25..9678adb 100644 --- a/src/Models/AutomationLog.php +++ b/src/Models/AutomationLog.php @@ -8,6 +8,45 @@ use Illuminate\Database\Eloquent\Prunable; use Throwable; +/** + * + * + * @property int $id + * @property int|null $automation_rule_id + * @property int|null $rule_action_id + * @property bool $is_success + * @property string $message + * @property array|null $params + * @property array|null $exception + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property-read mixed $action_name + * @property-read mixed $created_since + * @property-read mixed $status_name + * @method static \Igniter\Flame\Database\Builder|AutomationLog applyFilters(array $options = []) + * @method static \Igniter\Flame\Database\Builder|AutomationLog applySorts(array $sorts = []) + * @method static \Igniter\Flame\Database\Builder|AutomationLog dropdown(string $column, string $key = null) + * @method static \Igniter\Flame\Database\Builder|AutomationLog like(string $column, string $value, string $side = 'both', string $boolean = 'and') + * @method static \Igniter\Flame\Database\Builder|AutomationLog listFrontEnd(array $options = []) + * @method static \Igniter\Flame\Database\Builder|AutomationLog lists(string $column, string $key = null) + * @method static \Igniter\Flame\Database\Builder|AutomationLog newModelQuery() + * @method static \Igniter\Flame\Database\Builder|AutomationLog newQuery() + * @method static \Igniter\Flame\Database\Builder|AutomationLog orLike(string $column, string $value, string $side = 'both') + * @method static \Igniter\Flame\Database\Builder|AutomationLog orSearch(string $term, string $columns = [], string $mode = 'all') + * @method static \Igniter\Flame\Database\Builder|AutomationLog pluckDates(string $column, string $keyFormat = 'Y-m', string $valueFormat = 'F Y') + * @method static \Igniter\Flame\Database\Builder|AutomationLog query() + * @method static \Igniter\Flame\Database\Builder|AutomationLog search(string $term, string $columns = [], string $mode = 'all') + * @method static \Igniter\Flame\Database\Builder|AutomationLog whereAutomationRuleId($value) + * @method static \Igniter\Flame\Database\Builder|AutomationLog whereCreatedAt($value) + * @method static \Igniter\Flame\Database\Builder|AutomationLog whereException($value) + * @method static \Igniter\Flame\Database\Builder|AutomationLog whereId($value) + * @method static \Igniter\Flame\Database\Builder|AutomationLog whereIsSuccess($value) + * @method static \Igniter\Flame\Database\Builder|AutomationLog whereMessage($value) + * @method static \Igniter\Flame\Database\Builder|AutomationLog whereParams($value) + * @method static \Igniter\Flame\Database\Builder|AutomationLog whereRuleActionId($value) + * @method static \Igniter\Flame\Database\Builder|AutomationLog whereUpdatedAt($value) + * @mixin \Igniter\Flame\Database\Model + */ class AutomationLog extends Model { use Prunable; diff --git a/src/Models/AutomationRule.php b/src/Models/AutomationRule.php index ca3c61a..c0f21b7 100644 --- a/src/Models/AutomationRule.php +++ b/src/Models/AutomationRule.php @@ -12,6 +12,48 @@ use Igniter\Flame\Database\Traits\Validation; use Throwable; +/** + * + * + * @property int $id + * @property string $name + * @property string $code + * @property string $description + * @property string|null $event_class + * @property array|null $config_data + * @property bool $is_custom + * @property bool $status + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property-read mixed $event_description + * @property-read mixed $event_name + * @method static \Igniter\Flame\Database\Builder|AutomationRule applyClass($class) + * @method static \Igniter\Flame\Database\Builder|AutomationRule applyFilters(array $options = []) + * @method static \Igniter\Flame\Database\Builder|AutomationRule applySorts(array $sorts = []) + * @method static \Igniter\Flame\Database\Builder|AutomationRule applyStatus($status = true) + * @method static \Igniter\Flame\Database\Builder|AutomationRule dropdown(string $column, string $key = null) + * @method static \Igniter\Flame\Database\Builder|AutomationRule like(string $column, string $value, string $side = 'both', string $boolean = 'and') + * @method static \Igniter\Flame\Database\Builder|AutomationRule listFrontEnd(array $options = []) + * @method static \Igniter\Flame\Database\Builder|AutomationRule lists(string $column, string $key = null) + * @method static \Igniter\Flame\Database\Builder|AutomationRule newModelQuery() + * @method static \Igniter\Flame\Database\Builder|AutomationRule newQuery() + * @method static \Igniter\Flame\Database\Builder|AutomationRule orLike(string $column, string $value, string $side = 'both') + * @method static \Igniter\Flame\Database\Builder|AutomationRule orSearch(string $term, string $columns = [], string $mode = 'all') + * @method static \Igniter\Flame\Database\Builder|AutomationRule pluckDates(string $column, string $keyFormat = 'Y-m', string $valueFormat = 'F Y') + * @method static \Igniter\Flame\Database\Builder|AutomationRule query() + * @method static \Igniter\Flame\Database\Builder|AutomationRule search(string $term, string $columns = [], string $mode = 'all') + * @method static \Igniter\Flame\Database\Builder|AutomationRule whereCode($value) + * @method static \Igniter\Flame\Database\Builder|AutomationRule whereConfigData($value) + * @method static \Igniter\Flame\Database\Builder|AutomationRule whereCreatedAt($value) + * @method static \Igniter\Flame\Database\Builder|AutomationRule whereDescription($value) + * @method static \Igniter\Flame\Database\Builder|AutomationRule whereEventClass($value) + * @method static \Igniter\Flame\Database\Builder|AutomationRule whereId($value) + * @method static \Igniter\Flame\Database\Builder|AutomationRule whereIsCustom($value) + * @method static \Igniter\Flame\Database\Builder|AutomationRule whereName($value) + * @method static \Igniter\Flame\Database\Builder|AutomationRule whereStatus($value) + * @method static \Igniter\Flame\Database\Builder|AutomationRule whereUpdatedAt($value) + * @mixin \Igniter\Flame\Database\Model + */ class AutomationRule extends Model { use Purgeable; @@ -213,8 +255,8 @@ public static function createFromPreset($code, $preset) } $automation = new self; - $automation->status = 0; - $automation->is_custom = 0; + $automation->status = false; + $automation->is_custom = false; $automation->code = $code; $automation->name = array_get($preset, 'name'); $automation->event_class = array_get($preset, 'event'); diff --git a/src/Models/RuleAction.php b/src/Models/RuleAction.php index 4836f0d..89d70d1 100644 --- a/src/Models/RuleAction.php +++ b/src/Models/RuleAction.php @@ -6,6 +6,38 @@ use Igniter\Flame\Database\Model; use Igniter\Flame\Database\Traits\Validation; +/** + * + * + * @property int $id + * @property int|null $automation_rule_id + * @property string $class_name + * @property array $options + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property-read mixed $description + * @property-read mixed $name + * @method static \Igniter\Flame\Database\Builder|RuleAction applyFilters(array $options = []) + * @method static \Igniter\Flame\Database\Builder|RuleAction applySorts(array $sorts = []) + * @method static \Igniter\Flame\Database\Builder|RuleAction dropdown(string $column, string $key = null) + * @method static \Igniter\Flame\Database\Builder|RuleAction like(string $column, string $value, string $side = 'both', string $boolean = 'and') + * @method static \Igniter\Flame\Database\Builder|RuleAction listFrontEnd(array $options = []) + * @method static \Igniter\Flame\Database\Builder|RuleAction lists(string $column, string $key = null) + * @method static \Igniter\Flame\Database\Builder|RuleAction newModelQuery() + * @method static \Igniter\Flame\Database\Builder|RuleAction newQuery() + * @method static \Igniter\Flame\Database\Builder|RuleAction orLike(string $column, string $value, string $side = 'both') + * @method static \Igniter\Flame\Database\Builder|RuleAction orSearch(string $term, string $columns = [], string $mode = 'all') + * @method static \Igniter\Flame\Database\Builder|RuleAction pluckDates(string $column, string $keyFormat = 'Y-m', string $valueFormat = 'F Y') + * @method static \Igniter\Flame\Database\Builder|RuleAction query() + * @method static \Igniter\Flame\Database\Builder|RuleAction search(string $term, string $columns = [], string $mode = 'all') + * @method static \Igniter\Flame\Database\Builder|RuleAction whereAutomationRuleId($value) + * @method static \Igniter\Flame\Database\Builder|RuleAction whereClassName($value) + * @method static \Igniter\Flame\Database\Builder|RuleAction whereCreatedAt($value) + * @method static \Igniter\Flame\Database\Builder|RuleAction whereId($value) + * @method static \Igniter\Flame\Database\Builder|RuleAction whereOptions($value) + * @method static \Igniter\Flame\Database\Builder|RuleAction whereUpdatedAt($value) + * @mixin \Igniter\Flame\Database\Model + */ class RuleAction extends Model { use Validation; diff --git a/src/Models/RuleCondition.php b/src/Models/RuleCondition.php index ce38394..af6262e 100644 --- a/src/Models/RuleCondition.php +++ b/src/Models/RuleCondition.php @@ -4,6 +4,38 @@ use Igniter\Flame\Database\Model; +/** + * + * + * @property int $id + * @property int|null $automation_rule_id + * @property string $class_name + * @property array $options + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property-read mixed $description + * @property-read mixed $name + * @method static \Igniter\Flame\Database\Builder|RuleCondition applyFilters(array $options = []) + * @method static \Igniter\Flame\Database\Builder|RuleCondition applySorts(array $sorts = []) + * @method static \Igniter\Flame\Database\Builder|RuleCondition dropdown(string $column, string $key = null) + * @method static \Igniter\Flame\Database\Builder|RuleCondition like(string $column, string $value, string $side = 'both', string $boolean = 'and') + * @method static \Igniter\Flame\Database\Builder|RuleCondition listFrontEnd(array $options = []) + * @method static \Igniter\Flame\Database\Builder|RuleCondition lists(string $column, string $key = null) + * @method static \Igniter\Flame\Database\Builder|RuleCondition newModelQuery() + * @method static \Igniter\Flame\Database\Builder|RuleCondition newQuery() + * @method static \Igniter\Flame\Database\Builder|RuleCondition orLike(string $column, string $value, string $side = 'both') + * @method static \Igniter\Flame\Database\Builder|RuleCondition orSearch(string $term, string $columns = [], string $mode = 'all') + * @method static \Igniter\Flame\Database\Builder|RuleCondition pluckDates(string $column, string $keyFormat = 'Y-m', string $valueFormat = 'F Y') + * @method static \Igniter\Flame\Database\Builder|RuleCondition query() + * @method static \Igniter\Flame\Database\Builder|RuleCondition search(string $term, string $columns = [], string $mode = 'all') + * @method static \Igniter\Flame\Database\Builder|RuleCondition whereAutomationRuleId($value) + * @method static \Igniter\Flame\Database\Builder|RuleCondition whereClassName($value) + * @method static \Igniter\Flame\Database\Builder|RuleCondition whereCreatedAt($value) + * @method static \Igniter\Flame\Database\Builder|RuleCondition whereId($value) + * @method static \Igniter\Flame\Database\Builder|RuleCondition whereOptions($value) + * @method static \Igniter\Flame\Database\Builder|RuleCondition whereUpdatedAt($value) + * @mixin \Igniter\Flame\Database\Model + */ class RuleCondition extends Model { /**