From f876a084299ac4b0f14d3643f33e44ef0ec12e95 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20Kv=C3=A1=C4=8Dek?= Date: Sun, 30 Jul 2017 16:06:28 +0200 Subject: [PATCH] REFACTORING: move creating directories into repository --- .../Admin/FileManager/CreateDirectory.php | 11 +------ .../Repositories/FileManager/Directory.php | 29 ++++++++++++++++++- 2 files changed, 29 insertions(+), 11 deletions(-) diff --git a/app/CMS/Interactions/Admin/FileManager/CreateDirectory.php b/app/CMS/Interactions/Admin/FileManager/CreateDirectory.php index db6069cc..c7789759 100644 --- a/app/CMS/Interactions/Admin/FileManager/CreateDirectory.php +++ b/app/CMS/Interactions/Admin/FileManager/CreateDirectory.php @@ -31,22 +31,13 @@ class CreateDirectory implements Interaction { $data['parentDirectory'] = isset($data['parentDirectory']) ? $data['parentDirectory'] : null; - // todo this should probably go into validation, but we are not able to get $data in getValidationRules // check if created folder does not exist in current directory if ($this->repository->checkIfNameExists($data['name'], $data['parentDirectory'])) { throw new SubdirectoryExistsInDirectory(); } - // todo use Directory::create() and rename columns/fields in request // create new database entry - $directory = new Directory(); - $directory->name = $data['name']; - $directory->parent_id = $data['parentDirectory']; - $directory->user_id = \Auth::user()->id; - $directory->description = $data['description']; - $directory->save(); - - return $directory; + return $this->repository->create($data); } /** diff --git a/app/CMS/Repositories/FileManager/Directory.php b/app/CMS/Repositories/FileManager/Directory.php index 0e6250ec..1d697270 100644 --- a/app/CMS/Repositories/FileManager/Directory.php +++ b/app/CMS/Repositories/FileManager/Directory.php @@ -1,4 +1,5 @@ exists(); } - public function update(DirectoryModel $directory, $data) { + /** + * Create new directory + * + * @param $data + * + * @return DirectoryModel + */ + public function create($data) + { + $directory = new DirectoryModel(); + $directory->name = $data['name']; + $directory->parent_id = $data['parentDirectory']; + $directory->user_id = \Auth::user()->id; + $directory->description = $data['description']; + $directory->save(); + + return $directory; + } + + /** + * Update given directory + * + * @param DirectoryModel $directory + * @param $data + */ + public function update(DirectoryModel $directory, $data) + { $directory->name = $data['name']; $directory->description = $data['description']; $directory->save();