can(Permissions::GAME_NEWS->value); } /** * Get the validation rules that apply to the request. * * @return array|string> */ public function rules(): array { $submitMethod = HttpMethod::tryFrom($this->input(static::SUBMIT_METHOD)); if ($submitMethod === HttpMethod::DELETE) return [ static::SUBMIT_METHOD => ['required', Rule::enum(HttpMethod::class)], ]; return [ static::TITLE => 'required|string', static::DESCRIPTION => 'required|string', static::MESSSAGE_TYPE => ['required', Rule::enum(MessageType::class)], static::FACTION => ['nullable', Rule::enum(Faction::class)], static::REDIRECT_MODE => ['nullable', Rule::enum(GameNewsRedirectMode::class)], static::REDIRECT_ITEM => 'nullable|string', static::REDIRECT_URL => 'nullable|string', static::POP_UP_BACKGROUND => 'nullable|string', static::IN_GAME_BACKGROUND => 'nullable|string', static::IN_GAME_THUMBNAIL => 'nullable|string', static::FROM_DATE => 'date|required', static::TO_DATE => 'date|required', static::DISPLAY_X_TIMES => 'integer|nullable', static::MAX_PLAYER_LEVEL => 'integer|nullable', static::SUBMIT_METHOD => ['required', Rule::enum(HttpMethod::class)], ]; } }