146 lines
4.7 KiB
PHP
146 lines
4.7 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Mobile;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use Illuminate\Support\Facades\Validator;
|
|
use Illuminate\Http\Request;
|
|
use App\Models\User;
|
|
use DB;
|
|
use Illuminate\Support\Facades\Hash;
|
|
use Illuminate\Support\Facades\Auth;
|
|
use Carbon\Carbon;
|
|
|
|
class UserController extends Controller
|
|
{
|
|
public function getProfileUser(Request $request){
|
|
|
|
$getUserNokp = User::where('nokp', $request->nokp)
|
|
// ->join('file', function ($join) {
|
|
// $join->on('users.id', '=', 'file.user_id');
|
|
// })
|
|
->get();
|
|
|
|
if ($getUserNokp->isNotEmpty()) {
|
|
return response()->json(['success' => true , 'message' => $getUserNokp], 201);
|
|
}
|
|
|
|
else {
|
|
return response()->json(['success' => false, 'message' => 'Empty data'], 201);
|
|
}
|
|
}
|
|
|
|
public function updateProfileUser(Request $request){
|
|
|
|
$validator = Validator::make($request->all(), [
|
|
'nokp' => 'required'
|
|
]);
|
|
|
|
if ($validator->fails()) {
|
|
return response($validator->errors(), 201);
|
|
}
|
|
|
|
$currentdate = Carbon::now()->toDateTimeString();
|
|
|
|
$user_update = User::where('nokp','=',$request->nokp)
|
|
->update([
|
|
'bank_acc_pembeli' => $request->bank_acc_pembeli,
|
|
'bank_acc_no_pembeli' => $request->bank_acc_no_pembeli,
|
|
'alamat' => $request->alamat,
|
|
'notelbimbit' => $request->notelbimbit,
|
|
'notelpejabat' => $request->notelpejabat,
|
|
'email' => $request->email,
|
|
'updated_at' => $currentdate
|
|
]);
|
|
|
|
return response()->json($user_update);
|
|
}
|
|
|
|
public function changePassword(Request $request)
|
|
{
|
|
$validator = Validator::make($request->all(), [
|
|
'current_password' => 'required',
|
|
'new_password' => 'required|string|min:8',
|
|
'confirm_new_password' => 'required|string|min:8',
|
|
], [
|
|
'current_password.required' => ['status' => '1', 'message' => 'Sila isi kata laluan asal.'],
|
|
'new_password.required' => ['status' => '2', 'message' => 'Sila isi kata laluan baharu.'],
|
|
'new_password.min' => [
|
|
'string' => [
|
|
'status' => 3,
|
|
'message' => 'Kata laluan baharu mestilah melebihi 8 karakter.',
|
|
]
|
|
],
|
|
'confirm_new_password.required' => ['status' => '4', 'message' => 'Sila isi pengesahan kata laluan baharu.'],
|
|
'confirm_new_password.min' => [
|
|
'string' => [
|
|
'status' => 5,
|
|
'message' => 'Pengesahan kata laluan baharu mestilah melebihi 8 karakter.',
|
|
]
|
|
],
|
|
]);
|
|
|
|
if ($validator->fails()) {
|
|
$all_errors = [
|
|
'success' => false,
|
|
'message' => $validator->errors()
|
|
];
|
|
return response($all_errors, 201);
|
|
}
|
|
|
|
if (!(Hash::check($request->get('current_password'), Auth::user()->password))) {
|
|
return response()->json([
|
|
'success' => false,
|
|
'message' => [
|
|
'current_password' => [
|
|
0 => [
|
|
'status' => 9,
|
|
'message' => 'Kata laluan asal salah.'
|
|
]
|
|
]
|
|
]
|
|
]);
|
|
}
|
|
|
|
if (strcmp($request->get('current_password'), $request->get('new_password')) == 0) {
|
|
return response()->json([
|
|
'success' => false,
|
|
'message' => [
|
|
'current_password' => [
|
|
0 => [
|
|
'status' => 8,
|
|
'message' => 'Kata laluan baharu tidak boleh sama dengan kata laluan asal.'
|
|
]
|
|
]
|
|
]
|
|
]);
|
|
}
|
|
|
|
if (strcmp($request->get('new_password'), $request->get('confirm_new_password')) != 0) {
|
|
return response()->json([
|
|
'success' => false,
|
|
'message' => [
|
|
'current_password' => [
|
|
0 => [
|
|
'status' => 12,
|
|
'message' => 'Kata laluan baharu tidak sama dengan pengesahan kata laluan baharu.'
|
|
]
|
|
]
|
|
]
|
|
]);
|
|
}
|
|
|
|
$validated_password = $validator->validated();
|
|
|
|
$user = Auth::user();
|
|
$user->password = bcrypt($validated_password['new_password']);
|
|
$user->save();
|
|
|
|
return response()->json([
|
|
'success' => true,
|
|
'status' => 55,
|
|
'message' => 'Kata laluan berjaya diubah'
|
|
]);
|
|
}
|
|
}
|