Skip to content

Commit

Permalink
breaking: remit seeder optimized
Browse files Browse the repository at this point in the history
  • Loading branch information
hafijul233 committed Feb 4, 2024
1 parent 6100763 commit 6d0c408
Showing 1 changed file with 27 additions and 14 deletions.
41 changes: 27 additions & 14 deletions src/Seeders/RemitSeeder.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
namespace Fintech\Remit\Seeders;

use Fintech\Core\Facades\Core;
use Fintech\Remit\Facades\Remit;
use Illuminate\Database\Seeder;

class RemitSeeder extends Seeder
Expand All @@ -22,9 +21,14 @@ public function run(): void
unset($entry['serviceTypeChild']);
}

$serviceTypeModel = \Fintech\Business\Facades\Business::serviceType()->create($entry);
$findServiceTypeModel = \Fintech\Business\Facades\Business::serviceType()->list(['service_type_slug' => $entry['service_type_slug']])->first();
if ($findServiceTypeModel) {
$serviceTypeModel = \Fintech\Business\Facades\Business::serviceType()->update($findServiceTypeModel->id, $entry);
} else {
$serviceTypeModel = \Fintech\Business\Facades\Business::serviceType()->create($entry);
}

if (! empty($serviceTypeChild)) {
if (!empty($serviceTypeChild)) {
array_walk($serviceTypeChild, function ($item) use (&$serviceTypeModel) {
$item['service_type_parent_id'] = $serviceTypeModel->id;
\Fintech\Business\Facades\Business::serviceType()->create($item);
Expand Down Expand Up @@ -54,29 +58,38 @@ public function run(): void

private function serviceType(): array
{
$image_svg = __DIR__.'/../../resources/img/service_type/logo_svg/';
$image_png = __DIR__.'/../../resources/img/service_type/logo_png/';
$image_svg = __DIR__ . '/../../resources/img/service_type/logo_svg/';
$image_png = __DIR__ . '/../../resources/img/service_type/logo_png/';

return [
['service_type_parent_id' => null, 'service_type_name' => 'Money Transfer', 'service_type_slug' => 'money_transfer', 'logo_svg' => 'data:image/svg+xml;base64,'.base64_encode(file_get_contents($image_svg.'money_transfer.svg')), 'logo_png' => 'data:image/png;base64,'.base64_encode(file_get_contents($image_png.'money_transfer.png')), 'service_type_is_parent' => 'yes', 'service_type_is_description' => 'no', 'service_type_step' => '1', 'enabled' => true,
[
'service_type_parent_id' => null,
'service_type_name' => 'Money Transfer',
'service_type_slug' => 'money_transfer',
'logo_svg' => 'data:image/svg+xml;base64,' . base64_encode(file_get_contents($image_svg . 'money_transfer.svg')),
'logo_png' => 'data:image/png;base64,' . base64_encode(file_get_contents($image_png . 'money_transfer.png')),
'service_type_is_parent' => 'yes',
'service_type_is_description' => 'no',
'service_type_step' => '1',
'enabled' => true,
'serviceTypeChild' => [
['service_type_name' => 'Bank Transfer', 'service_type_slug' => 'bank_transfer', 'logo_svg' => 'data:image/svg+xml;base64,'.base64_encode(file_get_contents($image_svg.'bank_transfer.svg')), 'logo_png' => 'data:image/png;base64,'.base64_encode(file_get_contents($image_png.'bank_transfer.png')), 'service_type_is_parent' => 'no', 'service_type_is_description' => 'no', 'service_type_step' => '2', 'enabled' => true],
['service_type_name' => 'Cash Pickup', 'service_type_slug' => 'cash_pickup', 'logo_svg' => 'data:image/svg+xml;base64,'.base64_encode(file_get_contents($image_svg.'cash_pickup.svg')), 'logo_png' => 'data:image/png;base64,'.base64_encode(file_get_contents($image_png.'cash_pickup.png')), 'service_type_is_parent' => 'no', 'service_type_is_description' => 'no', 'service_type_step' => '2', 'enabled' => true],
['service_type_name' => 'Wallet Transfer', 'service_type_slug' => 'wallet_transfer', 'logo_svg' => 'data:image/svg+xml;base64,'.base64_encode(file_get_contents($image_svg.'wallet_transfer.svg')), 'logo_png' => 'data:image/png;base64,'.base64_encode(file_get_contents($image_png.'wallet_transfer.png')), 'service_type_is_parent' => 'no', 'service_type_is_description' => 'no', 'service_type_step' => '2', 'enabled' => true],
['service_type_name' => 'Bank Transfer', 'service_type_slug' => 'bank_transfer', 'logo_svg' => 'data:image/svg+xml;base64,' . base64_encode(file_get_contents($image_svg . 'bank_transfer.svg')), 'logo_png' => 'data:image/png;base64,' . base64_encode(file_get_contents($image_png . 'bank_transfer.png')), 'service_type_is_parent' => 'no', 'service_type_is_description' => 'no', 'service_type_step' => '2', 'enabled' => true],
['service_type_name' => 'Cash Pickup', 'service_type_slug' => 'cash_pickup', 'logo_svg' => 'data:image/svg+xml;base64,' . base64_encode(file_get_contents($image_svg . 'cash_pickup.svg')), 'logo_png' => 'data:image/png;base64,' . base64_encode(file_get_contents($image_png . 'cash_pickup.png')), 'service_type_is_parent' => 'no', 'service_type_is_description' => 'no', 'service_type_step' => '2', 'enabled' => true],
['service_type_name' => 'Wallet Transfer', 'service_type_slug' => 'wallet_transfer', 'logo_svg' => 'data:image/svg+xml;base64,' . base64_encode(file_get_contents($image_svg . 'wallet_transfer.svg')), 'logo_png' => 'data:image/png;base64,' . base64_encode(file_get_contents($image_png . 'wallet_transfer.png')), 'service_type_is_parent' => 'no', 'service_type_is_description' => 'no', 'service_type_step' => '2', 'enabled' => true],
],
],
];
}

private function service(): array
{
$image_svg = __DIR__.'/../../resources/img/service/logo_svg/';
$image_png = __DIR__.'/../../resources/img/service/logo_png/';
$image_svg = __DIR__ . '/../../resources/img/service/logo_svg/';
$image_png = __DIR__ . '/../../resources/img/service/logo_png/';

return [
['service_type_id' => \Fintech\Business\Facades\Business::serviceType()->list(['service_type_slug' => 'bank_transfer'])->first()->id, 'service_vendor_id' => 1, 'service_name' => 'Bank Transfer', 'service_slug' => 'bank_transfer', 'logo_svg' => 'data:image/svg+xml;base64,'.base64_encode(file_get_contents($image_svg.'bank_transfer.svg')), 'logo_png' => 'data:image/png;base64,'.base64_encode(file_get_contents($image_png.'bank_transfer.png')), 'service_notification' => 'yes', 'service_delay' => 'yes', 'service_stat_policy' => 'yes', 'service_serial' => 1, 'service_data' => ['visible_website' => 'yes', 'visible_android_app' => 'yes', 'visible_ios_app' => 'yes', 'account_name' => '', 'account_number' => '', 'transactional_currency' => '', 'beneficiary_type_id' => 1, 'operator_short_code' => null], 'enabled' => true],
['service_type_id' => \Fintech\Business\Facades\Business::serviceType()->list(['service_type_slug' => 'cash_pickup'])->first()->id, 'service_vendor_id' => 1, 'service_name' => 'Cash Pickup', 'service_slug' => 'cash_pickup', 'logo_svg' => 'data:image/svg+xml;base64,'.base64_encode(file_get_contents($image_svg.'cash_pickup.svg')), 'logo_png' => 'data:image/png;base64,'.base64_encode(file_get_contents($image_png.'cash_pickup.png')), 'service_notification' => 'yes', 'service_delay' => 'yes', 'service_stat_policy' => 'yes', 'service_serial' => 1, 'service_data' => ['visible_website' => 'yes', 'visible_android_app' => 'yes', 'visible_ios_app' => 'yes', 'account_name' => '', 'account_number' => '', 'transactional_currency' => '', 'beneficiary_type_id' => 3, 'operator_short_code' => null], 'enabled' => true],
['service_type_id' => \Fintech\Business\Facades\Business::serviceType()->list(['service_type_slug' => 'wallet_transfer'])->first()->id, 'service_vendor_id' => 1, 'service_name' => 'Wallet Transfer', 'service_slug' => 'wallet_transfer', 'logo_svg' => 'data:image/svg+xml;base64,'.base64_encode(file_get_contents($image_svg.'wallet_transfer.svg')), 'logo_png' => 'data:image/png;base64,'.base64_encode(file_get_contents($image_png.'wallet_transfer.png')), 'service_notification' => 'yes', 'service_delay' => 'yes', 'service_stat_policy' => 'yes', 'service_serial' => 1, 'service_data' => ['visible_website' => 'yes', 'visible_android_app' => 'yes', 'visible_ios_app' => 'yes', 'account_name' => '', 'account_number' => '', 'transactional_currency' => '', 'beneficiary_type_id' => 5, 'operator_short_code' => null], 'enabled' => true],
['service_type_id' => \Fintech\Business\Facades\Business::serviceType()->list(['service_type_slug' => 'bank_transfer'])->first()->id, 'service_vendor_id' => 1, 'service_name' => 'Bank Transfer', 'service_slug' => 'bank_transfer', 'logo_svg' => 'data:image/svg+xml;base64,' . base64_encode(file_get_contents($image_svg . 'bank_transfer.svg')), 'logo_png' => 'data:image/png;base64,' . base64_encode(file_get_contents($image_png . 'bank_transfer.png')), 'service_notification' => 'yes', 'service_delay' => 'yes', 'service_stat_policy' => 'yes', 'service_serial' => 1, 'service_data' => ['visible_website' => 'yes', 'visible_android_app' => 'yes', 'visible_ios_app' => 'yes', 'account_name' => '', 'account_number' => '', 'transactional_currency' => '', 'beneficiary_type_id' => 1, 'operator_short_code' => null], 'enabled' => true],
['service_type_id' => \Fintech\Business\Facades\Business::serviceType()->list(['service_type_slug' => 'cash_pickup'])->first()->id, 'service_vendor_id' => 1, 'service_name' => 'Cash Pickup', 'service_slug' => 'cash_pickup', 'logo_svg' => 'data:image/svg+xml;base64,' . base64_encode(file_get_contents($image_svg . 'cash_pickup.svg')), 'logo_png' => 'data:image/png;base64,' . base64_encode(file_get_contents($image_png . 'cash_pickup.png')), 'service_notification' => 'yes', 'service_delay' => 'yes', 'service_stat_policy' => 'yes', 'service_serial' => 1, 'service_data' => ['visible_website' => 'yes', 'visible_android_app' => 'yes', 'visible_ios_app' => 'yes', 'account_name' => '', 'account_number' => '', 'transactional_currency' => '', 'beneficiary_type_id' => 3, 'operator_short_code' => null], 'enabled' => true],
['service_type_id' => \Fintech\Business\Facades\Business::serviceType()->list(['service_type_slug' => 'wallet_transfer'])->first()->id, 'service_vendor_id' => 1, 'service_name' => 'Wallet Transfer', 'service_slug' => 'wallet_transfer', 'logo_svg' => 'data:image/svg+xml;base64,' . base64_encode(file_get_contents($image_svg . 'wallet_transfer.svg')), 'logo_png' => 'data:image/png;base64,' . base64_encode(file_get_contents($image_png . 'wallet_transfer.png')), 'service_notification' => 'yes', 'service_delay' => 'yes', 'service_stat_policy' => 'yes', 'service_serial' => 1, 'service_data' => ['visible_website' => 'yes', 'visible_android_app' => 'yes', 'visible_ios_app' => 'yes', 'account_name' => '', 'account_number' => '', 'transactional_currency' => '', 'beneficiary_type_id' => 5, 'operator_short_code' => null], 'enabled' => true],
];

}
Expand Down

0 comments on commit 6d0c408

Please sign in to comment.