Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
WIKIPEDIA
/
amparoapi
/
app
/
Http
/
Controllers
:
UserController.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php namespace App\Http\Controllers; use App\Classes\CurrentPassword; use App\Models\User; use Illuminate\Http\Request; use Illuminate\Support\Facades\Hash; class UserController extends Controller { public function getUsers() { $data = User::query() ->get(); $data->makeHidden(['password']); return response()->json(['data' => $data]); } public function addNewUser(Request $request) { $this->validate($request, [ 'name' => 'required|min:3', 'last_name' => 'required|min:3', 'email' => 'required', 'profile' => 'required', 'password' => 'required|min:8|confirmed', 'password_confirmation' => 'required' ]); User::create([ 'name' => $request->name, 'last_name' => $request->last_name, 'email' => $request->email, 'profile' => $request->profile, 'password' => Hash::make($request->password), ]); return response()->json(['message' => 'Utilizador Criado Com Sucesso'], 201); } public function updateUserInformation(Request $request) { $this->validate($request, [ 'id' => 'required', ]); $user = User::find($request->id); if ($user) { $user->update([ 'name' => $request->name, 'last_name' => $request->last_name, 'email' => $request->email, 'profile' => $request->profile, ]); return response()->json(['message' => 'Dados Actualizados Sucesso'], 200); } else { return response()->json(['message' => 'Utilizador não encontrado'], 400); } } public function deleteUser($id) { $user = User::find($id); if ($user) { $user->delete(); return response()->json(['message' => 'Utilizador Removido com Sucesso']); } else { return response()->json(['message' => 'Utilizador não encontrado'], 400); } } public function disableOrActiveUser($id) { $user = User::find($id); if ($user) { if ($user->status == 'activo') { $user->update(['status' => 'inactivo']); return response()->json(['message' => 'Utilizador bloqueado com Sucesso']); } else { $user->update(['status' => 'activo']); return response()->json(['message' => 'Utilizador activado com Sucesso']); } } else { return response()->json(['message' => 'Utilizador não encontrado'], 400); } } public function updateUserPassword(Request $request) { $this->validate($request, [ 'current_password' => ['required', new CurrentPassword()], 'new_password' => ['required', 'min:8', 'confirmed'], 'new_password_confirmation' => 'required|min:8', ], [ 'current_password.required' => 'O Campo Senha Actual é Obrigatório', 'new_password.required' => 'O Campo Nova Senha é Obrigatório', 'new_password_confirmation.required' => 'O Campo Confirmar Senha é Obrigatório', 'new_password.confirmed' => 'Senhas incompatíveis', 'current_password.min' => 'A senha deve ter 8 digitos no mínimo', 'new_password.min' => 'A senha deve ter 8 digitos no mínimo', 'new_password_confirmation.min' => 'A senha deve ter 8 dígitos no mínimo' ] ); if (Hash::check($request->current_password, $request->user()->password)) { $request->user()->update([ 'password' => bcrypt($request->new_password), 'session_status' => 1 ]); return response()->json(['message' => 'Password Actualizada com Sucesso', 'description' => 'Senhas Compativeis'], 200); } else { return response()->json(['message' => 'Senha Antiga Inválida'], 404); } } }