mirror of
https://github.com/ceratic/MediaCollectorLibary.git
synced 2026-05-13 23:56:46 +02:00
Enhance API functionality and improve JWT authentication
- Added JWT authentication support in AuthService and JwtService. - Implemented token generation and refresh mechanisms. - Updated ApiAuthMiddleware to handle authentication for protected routes. - Created ApiController and BaseApiController for standardized API responses. - Developed MediaController for managing media items with pagination and search capabilities. - Introduced DocsController for serving API documentation via Swagger UI. - Added routes for API documentation and media management. - Improved error handling and response formatting across API endpoints. - Updated composer.json to include necessary JWT and Swagger UI dependencies.
This commit is contained in:
@@ -11,6 +11,30 @@ use SplFileInfo;
|
||||
|
||||
class LocalSyncService extends BaseSyncService implements SyncServiceInterface
|
||||
{
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
protected function executeSync(string $syncType): void
|
||||
{
|
||||
try {
|
||||
$path = $this->source['path'] ?? null;
|
||||
if (empty($path) || !is_dir($path)) {
|
||||
throw new Exception("Invalid or inaccessible source path: {$path}");
|
||||
}
|
||||
|
||||
$mediaType = $this->determineMediaType($this->source);
|
||||
|
||||
$this->logProgress("Starting {$syncType} sync for media type: {$mediaType}");
|
||||
|
||||
// Process the directory based on media type
|
||||
$this->processDirectory($path, $mediaType);
|
||||
|
||||
$this->logProgress("Completed {$syncType} sync for media type: {$mediaType}");
|
||||
} catch (Exception $e) {
|
||||
$this->logProgress("Error during sync: " . $e->getMessage());
|
||||
throw $e;
|
||||
}
|
||||
}
|
||||
protected string $sourceType = 'local';
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user