/** * Execute the console command. * * @param FieldRepositoryInterface $fields * @param StreamRepositoryInterface $streams * @param AssignmentRepositoryInterface $assignments */ public function fire(FieldRepositoryInterface $fields, StreamRepositoryInterface $streams, AssignmentRepositoryInterface $assignments) { $streams->cleanup(); $this->info('Abandoned streams deleted successfully.'); $fields->cleanup(); $this->info('Abandoned fields deleted successfully.'); $assignments->cleanup(); $this->info('Abandoned assignments deleted successfully.'); }
/** * Handle the command. * * @param FieldRepositoryInterface $fields * @param StreamRepositoryInterface $streams * @param AssignmentRepositoryInterface $assignments */ public function handle(FieldRepositoryInterface $fields, StreamRepositoryInterface $streams, AssignmentRepositoryInterface $assignments) { $addon = $this->migration->getAddon(); $stream = $this->migration->getStream(); $namespace = array_get($stream, 'namespace', $this->migration->getNamespace()); $slug = array_get($stream, 'slug', $addon ? $addon->getSlug() : null); $stream = $streams->findBySlugAndNamespace($slug, $namespace); foreach ($this->migration->getAssignments() as $field => $assignment) { if (is_numeric($field)) { $field = $assignment; } if ($stream && ($field = $fields->findBySlugAndNamespace($field, $namespace))) { if ($assignment = $assignments->findByStreamAndField($stream, $field)) { $assignments->delete($assignment); } } } $assignments->cleanup(); }
/** * Handle the command. * * @param AssignmentRepositoryInterface $assignments * @param StreamRepositoryInterface $streams * @param FieldRepositoryInterface $fields */ public function handle(AssignmentRepositoryInterface $assignments, StreamRepositoryInterface $streams, FieldRepositoryInterface $fields) { $assignments->cleanup(); $streams->cleanup(); $fields->cleanup(); }