Add WooCommerce list import scheduling

[MAILPOET-1732]
This commit is contained in:
Rostislav Wolny
2019-04-19 12:29:52 +02:00
committed by M. Shull
parent 02c74db0ed
commit 58d2bbab1a
7 changed files with 228 additions and 13 deletions

View File

@ -2,8 +2,11 @@
namespace MailPoet\API\JSON\v1;
use Carbon\Carbon;
use MailPoet\API\JSON\Endpoint as APIEndpoint;
use MailPoet\Config\AccessControl;
use MailPoet\Cron\Workers\WooCommerceSync;
use MailPoet\Models\ScheduledTask;
use MailPoet\Models\Segment;
use MailPoet\Subscribers\ImportExport\Import\MailChimp;
@ -78,4 +81,27 @@ class ImportExport extends APIEndpoint {
));
}
}
function setupWooCommerceInitialImport() {
try {
$task = ScheduledTask::where('type', WooCommerceSync::TASK_TYPE)
->whereRaw('status = ? OR status IS NULL', [ScheduledTask::STATUS_SCHEDULED])
->findOne();
if ($task && $task->status === null) {
return $this->successResponse();
}
if (!$task) {
$task = ScheduledTask::create();
$task->type = WooCommerceSync::TASK_TYPE;
$task->status = ScheduledTask::STATUS_SCHEDULED;
}
$task->scheduled_at = Carbon::createFromTimestamp(current_time('timestamp'));
$task->save();
return $this->successResponse();
} catch (\Exception $e) {
return $this->errorResponse([
$e->getCode() => $e->getMessage()
]);
}
}
}