forgot & reset password

This commit is contained in:
faiqahzaman
2022-02-15 09:40:30 +08:00
parent 571dcd1607
commit 8d1a32f2bd
18 changed files with 625 additions and 146 deletions
@@ -0,0 +1,42 @@
<?php
namespace App\Http\Controllers\Mobile;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Illuminate\Auth\Events\Verified;
use Illuminate\Foundation\Auth\EmailVerificationRequest;
class EmailVerificationController extends Controller
{
public function sendVerificationEmail(Request $request)
{
if ($request->user()->hasVerifiedEmail()) {
return [
'message' => 'Already Verified'
];
}
$request->user()->sendEmailVerificationNotification();
return ['status' => 'verification-link-sent'];
}
public function verify(EmailVerificationRequest $request)
{
if ($request->user()->hasVerifiedEmail()) {
return [
'message' => 'Email already verified'
];
}
if ($request->user()->markEmailAsVerified()) {
event(new Verified($request->user()));
}
return [
'message'=>'Email has been verified'
];
}
}
@@ -0,0 +1,39 @@
<?php
namespace App\Http\Controllers\Mobile;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\SendsPasswordResetEmails;
use Illuminate\Http\Request;
class ForgotPasswordController extends Controller
{
/*
|--------------------------------------------------------------------------
| Password Reset Controller
|--------------------------------------------------------------------------
|
| This controller is responsible for handling password reset emails and
| includes a trait which assists in sending these notifications from
| your application to your users. Feel free to explore this trait.
|
*/
use SendsPasswordResetEmails;
protected function sendResetLinkResponse(Request $request, $response)
{
return response(['message'=> $response]);
}
protected function sendResetLinkFailedResponse(Request $request, $response)
{
return response(['error'=> $response], 422);
}
}
@@ -0,0 +1,154 @@
<?php
namespace App\Http\Controllers\Mobile;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\Lelong;
use App\Models\LelongBid;
use App\Models\LelongBidder;
use App\Models\LelongBidMarhun;
use App\Models\lelkarat;
use App\Models\User;
use App\Models\Payment;
use App\Models\Cart;
use Carbon\Carbon;
use App\Models\Cawangan;
class LelongMobileController extends Controller
{
public function getlelongdetails(Request $request){
$currentdate = Carbon::now();
$currentdate = $currentdate->toDateString();
// $arrayLelong = [];
$lelong = Lelong::where('tarikh_lelong','=',$currentdate)
->where('sts_lelong','=',1)
->get()->toArray();
foreach($lelong as $index1=>$lel)
{
$lelongbid = LelongBid::whereIn('lelong_id',$lelong)
->get()->toArray();
$lelong[$index1]['lelongbid'] = $lelongbid;
foreach($lelongbid as $index2=>$lelbidmarhun){
$cawangan = Cawangan::where('id','=',$lelbidmarhun['caw_id'])->first()->toArray();
// $id = lelongbid::first();
$lelongbidmarhun = LelongBidMarhun::where('lelongbid_id', $lelbidmarhun['id'])
->get()->toArray();
$lelong[$index1]['lelongbid'][$index2]['lelongbidmarhun'] = $lelongbidmarhun;
$lelong[$index1]['lelongbid'][$index2]['cawangan'] = $cawangan;
}
}
return response()->json($lelong);
}
public function getListKarat(Request $request){
$getKarat = lelkarat::all();
// $lelongBidder = lelongBidder::all();
return response()->json($getKarat);
}
public function bidderSelectBidItem(Request $request){
$feepayment = Payment::where('status', '=', 1)->first();
if($feepayment != null){
$user = User::where('id', '=', $request->user_id)
->first();
$selectBid = Cart::join('lelongbid', 'carts.lelongbid_id', '=', 'lelongbid.id')
->where('lelongbid.norujukan', $request->norujukan)
->select('lelongbid.id as lelongbid_id',
'lelongbid.t_lelong',
'lelongbid.nilaimarhun',
'lelongbid.cajlelong',
'carts.hargabida')
->get();
// dd($selectBid[0]->hargabida);
$currentdate = Carbon::now()->toDateTimeString();
$lelongBidder = new LelongBidder();
$lelongBidder->nama_bidder = $request->name;
$lelongBidder->user_id = $user->id;
$lelongBidder->notelbimbit = $user->notelbimbit;
$lelongBidder->hargabida = $selectBid[0]->hargabida;
$lelongBidder->lelongbid_id = $selectBid[0]->lelongbid_id;
$lelongBidder->nilaimarhun = $selectBid[0]->nilaimarhun;
$lelongBidder->cajlelong = $selectBid[0]->cajlelong;
$lelongBidder->masa_bidaan = $currentdate;
$lelongBidder->save();
return response()->json("success", 201);
}
else if($feepayment == null){
return response()->json("unsuccess", 201);
}
}
public function listBidItem(Request $request){
$lelongbidder = LelongBidder::where('user_id','=', $request->user_id)
->get()->toArray();
foreach($lelongbidder as $index1=>$lelbid)
{
$lelongbid = LelongBid::whereIn('id',$lelongbidder)
->get()->toArray();
$lelongbidder[$index1]['lelongbid'] = $lelongbid;
}
return response()->json($lelongbidder);
}
public function searchLelByCaw(Request $request){
$currentdate = Carbon::now();
$currentdate = $currentdate->toDateString();
// $arrayLelong = [];
$lelong = Lelong::join('cawangan_lelong', 'lelong.id', '=', 'cawangan_lelong.lelong_id')
->where('tarikh_lelong','=',$currentdate)
->where('caw_id', '=', $request->caw_id)
->get()->toArray();
foreach($lelong as $index1=>$lel)
{
$lelongbid = LelongBid::where('lelong_id',$lel['lelong_id'])
->get()->toArray();
$lelong[$index1]['lelongbid'] = $lelongbid;
foreach($lelongbid as $index2=>$lelbidmarhun){
$cawangan = Cawangan::where('id','=',$lelbidmarhun['caw_id'])->first()->toArray();
// $id = lelongbid::first();
$lelongbidmarhun = LelongBidMarhun::where('lelongbid_id', $lelbidmarhun['id'])
->get()->toArray();
$lelong[$index1]['lelongbid'][$index2]['lelongbidmarhun'] = $lelongbidmarhun;
$lelong[$index1]['lelongbid'][$index2]['cawangan'] = $cawangan;
}
}
return response()->json($lelong);
}
}
@@ -0,0 +1,13 @@
<?php
namespace App\Http\Controllers\Mobile;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\Lelong;
use App\Models\Users;
class PaymentController extends Controller
{
//
}
@@ -0,0 +1,36 @@
<?php
namespace App\Http\Controllers\Mobile;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\ResetsPasswords;
use Illuminate\Http\Request;
class ResetPasswordController extends Controller
{
/*
|--------------------------------------------------------------------------
| Password Reset Controller
|--------------------------------------------------------------------------
|
| This controller is responsible for handling password reset requests
| and uses a simple trait to include this behavior. You're free to
| explore this trait and override any methods you wish to tweak.
|
*/
use ResetsPasswords;
protected function sendResetResponse(Request $request, $response)
{
return response(['message'=> trans($response)]);
}
protected function sendResetFailedResponse(Request $request, $response)
{
return response(['error'=> trans($response)], 422);
}
}
@@ -0,0 +1,53 @@
<?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 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();
// $user = User::all();
return response()->json($getUserNokp);
}
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);
}
}
@@ -0,0 +1,99 @@
<?php
namespace App\Http\Controllers\Mobile;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Illuminate\Auth\Events\Verified;
use Illuminate\Foundation\Auth\VerifiesEmails;
use Illuminate\Auth\Access\AuthorizationException;
class VerificationController extends Controller
{
/*
|--------------------------------------------------------------------------
| Email Verification Controller
|--------------------------------------------------------------------------
|
| This controller is responsible for handling email verification for any
| user that recently registered with the application. Emails may also
| be re-sent if the user didn't receive the original email message.
|
*/
use VerifiesEmails;
/**
* Where to redirect users after verification.
*
* @var string
*/
protected $redirectTo = '/';
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('auth:api')->only('resend');
$this->middleware('signed')->only('verify');
$this->middleware('throttle:6,1')->only('verify', 'resend');
}
/**
* Resend the email verification notification.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function resend(Request $request)
{
if ($request->user()->hasVerifiedEmail()) {
return response(['message'=>'Already verified']);
}
$request->user()->sendEmailVerificationNotification();
if ($request->wantsJson()) {
return response(['message' => 'Email Sent']);
}
return back()->with('resent', true);
}
/**
* Mark the authenticated user's email address as verified.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
* @throws \Illuminate\Auth\Access\AuthorizationException
*/
public function verify(Request $request)
{
auth()->loginUsingId($request->route('id'));
if ($request->route('id') != $request->user()->getKey()) {
throw new AuthorizationException;
}
if ($request->user()->hasVerifiedEmail()) {
return response(['message'=>'Already verified']);
// return redirect($this->redirectPath());
}
if ($request->user()->markEmailAsVerified()) {
event(new Verified($request->user()));
}
return response(['message'=>'Successfully verified']);
}
}