Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- namespace App\Http\Controllers;
- use Illuminate\Http\Request;
- use JWTAuth;
- use App\Usuario;
- use App\Endereco;
- use App\Perfil;
- use Illuminate\Support\Facades\Validator;
- use Image;
- use Illuminate\Support\Facades\Input;
- use Illuminate\Support\Facades\Storage;
- class AuthController extends Controller
- {
- /**
- * API Register
- *
- * @param Request $request
- * @return \Illuminate\Http\JsonResponse
- */
- public function uploadFile(Request $request)
- {
- $file=Input::file('ionicfile');
- $path = Storage::disk('public')->putFile('fotos', $file);
- return response()->json($path);
- }
- public function register(Request $request)
- {
- $rules = [
- 'name' => 'required|max:255',
- 'sobrenome' => 'required|max:255',
- 'data_nascimento' => 'required|date',
- 'email' => 'required|email|max:255|unique:usuarios',
- 'password' => 'required|min:6|confirmed',
- 'logradouro' => 'required|max:255',
- 'bairro' => 'required|max:255',
- 'cidade' => 'required|max:255',
- 'estado' => 'required|max:255',
- 'cep' => 'required|max:255',
- ];
- $registro = [
- 'name' => $request->nome,
- 'sobrenome' => $request->sobrenome,
- 'data_nascimento' => $request->data_nascimento,
- 'email' => $request->email,
- 'logradouro' => $request->logradouro,
- 'bairro' => $request->bairro,
- 'cidade' => $request->cidade,
- 'estado' => $request->estado,
- 'cep' => $request->cep,
- 'password' => $request->password,
- 'password_confirmation' =>$request->password_confirmation
- ];
- $validator = Validator::make($registro, $rules);
- if($validator->fails()) {
- return response()->json(['success'=> false, 'error'=> $validator->messages()]);
- }
- $endereco = new Endereco;
- $endereco->logradouro = $request->logradouro;
- $endereco->bairro = $request->bairro;
- $endereco->cidade = $request->cidade;
- $endereco->estado = $request->estado;
- $endereco->cep = $request->cep;
- $endereco->complemento = $request->complemento;
- $endereco->save();
- $perfil = new Perfil;
- $perfil->nome = $request->nome;
- $perfil->sobrenome = $request->sobrenome;
- $perfil->data_nascimento = $request->data_nascimento;
- $perfil->id_endereco = $endereco->id;
- $perfil->save();
- $usuario = new Usuario;
- $usuario->name = $request->nome;
- $usuario->password = bcrypt($request->password);
- $usuario->email = $request->email;
- $usuario->id_perfil = $perfil->id;
- $usuario->perfil_path = "images/padrao.jpg";
- $usuario->file = "images/padrao.jpg";
- $usuario->save();
- // $usuario->criarThumb("storage/".$path);
- // $usuario->criarThumb1("storage/".$path);
- // $usuario->criarThumb2("storage/".$path);
- // $usuario->criarThumb3("storage/".$path);
- Image::make('images/padrao.jpg')->resize(350, null, function ($constraint) {
- $constraint->aspectRatio();
- })->crop(350, 350)->save('storage/fotos/thumbs1/padrao.jpg');
- return response()->json($this->login($request));
- }
- /**
- * API Login, on success return JWT Auth token
- *
- * @param Request $request
- * @return \Illuminate\Http\JsonResponse
- */
- public function login(Request $request)
- {
- $credentials = [
- 'email' => $request->email,
- 'password' => $request->password,
- ];
- try {
- // attempt to verify the credentials and create a token for the user
- if (! $token = JWTAuth::attempt($credentials)) {
- return response()->json(['success' => false, 'error' => 'We cant find an account with this credentials.'], 401);
- }
- } catch (JWTException $e) {
- // something went wrong whilst attempting to encode the token
- return response()->json(['success' => false, 'error' => 'Failed to login, please try again.'], 500);
- }
- // all good so return the token
- return response()->json(['success' => true, 'data'=> [ 'token' => $token ]]);
- }
- /**
- * Log out
- * Invalidate the token, so user cannot use it anymore
- * They have to relogin to get a new token
- *
- * @param Request $request
- */
- public function logout(Request $request) {
- $this->validate($request, ['token' => 'required']);
- try {
- JWTAuth::invalidate($request->input('token'));
- return response()->json(['success' => true]);
- } catch (JWTException $e) {
- // something went wrong whilst attempting to encode the token
- return response()->json(['success' => false, 'error' => 'Failed to logout, please try again.'], 500);
- }
- }
- /**
- * API Recover Password
- *
- * @param Request $request
- * @return \Illuminate\Http\JsonResponse
- */
- public function recover(Request $request)
- {
- $user = Usuario::where('email', $request->email)->first();
- if (!$user) {
- $error_message = "Your email address was not found.";
- return response()->json(['success' => false, 'error' => ['email'=> $error_message]], 401);
- }
- try {
- Password::sendResetLink($request->only('email'), function (Message $message) {
- $message->subject('Your Password Reset Link');
- });
- } catch (\Exception $e) {
- //Return with error
- $error_message = $e->getMessage();
- return response()->json(['success' => false, 'error' => $error_message], 401);
- }
- return response()->json([
- 'success' => true, 'data'=> ['msg'=> 'A reset email has been sent! Please check your email.']
- ]);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement