Added export endpoint and solidtime import; Enhanced toggl import

This commit is contained in:
Constantin Graf
2024-08-22 17:50:04 +02:00
committed by Constantin Graf
parent 056a63e193
commit ee77de04ef
43 changed files with 1304 additions and 110 deletions

View File

@@ -7,6 +7,7 @@ namespace App\Service\Import\Importers;
use App\Models\Client;
use App\Models\Member;
use App\Models\Organization;
use App\Models\OrganizationInvitation;
use App\Models\Project;
use App\Models\ProjectMember;
use App\Models\Tag;
@@ -63,6 +64,11 @@ abstract class DefaultImporter implements ImporterContract
*/
protected ImportDatabaseHelper $projectMemberImportHelper;
/**
* @var ImportDatabaseHelper<OrganizationInvitation>
*/
protected ImportDatabaseHelper $organizationInvitationsImportHelper;
protected BillableRateService $billableRateService;
public function init(Organization $organization): void
@@ -149,6 +155,15 @@ abstract class DefaultImporter implements ImporterContract
'max:500',
],
]);
$this->organizationInvitationsImportHelper = new ImportDatabaseHelper(OrganizationInvitation::class, ['email', 'organization_id'], true, function (Builder $builder) {
return $builder->where('organization_id', $this->organization->id);
}, validate: [
'email' => [
'required',
'email',
'max:255',
],
]);
$this->timeEntriesCreated = 0;
$this->colorService = app(ColorService::class);
$this->timezoneService = app(TimezoneService::class);