Changeset View
Changeset View
Standalone View
Standalone View
src/app/Http/Controllers/API/V4/SharedFoldersController.php
Show First 20 Lines • Show All 150 Lines • ▼ Show 20 Lines | class SharedFoldersController extends RelationController | ||||
{ | { | ||||
try { | try { | ||||
if (strpos($step, 'domain-') === 0) { | if (strpos($step, 'domain-') === 0) { | ||||
return DomainsController::execProcessStep($folder->domain(), $step); | return DomainsController::execProcessStep($folder->domain(), $step); | ||||
} | } | ||||
switch ($step) { | switch ($step) { | ||||
case 'shared-folder-ldap-ready': | case 'shared-folder-ldap-ready': | ||||
// Shared folder not in LDAP, create it | |||||
$job = new \App\Jobs\SharedFolder\CreateJob($folder->id); | |||||
$job->handle(); | |||||
$folder->refresh(); | |||||
return $folder->isLdapReady(); | |||||
case 'shared-folder-imap-ready': | case 'shared-folder-imap-ready': | ||||
// Shared folder not in IMAP? Verify again | // Use worker to do the job, frontend might not have the IMAP admin credentials | ||||
// Do it synchronously if the imap admin credentials are available | \App\Jobs\SharedFolder\CreateJob::dispatch($folder->id); | ||||
// otherwise let the worker do the job | |||||
if (!\config('imap.admin_password')) { | |||||
\App\Jobs\SharedFolder\VerifyJob::dispatch($folder->id); | |||||
return null; | return null; | ||||
} | } | ||||
$job = new \App\Jobs\SharedFolder\VerifyJob($folder->id); | |||||
$job->handle(); | |||||
$folder->refresh(); | |||||
return $folder->isImapReady(); | |||||
} | |||||
} catch (\Exception $e) { | } catch (\Exception $e) { | ||||
\Log::error($e); | \Log::error($e); | ||||
} | } | ||||
return false; | return false; | ||||
} | } | ||||
/** | /** | ||||
▲ Show 20 Lines • Show All 96 Lines • Show Last 20 Lines |