| Server IP : 13.235.167.51 / Your IP : 216.73.217.116 Web Server : Apache System : Linux machinox-server 6.17.0-1013-aws #13~24.04.1-Ubuntu SMP Fri Apr 24 21:36:58 UTC 2026 aarch64 User : root ( 0) PHP Version : 8.2.29 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/app.machinox.in/app/Http/Controllers/WebService/ |
Upload File : |
<?php
namespace App\Http\Controllers\WebService;
use App\Actions\WebService\UserActions\ChangePasswordAction;
use App\Http\Controllers\Controller;
use Exception;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\DB;
use Illuminate\Http\Response;
use App\Http\Requests\WebService\UserRequests\ProfileRequest;
use App\Actions\WebService\UserActions\ProfileAction;
use App\Actions\WebService\UserActions\DeleteAccountAction;
use App\Http\Requests\WebService\UserRequests\ChangePasswordRequest;
use App\Http\Requests\WebService\UserRequests\ProfileImageUploadRequest;
use App\Actions\WebService\UserActions\UploadProfileImageAction;
use App\Models\Transaction;
use App\Models\UserSubscription;
use Illuminate\Http\Request;
class UserController extends Controller
{
public function GetMyProfile()
{
try {
$userInfo = Auth::guard('api')->user()->load('operatorInfo', 'userSubscriptions');
// Now append the booleans from your custom methods:
$userInfo->has_operator_subscription = $userInfo->hasOperatorSubscription();
$userInfo->has_seller_subscription = $userInfo->hasSellerSubscription();
$userInfo->has_rental_subscription = $userInfo->hasRentalSubscription();
$userInfo->has_prime_subscription = $userInfo->hasPrimeSubscription();
$is_guest = $userInfo->email === 'guest@mechinox.com' ? true : false;
$userInfo->is_guest = $is_guest;
return $this->sendSuccess(trans('messages.OK'), $userInfo);
} catch (\Throwable $th) {
return $this->sendError($th->getMessage());
}
}
public function SetProfileInfo(ProfileRequest $request, ProfileAction $action)
{
try {
DB::beginTransaction();
$response = $action->execute($request);
DB::commit();
return response()->json($response);
} catch (Exception $e) {
DB::rollBack();
return response()->json(["status" => "error", "message" => $e->getMessage()], Response::HTTP_NOT_FOUND);
}
}
public function changePassword(ChangePasswordRequest $request, ChangePasswordAction $action)
{
try {
DB::beginTransaction();
$response = $action->changePassword($request);
DB::commit();
return response()->json($response);
} catch (Exception $e) {
DB::rollBack();
return response()->json(["status" => "error", "message" => $e->getMessage()], Response::HTTP_NOT_FOUND);
}
}
public function deleteAccount(DeleteAccountAction $action)
{
$response = $action->execute();
return response()->json($response);
}
public function SetProfileImage(ProfileImageUploadRequest $request, UploadProfileImageAction $action)
{
$response = $action->execute($request);
return response()->json($response);
}
public function MySubscriptions()
{
$user = USER_ID();
try {
$response = UserSubscription::GetMySubscriptions();
if (!$response) {
return $this->sendError(trans('messages.NO_SUBSCRIPTION'), $response);
}
return $this->sendSuccess(trans('messages.OK'), $response);
} catch (Exception $e) {
return response()->json(['status' => 'error', 'message' => $e->getMessage()], 500);
}
}
public function Mytransactions(Request $request)
{
$userId = USER_ID();
try {
$response = Transaction::GetList($request, $userId);
if (!$response) {
return $this->sendError(trans('messages.NO_TRANSACTION'), $response);
}
return $this->sendSuccess(trans('messages.OK'), $response);
} catch (Exception $e) {
return response()->json(['status' => 'error', 'message' => $e->getMessage()], 500);
}
}
}