Added importer details endpoint

This commit is contained in:
Constantin Graf
2024-04-16 16:52:13 +02:00
committed by Gregor Vostrak
parent fe61a54c35
commit 1f79d5e50a
15 changed files with 180 additions and 9 deletions

View File

@@ -84,4 +84,16 @@ class ClockifyProjectsImporter extends DefaultImporter
}
}
}
#[\Override]
public function getName(): string
{
return __('importer.clockify_projects.name');
}
#[\Override]
public function getDescription(): string
{
return __('importer.clockify_projects.description');
}
}

View File

@@ -158,4 +158,16 @@ class ClockifyTimeEntriesImporter extends DefaultImporter
}
}
}
#[\Override]
public function getName(): string
{
return __('importer.toggl_data_importer.name');
}
#[\Override]
public function getDescription(): string
{
return __('importer.toggl_data_importer.description');
}
}

View File

@@ -13,4 +13,8 @@ interface ImporterContract
public function importData(string $data): void;
public function getReport(): ReportDto;
public function getName(): string;
public function getDescription(): string;
}

View File

@@ -32,6 +32,14 @@ class ImporterProvider
return array_keys($this->importers);
}
/**
* @return array<string, class-string<ImporterContract>>
*/
public function getImporters(): array
{
return $this->importers;
}
public function getImporter(string $type): ImporterContract
{
if (! array_key_exists($type, $this->importers)) {

View File

@@ -114,4 +114,16 @@ class TogglDataImporter extends DefaultImporter
throw new ImportException('Unknown error');
}
}
#[\Override]
public function getName(): string
{
return __('importer.toggl_data_importer.name');
}
#[\Override]
public function getDescription(): string
{
return __('importer.toggl_data_importer.description');
}
}

View File

@@ -142,4 +142,16 @@ class TogglTimeEntriesImporter extends DefaultImporter
}
}
}
#[\Override]
public function getName(): string
{
return __('importer.toggl_time_entries.name');
}
#[\Override]
public function getDescription(): string
{
return __('importer.toggl_time_entries.description');
}
}