dstpabuaran.com/app/Http/Requests/Admin/Settings/UpdateMarketplaceRequest.php

109 lines
5.1 KiB
PHP

<?php
namespace App\Http\Requests\Admin\Settings;
use Illuminate\Foundation\Http\FormRequest;
class UpdateMarketplaceRequest extends FormRequest
{
public function authorize(): bool
{
return $this->user()->can('settings.update_marketplace');
}
private function feeRuleRules(): array
{
return ['required', 'array'];
}
private function feeFieldRules(string $prefix): array
{
return [
"{$prefix}.base" => ['required', 'string', 'in:per_transaksi,per_produk'],
"{$prefix}.type" => ['required', 'string', 'in:flat,persentase'],
"{$prefix}.value" => ['required', 'numeric', 'min:0'],
];
}
public function rules(): array
{
$keys = [
'tiktok_shop_platform_commission',
'tiktok_shop_logistics_service_fee',
'tiktok_shop_dynamic_commission',
'tiktok_shop_order_processing_fee',
'tiktok_shop_affiliate',
'tiktok_shop_pre_order_service_fee',
'shopee_admin_fee',
'shopee_program_fee',
'shopee_shipping_savings',
'shopee_premium',
'shopee_service_fee',
'shopee_order_processing_fee',
'shopee_ams_commission_fee',
'shopee_pre_order',
'shopee_live_extra',
];
$rules = [];
foreach ($keys as $key) {
$rules[$key] = $this->feeRuleRules();
$rules = array_merge($rules, $this->feeFieldRules($key));
}
return $rules;
}
public function attributes(): array
{
return [
'tiktok_shop_platform_commission.base' => 'dasar komisi platform tiktok shop',
'tiktok_shop_platform_commission.type' => 'tipe komisi platform tiktok shop',
'tiktok_shop_platform_commission.value' => 'nilai komisi platform tiktok shop',
'tiktok_shop_logistics_service_fee.base' => 'dasar layanan logistik tiktok shop',
'tiktok_shop_logistics_service_fee.type' => 'tipe layanan logistik tiktok shop',
'tiktok_shop_logistics_service_fee.value' => 'nilai layanan logistik tiktok shop',
'tiktok_shop_dynamic_commission.base' => 'dasar komisi dinamis tiktok shop',
'tiktok_shop_dynamic_commission.type' => 'tipe komisi dinamis tiktok shop',
'tiktok_shop_dynamic_commission.value' => 'nilai komisi dinamis tiktok shop',
'tiktok_shop_order_processing_fee.base' => 'dasar pemrosesan pesanan tiktok shop',
'tiktok_shop_order_processing_fee.type' => 'tipe pemrosesan pesanan tiktok shop',
'tiktok_shop_order_processing_fee.value' => 'nilai pemrosesan pesanan tiktok shop',
'tiktok_shop_affiliate.base' => 'dasar affiliate tiktok shop',
'tiktok_shop_affiliate.type' => 'tipe affiliate tiktok shop',
'tiktok_shop_affiliate.value' => 'nilai affiliate tiktok shop',
'tiktok_shop_pre_order_service_fee.base' => 'dasar layanan po tiktok shop',
'tiktok_shop_pre_order_service_fee.type' => 'tipe layanan po tiktok shop',
'tiktok_shop_pre_order_service_fee.value' => 'nilai layanan po tiktok shop',
'shopee_admin_fee.base' => 'dasar biaya administrasi shopee',
'shopee_admin_fee.type' => 'tipe biaya administrasi shopee',
'shopee_admin_fee.value' => 'nilai biaya administrasi shopee',
'shopee_program_fee.base' => 'dasar biaya program shopee',
'shopee_program_fee.type' => 'tipe biaya program shopee',
'shopee_program_fee.value' => 'nilai biaya program shopee',
'shopee_shipping_savings.base' => 'dasar hemat biaya kirim shopee',
'shopee_shipping_savings.type' => 'tipe hemat biaya kirim shopee',
'shopee_shipping_savings.value' => 'nilai hemat biaya kirim shopee',
'shopee_premium.base' => 'dasar premi shopee',
'shopee_premium.type' => 'tipe premi shopee',
'shopee_premium.value' => 'nilai premi shopee',
'shopee_service_fee.base' => 'dasar biaya layanan shopee',
'shopee_service_fee.type' => 'tipe biaya layanan shopee',
'shopee_service_fee.value' => 'nilai biaya layanan shopee',
'shopee_order_processing_fee.base' => 'dasar biaya proses pesanan shopee',
'shopee_order_processing_fee.type' => 'tipe biaya proses pesanan shopee',
'shopee_order_processing_fee.value' => 'nilai biaya proses pesanan shopee',
'shopee_ams_commission_fee.base' => 'dasar biaya komisi ams shopee',
'shopee_ams_commission_fee.type' => 'tipe biaya komisi ams shopee',
'shopee_ams_commission_fee.value' => 'nilai biaya komisi ams shopee',
'shopee_pre_order.base' => 'dasar po shopee',
'shopee_pre_order.type' => 'tipe po shopee',
'shopee_pre_order.value' => 'nilai po shopee',
'shopee_live_extra.base' => 'dasar live extra shopee',
'shopee_live_extra.type' => 'tipe live extra shopee',
'shopee_live_extra.value' => 'nilai live extra shopee',
];
}
}