| 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\UploadCvAction;
use App\Actions\WebService\UserActions\OperatorAction;
use App\Http\Controllers\Controller;
use App\Http\Requests\WebService\OperatorRequests;
use App\Http\Requests\WebService\UploadCvRequest;
use App\Models\Notification;
use App\Models\Operator;
use App\Models\OperatorRequest;
use App\Models\User;
use Exception;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\DB;
class OperatorController extends Controller
{
public function SetProfileInfo(OperatorRequests $request, OperatorAction $action, $opId = null)
{
try {
$response = $action->execute($request, $opId);
$user = Auth::guard('api')->user();
return $this->sendSuccess(
$response['message'],
[
"uuid" => $response['uuid'],
'has_operator_subscription' => $user->hasOperatorSubscription(),
'has_seller_subscription' => $user->hasSellerSubscription(),
'has_rental_subscription' => $user->hasRentalSubscription()
]
);
} catch (Exception $e) {
return $this->sendError($e->getMessage());
}
}
public function GetList(Request $request, $modelId)
{
try {
$list = Operator::GetOperators($request, $modelId);
return $this->sendSuccess(trans('messages.OK'), $list);
} catch (Exception $th) {
return $this->sendError($th->getMessage());
}
}
public function GetInfo($id)
{
try {
$info = User::with('operatorInfo')->where('uuid', $id)->firstOrFail();
$isRequested = OperatorRequest::where('op_id', $info?->operatorInfo?->id)
->where('user_id', USER_ID())
->exists();
$info->is_interested = $isRequested;
$info->has_operator_subscription = $info->hasOperatorSubscription();
$info->has_seller_subscription = $info->hasSellerSubscription();
$info->has_rental_subscription = $info->hasRentalSubscription();
return $this->sendSuccess(trans('messages.OK'), $info);
} catch (Exception $th) {
return $this->sendError($th->getMessage());
}
}
public function SetRequestInfo($id)
{
$user = Auth::user();
try {
$op = Operator::find($id);
if (!$op) {
return $this->sendError(trans('messages.RECORD_NOT_FOUND'));
}
$res = new OperatorRequest();
$res->op_id = $op->id;
$res->user_id = $user->id;
$res->save();
Notification::SetNotification(
$op->user_id,
'Interested In Your Profile',
"User {$user->name} is interested in your profile",
'INTERESTED_VIEW',
null,
'1'
);
return $this->sendSuccess(trans('messages.OPERATOR_REQUEST_SUCCESS'));
} catch (Exception $th) {
return $this->sendError($th->getMessage());
}
}
public function SetPublishInfo($id)
{
try {
$op = Operator::find($id);
$op->is_publish = true;
$op->open_to_work = true;
$op->save();
return $this->sendSuccess(trans('messages.OPERATOR_PUBLISHED_SUCCESS'));
} catch (Exception $th) {
return $this->sendError($th->getMessage());
}
}
public function SetOperatorCv(UploadCvRequest $request, UploadCvAction $action, $opId)
{
try {
DB::beginTransaction();
$response = $action->upload($request, $opId);
DB::commit();
return $this->sendSuccess($response->message, ['uuid' => $response->uuid, 'path' => $response->Path],);
} catch (Exception $th) {
DB::rollBack();
return $this->sendError($th->getMessage());
}
}
public function getInterestList(Request $request)
{
try {
$user = Auth::user()->load('operatorInfo');
$opId = $user?->operatorInfo?->id;
$list = OperatorRequest::GetInterestedUsers($request, $opId);
return $this->sendSuccess(trans('messages.OK'), $list);
} catch (Exception $th) {
return $this->sendError($th->getMessage());
}
}
public function SetOpStatus($id)
{
try {
$user = Auth::user()->load('operatorInfo');
$opId = $user?->operatorInfo?->id;
$info = OperatorRequest::with('user')->find($id);
$info->status = "ACCEPT";
OperatorRequest::where('op_id', $opId)->where('status', 'PENDING')->update(['status' => 'REJECT']);
$username = $info?->user?->name;
Operator::where('id', $opId)->update(['open_to_work' => false]);
$info->save();
return $this->sendSuccess(trans('messages.INTEREST_ACCEPTED', ['username' => $username]));
} catch (Exception $th) {
return $this->sendError($th->getMessage());
}
}
public function SetOpenToWork()
{
try {
$user = Auth::user()->load('operatorInfo');
$opId = $user?->operatorInfo?->id;
Operator::where('id', $opId)->update([
'open_to_work' => !($user?->operatorInfo?->open_to_work)
]);
$newStatus = !($user?->operatorInfo?->open_to_work);
$messageKey = $newStatus
? 'messages.OPEN_TO_WORK_ENABLED'
: 'messages.OPEN_TO_WORK_DISABLED';
return $this->sendSuccess(trans($messageKey));
} catch (Exception $th) {
return $this->sendError($th->getMessage());
}
}
}