195 lines
8.6 KiB
PHP
195 lines
8.6 KiB
PHP
|
|
<?php
|
||
|
|
|
||
|
|
namespace App\Http\Controllers\API;
|
||
|
|
|
||
|
|
use App\Http\Controllers\Controller;
|
||
|
|
use Illuminate\Http\Request;
|
||
|
|
use Validator;
|
||
|
|
use App\Models\UserDetail;
|
||
|
|
use App\Models\CompanyMaster;
|
||
|
|
use App\Models\User;
|
||
|
|
use Illuminate\Support\Facades\File;
|
||
|
|
use Auth;
|
||
|
|
|
||
|
|
class ProfileController extends Controller {
|
||
|
|
|
||
|
|
public function profileUpdate(Request $request) {
|
||
|
|
try {
|
||
|
|
$token = readHeaderToken();
|
||
|
|
if ($token) {
|
||
|
|
$user_id = $token['sub'];
|
||
|
|
$user = auth()->user();
|
||
|
|
// print_r($user);exit;
|
||
|
|
// check validation
|
||
|
|
$validator = Validator::make($request->all(), [
|
||
|
|
'full_name'=>'required',
|
||
|
|
'bio' => 'required|string|min:6',
|
||
|
|
'description' => 'required|string|min:6',
|
||
|
|
'gender' => 'required|in:male,female',
|
||
|
|
'age' => 'required',
|
||
|
|
'full_address' => 'required',
|
||
|
|
'city' => 'required',
|
||
|
|
'height' => 'required',
|
||
|
|
// 'weight' => 'required',
|
||
|
|
// 'profile_picture' => 'required|image|mimes:jpg,png,jpeg,gif',
|
||
|
|
]);
|
||
|
|
if ($validator->fails()) {
|
||
|
|
return response()->json([
|
||
|
|
'success' => false,
|
||
|
|
'error' => $validator->errors()], 401);
|
||
|
|
}
|
||
|
|
|
||
|
|
$profile_completed_status = User::select('status')->find($user_id);
|
||
|
|
if ($profile_completed_status->status == 0) {
|
||
|
|
$UserDetail = new UserDetail;
|
||
|
|
$UserDetail->user_id = $user_id;
|
||
|
|
$UserDetail->user_bio = $request->input('bio');
|
||
|
|
$UserDetail->description = $request->input('description');
|
||
|
|
$UserDetail->gender = $request->input('gender');
|
||
|
|
$UserDetail->age = $request->input('age');
|
||
|
|
$UserDetail->full_address = $request->input('full_address');
|
||
|
|
$UserDetail->city = $request->input('city');
|
||
|
|
$UserDetail->height = $request->input('height');
|
||
|
|
// $UserDetail->weight = $request->input('weight');
|
||
|
|
if ($request->hasFile('profile_picture')) {
|
||
|
|
$file = $request->file('profile_picture');
|
||
|
|
$ext = $file->extension();
|
||
|
|
$file_name = time() . '.' . $ext;
|
||
|
|
$path = public_path() . '/uploads/profile_images/';
|
||
|
|
$file->move($path, $file_name);
|
||
|
|
$UserDetail->profile_picture = url('/public/uploads/profile_images/' . $file_name);
|
||
|
|
}
|
||
|
|
$UserDetail->save();
|
||
|
|
User::where('id', $user_id)->update(array('status' => '1'));
|
||
|
|
$msg = "Profile Completed Successfully.";
|
||
|
|
} else {
|
||
|
|
$user = UserDetail::where('user_id', $user_id)->first();
|
||
|
|
// $file_name = $user->profile_picture;
|
||
|
|
$UserDetails = UserDetail::where('user_id', $user_id)->first();
|
||
|
|
|
||
|
|
$UserDetails->user_bio = $request->input('bio');
|
||
|
|
$UserDetails->description = $request->input('description');
|
||
|
|
$UserDetails->gender = $request->input('gender');
|
||
|
|
$UserDetails->age = $request->input('age');
|
||
|
|
$UserDetails->full_address = $request->input('full_address');
|
||
|
|
$UserDetails->city = $request->input('city');
|
||
|
|
$UserDetails->height = $request->input('height');
|
||
|
|
// 'weight' => $request->input('weight'),
|
||
|
|
if ($request->hasFile('profile_picture')) {
|
||
|
|
$file = $request->file('profile_picture');
|
||
|
|
$ext = $file->extension();
|
||
|
|
$file_name = time() . '.' . $ext;
|
||
|
|
$path = public_path() . '/uploads/profile_images/';
|
||
|
|
$file->move($path, $file_name);
|
||
|
|
// delete previous file
|
||
|
|
$previous_image = public_path('/uploads/profile_images/' . $user->profile_picture);
|
||
|
|
$delete_prv_image = File::delete($previous_image);
|
||
|
|
$UserDetails->profile_picture = url('/public/uploads/profile_images/' . $file_name);
|
||
|
|
}
|
||
|
|
// $UserDetails->profile_picture = url('/public/uploads/profile_images/' . $file_name);
|
||
|
|
$UserDetails->save();
|
||
|
|
User::where('id', $user_id)->update(array('full_name' => $request->input('full_name')));
|
||
|
|
$msg = "Profile Updated Successfully.";
|
||
|
|
}
|
||
|
|
|
||
|
|
$user = User::with('user_detail')->where('id', $user_id)->first()->toArray();
|
||
|
|
// $user = User::select('id','full_name','contact_number','email_id','status')->where('id',$user->id)->first()->toArray();
|
||
|
|
return response()->json([
|
||
|
|
'success' => true,
|
||
|
|
'status' => true,
|
||
|
|
'message'=> $msg,
|
||
|
|
'authorisation' => [
|
||
|
|
'token' => null,
|
||
|
|
'user_data' =>$user,
|
||
|
|
'type' => 'bearer',
|
||
|
|
]
|
||
|
|
],200);
|
||
|
|
// return response()->json([
|
||
|
|
// 'success' => true,
|
||
|
|
// 'status' => true,
|
||
|
|
// 'message' => $msg,
|
||
|
|
// 'authorisation' => [
|
||
|
|
// 'token' => null,
|
||
|
|
// 'user_detail' =>$user,
|
||
|
|
// 'type' => 'bearer',
|
||
|
|
// ],
|
||
|
|
// ]);
|
||
|
|
} else {
|
||
|
|
return response()->json([
|
||
|
|
'success' => false,
|
||
|
|
'message' => 'Authentication failed.',
|
||
|
|
]);
|
||
|
|
}
|
||
|
|
} catch (\Exception $e) {
|
||
|
|
\Log::error("Update Complete/Update Failed : " . $e->getMessage());
|
||
|
|
return response()->json([
|
||
|
|
'success' => false,
|
||
|
|
'message' => 'Something Went wrong.',
|
||
|
|
]);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Created By : Pradyumn Dwivedi
|
||
|
|
* Created at : 06 Feb 2023
|
||
|
|
* Use : To display list of User data
|
||
|
|
*/
|
||
|
|
|
||
|
|
public function index() {
|
||
|
|
try {
|
||
|
|
// print_r(User::first()->user);exit;
|
||
|
|
$token = readHeaderToken();
|
||
|
|
if ($token) {
|
||
|
|
$user_id = $token['sub'];
|
||
|
|
$data = User::with('user_detail')->where('id', $user_id)->first();
|
||
|
|
return response()->json([
|
||
|
|
'success' => true,
|
||
|
|
'message' => 'Data fetched successfully.',
|
||
|
|
'authorisation' => [
|
||
|
|
'user_data' => $data
|
||
|
|
]
|
||
|
|
]);
|
||
|
|
} else {
|
||
|
|
return response()->json([
|
||
|
|
'success' => false,
|
||
|
|
'message' => 'Authentication failed.',
|
||
|
|
]);
|
||
|
|
}
|
||
|
|
} catch (\Exception $e) {
|
||
|
|
\Log::error("User data listing Failed : " . $e->getMessage());
|
||
|
|
return response()->json([
|
||
|
|
'success' => false,
|
||
|
|
'message' => 'Something Went wrong.',
|
||
|
|
]);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
public function viewProfile() {
|
||
|
|
try {
|
||
|
|
// print_r(User::first()->user);exit;
|
||
|
|
$token = readHeaderToken();
|
||
|
|
if ($token) {
|
||
|
|
$user_id = $token['sub'];
|
||
|
|
$data = User::with('user_detail')->get();
|
||
|
|
return response()->json([
|
||
|
|
'success' => true,
|
||
|
|
'message' => 'Data fetched successfully.',
|
||
|
|
'result' => $data
|
||
|
|
]);
|
||
|
|
} else {
|
||
|
|
return response()->json([
|
||
|
|
'success' => false,
|
||
|
|
'message' => 'Authentication failed.',
|
||
|
|
]);
|
||
|
|
}
|
||
|
|
} catch (\Exception $e) {
|
||
|
|
\Log::error("User data listing Failed : " . $e->getMessage());
|
||
|
|
return response()->json([
|
||
|
|
'success' => false,
|
||
|
|
'message' => 'Something Went wrong.',
|
||
|
|
]);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|