adrema/app/Initialize/InitializeMembers.php

39 lines
918 B
PHP
Raw Normal View History

2022-01-03 10:33:48 +01:00
<?php
2020-04-12 00:26:44 +02:00
namespace App\Initialize;
2023-02-07 02:45:15 +01:00
use App\Actions\PullCoursesAction;
2023-02-06 00:24:57 +01:00
use App\Actions\PullMemberAction;
2023-02-07 01:38:27 +01:00
use App\Actions\PullMembershipsAction;
2022-09-02 00:45:39 +02:00
use DB;
2022-02-12 16:16:56 +01:00
use Zoomyboy\LaravelNami\Api;
2021-04-10 01:39:39 +02:00
2022-03-11 20:19:17 +01:00
class InitializeMembers
{
2022-02-12 16:16:56 +01:00
private Api $api;
2022-01-03 10:33:48 +01:00
2022-03-11 20:19:17 +01:00
public function __construct(Api $api)
{
2020-04-12 00:26:44 +02:00
$this->api = $api;
}
2022-02-12 16:16:56 +01:00
public function handle(): void
{
2020-04-12 00:26:44 +02:00
$allMembers = collect([]);
2023-02-07 01:38:27 +01:00
$this->api->search([])->each(function ($member) {
$localMember = app(PullMemberAction::class)->handle($member->groupId, $member->id);
app(PullMembershipsAction::class)->handle($localMember);
2023-02-07 02:45:15 +01:00
app(PullCoursesAction::class)->handle($localMember);
2023-02-07 01:38:27 +01:00
});
2022-01-03 10:33:48 +01:00
}
2022-09-02 00:45:39 +02:00
public function restore(): void
{
DB::table('payments')->delete();
DB::table('course_members')->delete();
DB::table('memberships')->delete();
DB::table('members')->delete();
}
2020-04-12 00:26:44 +02:00
}