Fixed import

This commit is contained in:
Constantin Graf
2024-05-21 22:43:17 +02:00
parent 5a8dc60f53
commit 05e865ef41
5 changed files with 26 additions and 9 deletions

View File

@@ -4,6 +4,7 @@ declare(strict_types=1);
namespace App\Service\Import\Importers;
use App\Enums\Role;
use App\Models\TimeEntry;
use Exception;
use Illuminate\Support\Carbon;
@@ -59,6 +60,8 @@ class ClockifyTimeEntriesImporter extends DefaultImporter
$memberId = $this->memberImportHelper->getKey([
'user_id' => $userId,
'organization_id' => $this->organization->getKey(),
], [
'role' => Role::Placeholder->value,
]);
$clientId = null;
if ($record['Client'] !== '') {

View File

@@ -4,7 +4,6 @@ declare(strict_types=1);
namespace App\Service\Import\Importers;
use App\Enums\Role;
use App\Models\Client;
use App\Models\Member;
use App\Models\Organization;
@@ -69,11 +68,7 @@ abstract class DefaultImporter implements ImporterContract
$this->userImportHelper = new ImportDatabaseHelper(User::class, ['email'], true, function (Builder $builder) {
/** @var Builder<User> $builder */
return $builder->belongsToOrganization($this->organization);
}, function (User $user) {
$user->organizations()->attach($this->organization, [
'role' => Role::Placeholder->value,
]);
}, validate: [
}, null, validate: [
'name' => [
'required',
'max:255',
@@ -86,7 +81,13 @@ abstract class DefaultImporter implements ImporterContract
$this->memberImportHelper = new ImportDatabaseHelper(Member::class, ['user_id', 'organization_id'], true, function (Builder $builder) {
/** @var Builder<Member> $builder */
return $builder->whereBelongsTo($this->organization, 'organization');
});
}, null, validate: [
'role' => [
'required',
'string',
'in:placeholder',
],
]);
$this->projectImportHelper = new ImportDatabaseHelper(Project::class, ['name', 'organization_id'], true, function (Builder $builder) {
/** @var Builder<Project> $builder */
return $builder->where('organization_id', $this->organization->id);

View File

@@ -4,6 +4,7 @@ declare(strict_types=1);
namespace App\Service\Import\Importers;
use App\Enums\Role;
use Exception;
use Spatie\TemporaryDirectory\TemporaryDirectory;
use ValueError;
@@ -93,10 +94,12 @@ class TogglDataImporter extends DefaultImporter
'timezone' => $workspaceUser->timezone ?? 'UTC',
'is_placeholder' => true,
], (string) $workspaceUser->uid);
$memberId = $this->memberImportHelper->getKey([
$this->memberImportHelper->getKey([
'user_id' => $userId,
'organization_id' => $this->organization->getKey(),
], [], $userId);
], [
'role' => Role::Placeholder->value,
], $userId);
}
foreach ($projects as $project) {

View File

@@ -4,6 +4,7 @@ declare(strict_types=1);
namespace App\Service\Import\Importers;
use App\Enums\Role;
use App\Models\TimeEntry;
use Exception;
use Illuminate\Support\Carbon;
@@ -59,6 +60,8 @@ class TogglTimeEntriesImporter extends DefaultImporter
$memberId = $this->memberImportHelper->getKey([
'user_id' => $userId,
'organization_id' => $this->organization->getKey(),
], [
'role' => Role::Placeholder->value,
]);
$clientId = null;
if ($record['Client'] !== '') {