FEATURE: use even more route model binding

This commit is contained in:
Michal Kváček
2017-08-01 19:51:12 +02:00
parent 3275e5aeed
commit 2d60010f9e
16 changed files with 158 additions and 100 deletions
+16
View File
@@ -0,0 +1,16 @@
<?php
namespace App\CMS\Repositories\FileManager;
use App\Models\FileManager\File as FileModel;
class File {
/**
* Update given instance of File
*
* @param FileModel $file
* @param $data
*/
public function update(FileModel $file, $data) {
$file->update($data);
}
}
+65
View File
@@ -0,0 +1,65 @@
<?php
namespace App\CMS\Repositories\Users;
use App\CMS\Repositories\Repository;
use App\Models\User as UserModel;
use Illuminate\Support\Facades\Hash;
class User extends Repository {
/**
* Update given user
*
* @param UserModel $user
* @param $data
*/
public function update(UserModel $user, $data) {
// update username if set
if (isset($data['username'])) {
$user->username = $data['username'];
}
// change name (if set)
if (isset($data['name'])) {
$user->name = $data['name'];
}
if (isset($data['role'])) {
$user->role = $data['role'];
}
if (isset($data['status'])) {
$user->status = $data['status'];
}
if (isset($data['password'])) {
$user->password = Hash::make($data['password']);
}
$user->email = $data['email'];
$user->save();
}
/**
* Create new user
*
* @param $data
*
* @return UserModel
*/
public function create($data)
{
// create new user
$user = new UserModel();
$user->name = $data['name'];
$user->email = $data['email'];
$user->username = $data['username'];
$user->role = $data['role'];
$user->password = Hash::make($data['password']);
// store user into database
$user->save();
return $user;
}
}