all(), [ 'data.work_start' => 'required', 'data.work_end' => 'required', ] ); if ( $validator->fails() ) { return response()->json( $validator->errors(), 400 ); } $user = User::find( $id ); $user->update( $request->all()['data'] ); return response()->json( [ 'message' => 'User updated successfully', 'user' => new UserResource( $user ) ], 201 ); } public function sendPasswordResetLink( Request $request ) { $user = User::where( 'email', $request->all()['data']['email'] )->first(); if ( ! $user ) { return response()->json( [ 'message' => 'User not found.', ], 400 ); } $token = $user->createToken( 'password-reset', [ 'password-reset' ] )->plainTextToken; $url = env( 'APP_URL_FE' ) . '/#/auth/reset-password?token=' . $token . '&email=' . $user->email; Mail::to( $user->email )->send( new PasswordReset( $url ) ); return [ 'message' => 'Email sent.' ]; } public function resetPassword( Request $request ) { $userId = User::getUserIdFromBearerToken($request->bearerToken()); User::find($userId)->update(['password' => Hash::make($request->all()['data']['password'])]); return [ 'message' => 'Password changed.' ]; } }