mirror of
				https://github.com/v2board/v2board.git
				synced 2025-10-31 01:11:46 +08:00 
			
		
		
		
	optimization: validated
This commit is contained in:
		| @@ -121,7 +121,7 @@ class ConfigController extends Controller | ||||
|         $data = $request->input(); | ||||
|         $array = \Config::get('v2board'); | ||||
|         foreach ($data as $k => $v) { | ||||
|             if (!in_array($k, array_keys(ConfigSave::RULES))) { | ||||
|             if (!in_array($k, array_keys($request->validated()))) { | ||||
|                 abort(500, '参数' . $k . '不在规则内,禁止修改'); | ||||
|             } | ||||
|             $array[$k] = $v; | ||||
|   | ||||
| @@ -23,7 +23,7 @@ class CouponController extends Controller | ||||
|  | ||||
|     public function save(CouponSave $request) | ||||
|     { | ||||
|         $params = $request->only(array_keys(CouponSave::RULES)); | ||||
|         $params = $request->validated(); | ||||
|         if (isset($params['limit_plan_ids'])) { | ||||
|             $params['limit_plan_ids'] = json_encode($params['limit_plan_ids']); | ||||
|         } | ||||
|   | ||||
| @@ -42,7 +42,7 @@ class PlanController extends Controller | ||||
|  | ||||
|     public function save(PlanSave $request) | ||||
|     { | ||||
|         $params = $request->only(array_keys(PlanSave::RULES)); | ||||
|         $params = $request->validated(); | ||||
|         if ($request->input('id')) { | ||||
|             $plan = Plan::find($request->input('id')); | ||||
|             if (!$plan) { | ||||
|   | ||||
| @@ -37,7 +37,7 @@ class TrojanController extends Controller | ||||
|  | ||||
|     public function save(ServerTrojanSave $request) | ||||
|     { | ||||
|         $params = $request->only(array_keys(ServerTrojanSave::RULES)); | ||||
|         $params = $request->validated(); | ||||
|         $params['group_id'] = json_encode($params['group_id']); | ||||
|         if (isset($params['tags'])) { | ||||
|             $params['tags'] = json_encode($params['tags']); | ||||
|   | ||||
| @@ -37,7 +37,7 @@ class V2rayController extends Controller | ||||
|  | ||||
|     public function save(ServerV2raySave $request) | ||||
|     { | ||||
|         $params = $request->only(array_keys(ServerV2raySave::RULES)); | ||||
|         $params = $request->validated(); | ||||
|         $params['group_id'] = json_encode($params['group_id']); | ||||
|         if (isset($params['tags'])) { | ||||
|             $params['tags'] = json_encode($params['tags']); | ||||
|   | ||||
| @@ -20,7 +20,7 @@ class TutorialController extends Controller | ||||
|  | ||||
|     public function save(TutorialSave $request) | ||||
|     { | ||||
|         $params = $request->only(array_keys(TutorialSave::RULES)); | ||||
|         $params = $request->validated(); | ||||
|  | ||||
|         if (!$request->input('id')) { | ||||
|             if (!Tutorial::create($params)) { | ||||
|   | ||||
| @@ -53,7 +53,7 @@ class UserController extends Controller | ||||
|  | ||||
|     public function update(UserUpdate $request) | ||||
|     { | ||||
|         $params = $request->only(array_keys(UserUpdate::RULES)); | ||||
|         $params = $request->validated(); | ||||
|         $user = User::find($request->input('id')); | ||||
|         if (!$user) { | ||||
|             abort(500, '用户不存在'); | ||||
|   | ||||
| @@ -6,75 +6,6 @@ use Illuminate\Foundation\Http\FormRequest; | ||||
|  | ||||
| class ConfigSave extends FormRequest | ||||
| { | ||||
|     CONST RULES = [ | ||||
|         // invite & commission | ||||
|         'safe_mode_enable' => 'in:0,1', | ||||
|         'invite_force' => 'in:0,1', | ||||
|         'invite_commission' => 'integer', | ||||
|         'invite_gen_limit' => 'integer', | ||||
|         'invite_never_expire' => 'in:0,1', | ||||
|         'commission_first_time_enable' => 'in:0,1', | ||||
|         'commission_auto_check_enable' => 'in:0,1', | ||||
|         // site | ||||
|         'stop_register' => 'in:0,1', | ||||
|         'email_verify' => 'in:0,1', | ||||
|         'app_name' => '', | ||||
|         'app_description' => '', | ||||
|         'app_url' => 'nullable|url', | ||||
|         'subscribe_url' => 'nullable|url', | ||||
|         'try_out_enable' => 'in:0,1', | ||||
|         'try_out_plan_id' => 'integer', | ||||
|         'try_out_hour' => 'numeric', | ||||
|         'email_whitelist_enable' => 'in:0,1', | ||||
|         'email_whitelist_suffix' => '', | ||||
|         'email_gmail_limit_enable' => 'in:0,1', | ||||
|         // subscribe | ||||
|         'plan_change_enable' => 'in:0,1', | ||||
|         'reset_traffic_method' => 'in:0,1', | ||||
|         'renew_reset_traffic_enable' => 'in:0,1', | ||||
|         // server | ||||
|         'server_token' => 'nullable|min:16', | ||||
|         'server_license' => 'nullable', | ||||
|         'server_log_level' => 'nullable|in:debug,info,warning,error,none', | ||||
|         // alipay | ||||
|         'alipay_enable' => 'in:0,1', | ||||
|         'alipay_appid' => 'nullable|integer|min:16', | ||||
|         'alipay_pubkey' => 'max:2048', | ||||
|         'alipay_privkey' => 'max:2048', | ||||
|         // stripe | ||||
|         'stripe_alipay_enable' => 'in:0,1', | ||||
|         'stripe_wepay_enable' => 'in:0,1', | ||||
|         'stripe_card_enable' => 'in:0,1', | ||||
|         'stripe_sk_live' => '', | ||||
|         'stripe_pk_live' => '', | ||||
|         'stripe_webhook_key' => '', | ||||
|         'stripe_currency' => 'in:hkd,usd,sgd,eur,gbp,jpy', | ||||
|         // bitpayx | ||||
|         'bitpayx_name' => '', | ||||
|         'bitpayx_enable' => 'in:0,1', | ||||
|         'bitpayx_appsecret' => '', | ||||
|         // paytaro | ||||
|         'paytaro_name' => '', | ||||
|         'paytaro_enable' => 'in:0,1', | ||||
|         'paytaro_app_id' => '', | ||||
|         'paytaro_app_secret' => '', | ||||
|         // frontend | ||||
|         'frontend_theme_sidebar' => 'in:dark,light', | ||||
|         'frontend_theme_header' => 'in:dark,light', | ||||
|         'frontend_theme_color' => 'in:default,darkblue,black', | ||||
|         'frontend_background_url' => 'nullable|url', | ||||
|         // tutorial | ||||
|         'apple_id' => 'email', | ||||
|         'apple_id_password' => '', | ||||
|         // email | ||||
|         'email_template' => '', | ||||
|         // telegram | ||||
|         'telegram_bot_enable' => 'in:0,1', | ||||
|         'telegram_bot_token' => '', | ||||
|         'telegram_discuss_id' => '', | ||||
|         'telegram_channel_id' => '' | ||||
|     ]; | ||||
|  | ||||
|     /** | ||||
|      * Get the validation rules that apply to the request. | ||||
|      * | ||||
| @@ -82,7 +13,74 @@ class ConfigSave extends FormRequest | ||||
|      */ | ||||
|     public function rules() | ||||
|     { | ||||
|         return self::RULES; | ||||
|         return [ | ||||
|             // invite & commission | ||||
|             'safe_mode_enable' => 'in:0,1', | ||||
|             'invite_force' => 'in:0,1', | ||||
|             'invite_commission' => 'integer', | ||||
|             'invite_gen_limit' => 'integer', | ||||
|             'invite_never_expire' => 'in:0,1', | ||||
|             'commission_first_time_enable' => 'in:0,1', | ||||
|             'commission_auto_check_enable' => 'in:0,1', | ||||
|             // site | ||||
|             'stop_register' => 'in:0,1', | ||||
|             'email_verify' => 'in:0,1', | ||||
|             'app_name' => '', | ||||
|             'app_description' => '', | ||||
|             'app_url' => 'nullable|url', | ||||
|             'subscribe_url' => 'nullable|url', | ||||
|             'try_out_enable' => 'in:0,1', | ||||
|             'try_out_plan_id' => 'integer', | ||||
|             'try_out_hour' => 'numeric', | ||||
|             'email_whitelist_enable' => 'in:0,1', | ||||
|             'email_whitelist_suffix' => '', | ||||
|             'email_gmail_limit_enable' => 'in:0,1', | ||||
|             // subscribe | ||||
|             'plan_change_enable' => 'in:0,1', | ||||
|             'reset_traffic_method' => 'in:0,1', | ||||
|             'renew_reset_traffic_enable' => 'in:0,1', | ||||
|             // server | ||||
|             'server_token' => 'nullable|min:16', | ||||
|             'server_license' => 'nullable', | ||||
|             'server_log_level' => 'nullable|in:debug,info,warning,error,none', | ||||
|             // alipay | ||||
|             'alipay_enable' => 'in:0,1', | ||||
|             'alipay_appid' => 'nullable|integer|min:16', | ||||
|             'alipay_pubkey' => 'max:2048', | ||||
|             'alipay_privkey' => 'max:2048', | ||||
|             // stripe | ||||
|             'stripe_alipay_enable' => 'in:0,1', | ||||
|             'stripe_wepay_enable' => 'in:0,1', | ||||
|             'stripe_card_enable' => 'in:0,1', | ||||
|             'stripe_sk_live' => '', | ||||
|             'stripe_pk_live' => '', | ||||
|             'stripe_webhook_key' => '', | ||||
|             'stripe_currency' => 'in:hkd,usd,sgd,eur,gbp,jpy', | ||||
|             // bitpayx | ||||
|             'bitpayx_name' => '', | ||||
|             'bitpayx_enable' => 'in:0,1', | ||||
|             'bitpayx_appsecret' => '', | ||||
|             // paytaro | ||||
|             'paytaro_name' => '', | ||||
|             'paytaro_enable' => 'in:0,1', | ||||
|             'paytaro_app_id' => '', | ||||
|             'paytaro_app_secret' => '', | ||||
|             // frontend | ||||
|             'frontend_theme_sidebar' => 'in:dark,light', | ||||
|             'frontend_theme_header' => 'in:dark,light', | ||||
|             'frontend_theme_color' => 'in:default,darkblue,black', | ||||
|             'frontend_background_url' => 'nullable|url', | ||||
|             // tutorial | ||||
|             'apple_id' => 'email', | ||||
|             'apple_id_password' => '', | ||||
|             // email | ||||
|             'email_template' => '', | ||||
|             // telegram | ||||
|             'telegram_bot_enable' => 'in:0,1', | ||||
|             'telegram_bot_token' => '', | ||||
|             'telegram_discuss_id' => '', | ||||
|             'telegram_channel_id' => '' | ||||
|         ]; | ||||
|     } | ||||
|  | ||||
|     public function messages() | ||||
|   | ||||
| @@ -6,16 +6,6 @@ use Illuminate\Foundation\Http\FormRequest; | ||||
|  | ||||
| class CouponSave extends FormRequest | ||||
| { | ||||
|     const RULES = [ | ||||
|         'name' => 'required', | ||||
|         'type' => 'required|in:1,2', | ||||
|         'value' => 'required|integer', | ||||
|         'started_at' => 'required|integer', | ||||
|         'ended_at' => 'required|integer', | ||||
|         'limit_use' => 'nullable|integer', | ||||
|         'limit_plan_ids' => 'nullable|array', | ||||
|         'code' => '' | ||||
|     ]; | ||||
|     /** | ||||
|      * Get the validation rules that apply to the request. | ||||
|      * | ||||
| @@ -23,7 +13,16 @@ class CouponSave extends FormRequest | ||||
|      */ | ||||
|     public function rules() | ||||
|     { | ||||
|         return self::RULES; | ||||
|         return [ | ||||
|             'name' => 'required', | ||||
|             'type' => 'required|in:1,2', | ||||
|             'value' => 'required|integer', | ||||
|             'started_at' => 'required|integer', | ||||
|             'ended_at' => 'required|integer', | ||||
|             'limit_use' => 'nullable|integer', | ||||
|             'limit_plan_ids' => 'nullable|array', | ||||
|             'code' => '' | ||||
|         ]; | ||||
|     } | ||||
|  | ||||
|     public function messages() | ||||
|   | ||||
| @@ -6,18 +6,6 @@ use Illuminate\Foundation\Http\FormRequest; | ||||
|  | ||||
| class PlanSave extends FormRequest | ||||
| { | ||||
|     CONST RULES = [ | ||||
|         'name' => 'required', | ||||
|         'content' => '', | ||||
|         'group_id' => 'required', | ||||
|         'transfer_enable' => 'required', | ||||
|         'month_price' => 'nullable|integer', | ||||
|         'quarter_price' => 'nullable|integer', | ||||
|         'half_year_price' => 'nullable|integer', | ||||
|         'year_price' => 'nullable|integer', | ||||
|         'onetime_price' => 'nullable|integer', | ||||
|         'reset_price' => 'nullable|integer' | ||||
|     ]; | ||||
|     /** | ||||
|      * Get the validation rules that apply to the request. | ||||
|      * | ||||
| @@ -25,7 +13,18 @@ class PlanSave extends FormRequest | ||||
|      */ | ||||
|     public function rules() | ||||
|     { | ||||
|         return self::RULES; | ||||
|         return [ | ||||
|             'name' => 'required', | ||||
|             'content' => '', | ||||
|             'group_id' => 'required', | ||||
|             'transfer_enable' => 'required', | ||||
|             'month_price' => 'nullable|integer', | ||||
|             'quarter_price' => 'nullable|integer', | ||||
|             'half_year_price' => 'nullable|integer', | ||||
|             'year_price' => 'nullable|integer', | ||||
|             'onetime_price' => 'nullable|integer', | ||||
|             'reset_price' => 'nullable|integer' | ||||
|         ]; | ||||
|     } | ||||
|  | ||||
|     public function messages() | ||||
|   | ||||
| @@ -6,19 +6,6 @@ use Illuminate\Foundation\Http\FormRequest; | ||||
|  | ||||
| class ServerTrojanSave extends FormRequest | ||||
| { | ||||
|     CONST RULES = [ | ||||
|         'show' => '', | ||||
|         'name' => 'required', | ||||
|         'group_id' => 'required|array', | ||||
|         'parent_id' => 'nullable|integer', | ||||
|         'host' => 'required', | ||||
|         'port' => 'required', | ||||
|         'server_port' => 'required', | ||||
|         'allow_insecure' => 'nullable|in:0,1', | ||||
|         'server_name' => 'nullable', | ||||
|         'tags' => 'nullable|array', | ||||
|         'rate' => 'required|numeric' | ||||
|     ]; | ||||
|     /** | ||||
|      * Get the validation rules that apply to the request. | ||||
|      * | ||||
| @@ -26,7 +13,19 @@ class ServerTrojanSave extends FormRequest | ||||
|      */ | ||||
|     public function rules() | ||||
|     { | ||||
|         return self::RULES; | ||||
|         return [ | ||||
|             'show' => '', | ||||
|             'name' => 'required', | ||||
|             'group_id' => 'required|array', | ||||
|             'parent_id' => 'nullable|integer', | ||||
|             'host' => 'required', | ||||
|             'port' => 'required', | ||||
|             'server_port' => 'required', | ||||
|             'allow_insecure' => 'nullable|in:0,1', | ||||
|             'server_name' => 'nullable', | ||||
|             'tags' => 'nullable|array', | ||||
|             'rate' => 'required|numeric' | ||||
|         ]; | ||||
|     } | ||||
|  | ||||
|     public function messages() | ||||
|   | ||||
| @@ -6,23 +6,6 @@ use Illuminate\Foundation\Http\FormRequest; | ||||
|  | ||||
| class ServerV2raySave extends FormRequest | ||||
| { | ||||
|     CONST RULES = [ | ||||
|         'show' => '', | ||||
|         'name' => 'required', | ||||
|         'group_id' => 'required|array', | ||||
|         'parent_id' => 'nullable|integer', | ||||
|         'host' => 'required', | ||||
|         'port' => 'required', | ||||
|         'server_port' => 'required', | ||||
|         'tls' => 'required', | ||||
|         'tags' => 'nullable|array', | ||||
|         'rate' => 'required|numeric', | ||||
|         'network' => 'required|in:tcp,kcp,ws,http,domainsocket,quic', | ||||
|         'networkSettings' => '', | ||||
|         'ruleSettings' => '', | ||||
|         'tlsSettings' => '', | ||||
|         'dnsSettings' => '' | ||||
|     ]; | ||||
|     /** | ||||
|      * Get the validation rules that apply to the request. | ||||
|      * | ||||
| @@ -30,7 +13,23 @@ class ServerV2raySave extends FormRequest | ||||
|      */ | ||||
|     public function rules() | ||||
|     { | ||||
|         return self::RULES; | ||||
|         return [ | ||||
|             'show' => '', | ||||
|             'name' => 'required', | ||||
|             'group_id' => 'required|array', | ||||
|             'parent_id' => 'nullable|integer', | ||||
|             'host' => 'required', | ||||
|             'port' => 'required', | ||||
|             'server_port' => 'required', | ||||
|             'tls' => 'required', | ||||
|             'tags' => 'nullable|array', | ||||
|             'rate' => 'required|numeric', | ||||
|             'network' => 'required|in:tcp,kcp,ws,http,domainsocket,quic', | ||||
|             'networkSettings' => '', | ||||
|             'ruleSettings' => '', | ||||
|             'tlsSettings' => '', | ||||
|             'dnsSettings' => '' | ||||
|         ]; | ||||
|     } | ||||
|  | ||||
|     public function messages() | ||||
|   | ||||
| @@ -6,12 +6,6 @@ use Illuminate\Foundation\Http\FormRequest; | ||||
|  | ||||
| class TutorialSave extends FormRequest | ||||
| { | ||||
|     CONST RULES = [ | ||||
|         'title' => 'required', | ||||
|         // 1:windows 2:macos 3:ios 4:android 5:linux 6:router | ||||
|         'category_id' => 'required|in:1,2,3,4,5,6', | ||||
|         'steps' => 'required' | ||||
|     ]; | ||||
|     /** | ||||
|      * Get the validation rules that apply to the request. | ||||
|      * | ||||
| @@ -19,7 +13,12 @@ class TutorialSave extends FormRequest | ||||
|      */ | ||||
|     public function rules() | ||||
|     { | ||||
|         return self::RULES; | ||||
|         return [ | ||||
|             'title' => 'required', | ||||
|             // 1:windows 2:macos 3:ios 4:android 5:linux 6:router | ||||
|             'category_id' => 'required|in:1,2,3,4,5,6', | ||||
|             'steps' => 'required' | ||||
|         ]; | ||||
|     } | ||||
|  | ||||
|     public function messages() | ||||
|   | ||||
| @@ -6,21 +6,6 @@ use Illuminate\Foundation\Http\FormRequest; | ||||
|  | ||||
| class UserUpdate extends FormRequest | ||||
| { | ||||
|     CONST RULES = [ | ||||
|         'email' => 'required|email', | ||||
|         'password' => 'nullable', | ||||
|         'transfer_enable' => 'numeric', | ||||
|         'expired_at' => 'nullable|integer', | ||||
|         'banned' => 'required|in:0,1', | ||||
|         'plan_id' => 'nullable|integer', | ||||
|         'commission_rate' => 'nullable|integer|min:0|max:100', | ||||
|         'discount' => 'nullable|integer|min:0|max:100', | ||||
|         'is_admin' => 'required|in:0,1', | ||||
|         'u' => 'integer', | ||||
|         'd' => 'integer', | ||||
|         'balance' => 'integer', | ||||
|         'commission_balance' => 'integer' | ||||
|     ]; | ||||
|     /** | ||||
|      * Get the validation rules that apply to the request. | ||||
|      * | ||||
| @@ -28,7 +13,21 @@ class UserUpdate extends FormRequest | ||||
|      */ | ||||
|     public function rules() | ||||
|     { | ||||
|         return self::RULES; | ||||
|         return [ | ||||
|             'email' => 'required|email', | ||||
|             'password' => 'nullable', | ||||
|             'transfer_enable' => 'numeric', | ||||
|             'expired_at' => 'nullable|integer', | ||||
|             'banned' => 'required|in:0,1', | ||||
|             'plan_id' => 'nullable|integer', | ||||
|             'commission_rate' => 'nullable|integer|min:0|max:100', | ||||
|             'discount' => 'nullable|integer|min:0|max:100', | ||||
|             'is_admin' => 'required|in:0,1', | ||||
|             'u' => 'integer', | ||||
|             'd' => 'integer', | ||||
|             'balance' => 'integer', | ||||
|             'commission_balance' => 'integer' | ||||
|         ]; | ||||
|     } | ||||
|  | ||||
|     public function messages() | ||||
|   | ||||
		Reference in New Issue
	
	Block a user