![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/app/code/Soon/DataSync/Model/ |
<?php /** * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) * @author Hervé Guétin <[email protected]> <@herveguetin> * @copyright Copyright (c) 2017 Agence Soon (http://www.agence-soon.fr) */ namespace Soon\DataSync\Model; use Soon\DataSync\Model\Job\JobInterface; interface SyncInterface { /** * Sets the job to the current sync * * @param JobInterface $job * @return mixed */ public function job(JobInterface $job); /** * Gives the ability to batch run syncs * * @param string $path * @return SyncInterface */ public function glob(string $path): SyncInterface; /** * This is the type of data we are working with (csv, xml, ...) * * @param string $format * @param array $config * @return SyncInterface */ public function dataOfType(string $format, array $config = []): SyncInterface; /** * Create an import * * @param string $transfer * @param array $config * @return SyncInterface */ public function from(string $transfer, array $config = []): SyncInterface; /** * Create an import an remove the source file once the import is successfully finished * * @param string $transfer * @param array $config * @return SyncInterface */ public function fromOnce(string $transfer, array $config = []): SyncInterface; /** * Create an export * * @param string $transfer * @param array $config * @return SyncInterface */ public function to(string $transfer, array $config = []): SyncInterface; /** * Trigger archiving and store the archived data to $path * * @param null $path * @return SyncInterface */ public function archive($path = null): SyncInterface; /** * Business logic relative to a job * * . for an import => $closure must received an array * . for an export => $closure must return an array * * @param \Closure $closure * @return SyncInterface */ public function treatWith(\Closure $closure): SyncInterface; /** * Actually launch the job / sync * * @return SyncInterface */ public function go(): SyncInterface; /** * Sugar to get access to any sync's property * * @param string $info * @return mixed */ public function which(string $info); /** * Reset in order to allow the next job to run */ public function reset(); }