PK!A7��nhas('to')) { Log::debug("[SmsController], [sendsms], to Parameter Missing"); return response()->json(['msg' => config('messages.PARAM_MISSING')], 400); } else if (strlen($request->to) < 9) { Log::debug("[SmsController], [sendsms], To [$request->to], Not a valid msisdn"); return response()->json(['msg' => config('messages.WRONG_MSISDN')], 400); } else if (!$request->has('from') && strlen($request->from) < 1) { Log::debug("[SmsController], [sendsms], from Parameter Missing"); return response()->json(['msg' => config('messages.PARAM_MISSING')], 400); } else if (!$request->has('sms') && strlen($request->sms) < 1) { Log::debug("[SmsController], [sendsms], sms Parameter Missing"); return response()->json(['msg' => config('messages.PARAM_MISSING')], 400); } // else if (!$request->has('unicode')) { // Log::debug("[SmsController], [sendsms], unicode Parameter Missing"); // return response()->json(['msg' => config('messages.PARAM_MISSING')], 400); // } try { // if ($request->unicode != 1) { // $request->unicode = 0; // } $token = $request->bearerToken(); if (!empty($token)) { $cachedtoken = Redis::get($token); if (isset($cachedtoken)) { Log::debug("[SmsController], [sendSms], Token in cache"); $stringLength = Str::length($request->sms); $messagesCount = ceil($stringLength / 160); Log::debug("[SmsController], [sendSms], Messages Count [$messagesCount] "); $userId = Redis::get($token . '_userId'); Log::debug("[SmsController], [sendSms], REQ [$userId], To [$request->to], From [$request->from], Unicode [$request->unicode], SMS Text [$request->sms]"); $senderId = manageSenderIds::where('user_id', $userId)->where('sender_id', $request->from)->where('status', 2)->first(); if (null != $senderId) { $account = accountCredits::where('user_id', $userId)->first(); Log::debug("[SmsController], [sendSms],Account Credits SMS [$account->sms], Email [$account->email], Voice [$account->email],"); if ($account->sms >= $messagesCount) { $dt = Carbon::now(); $randNum = random_int(1000, 9999); $msisdn = '260' . substr($request->to, -9); $user = []; $user['user_id'] = $userId; $user['message_id'] = 0; $user['sender_id'] = env('ORIGIN_ADDR'); $user['msisdn'] = $msisdn; $user['content'] = $request->sms; $user['unicode'] = $request->unicode; $user['status'] = 1; //1 for send 2 for delivered $lId = event(new smsHistory($user)); $lastId = $lId[0]; // Log::debug("[SmsController], LastId [$lastId]"); $sms = $account->sms - $messagesCount; $msg = $request->sms; $from = $request->from; // if ("API" == env("SMS_SEND_MODE")) { $mssg = SmsLib::sendSMS($msisdn, $msg); Log::debug("[SmsController], Api-Response [$mssg]"); $data = json_decode($mssg); $message = $data->message; $messageId = $data->response[1]; $status = $data->response[2]; if ($status == "Success") { quick_report::where('id', $lastId)->update(['message_id' => $messageId, 'status' => 2]); $updatecredit = accountCredits::where('user_id', $user)->update(['sms' => $sms]); return response()->json([ 'messageId' => $messageId, 'msg' => $message], 200); } else { quick_report::where('id', $lastId)->update(['status' => 3]); return response()->json([ 'msg' => $message], 200); } } else { Log::debug("[SmsController], [sendSms],No Credits"); return response()->json(['msg' => "You don't have SMS credits, kindly purchase SMS bundle to continue."], 400); } } else { Log::debug("[SmsController], [sendSms],from Does not exist"); return response()->json(['msg' => "From Does not exist"], 400); } } else { $user = User::where('identity_token', $token)->first(); if (!empty($user)) { $uid = $user->id; Log::debug("[SmsController], [sendSms], REQ [$uid], To [$request->to], From [$request->from], Unicode [$request->unicode], SMS Text [$request->sms]"); if (null != $user) { $senderId = manageSenderIds::where('user_id', $uid)->where('sender_id', $request->from)->where('status', 2)->first(); if (null != $senderId) { $stringLength = Str::length($request->sms); $messageCount = ceil($stringLength / 160); Log::debug("[SmsController], [sendSms], Messages Count [$messageCount] "); $account = accountCredits::where('user_id', $user->id)->first(); Log::debug("[SmsController], [sendSms],Account Credits SMS [$account->sms], Email [$account->email], Voice [$account->email],"); if ($account->sms >= $messageCount) { Redis::set($token, $user->identity_token, 'EX', 1800); Redis::set($token . '_' . 'userId', $user->id, 'EX', 1800); $dt = Carbon::now(); $randNum = random_int(1000, 9999); $message_id = date('YmdHis', strtotime($dt)) . $randNum . $user->id . time(); $msisdn = '260' . substr($request->to, -9); $user = []; $user['user_id'] = $uid; $user['message_id'] = $message_id; $user['sender_id'] = $request->from; $user['msisdn'] = $msisdn; $user['content'] = $request->sms; $user['unicode'] = $request->unicode; $user['status'] = 1; //1 for send 2 for delivered $lId = event(new smsHistory($user)); $lastId = $lId[0]; Log::debug("[SmsController], LastId [$lastId]"); $sms = $account->sms - $messageCount; $msisdn = $request->to; $msg = $request->sms; // $from = $request->from; $mssg = SmsLib::sendSMS($msisdn, $msg); Log::debug("[SmsController], Api-Response [$mssg]"); $data = json_decode($mssg); $message = $data->message; $messageId = $data->response[1]; $status = $data->response[2]; if ($status == "Success") { quick_report::where('id', $lastId)->update(['message_id' => $messageId, 'status' => 2]); $updatecredit = accountCredits::where('user_id', $user)->update(['sms' => $sms]); return response()->json([ 'messageId' => $messageId, 'msg' => $message], 200); } else { quick_report::where('id', $lastId)->update(['status' => 3]); return response()->json([ 'msg' => $message], 400); } } else { Log::debug("[SmsController], [sendSms],No Credits."); return response()->json(['msg' => "You don't have SMS credits, kindly purchase SMS bundle to continue."], 400); } } else { Log::debug("[SmsController], [sendSms], from Does not exist"); return response()->json(['msg' => "from Does not exist"], 400); } } else { Log::debug("[SmsController], [sendSms],User not found"); return response()->json(['msg' => "Invalid credentials"], 400); } } else { Log::debug("[SmsController], [sendSms],User not found"); return response()->json(['msg' => " user is not valid "], 400); } } } else { Log::debug("[SmsController], [sendSms],Token not found"); return response()->json(['msg' => "Token not found"], 400); } } catch (Exception $e) { Log::debug("[SmsController], [sendSms], Msisdn [$request->to], Exception [" . $e->getMessage() . "]"); return response()->json(["msg" => "Failed to Request for Pyment"], 400); } } /** * @OA\Get( * path="/api/sms/send/{to}/{from}/{unicode}/{sms}", * operationId="sendsmsget", * tags={"Sms"}, * summary="sendsmsget", * description="sendsmsget", * @OA\Parameter( * in="path", * name="to", * required=true, * ), * @OA\Parameter( * in="path", * name="from", * required=true, * ), * @OA\Parameter( * in="path", * name="unicode", * required=true, * ), * @OA\Parameter( * in="path", * name="sms", * required=true, * ), * @OA\Response( * response=202, * description="sendsmsget", * @OA\JsonContent() * ), * @OA\Response(response=400, description="Bad Request"), * @OA\Response(response=404, description="Resource Not Found"), * security={{ "apiAuth": {} }} * ) */ public function sendsmsget(Request $request, $to, $from, $unicode, $sms) { if (!$to) { Log::debug("[SmsController], [sendsmsget], to Parameter Missing"); return response()->json(['msg' => "to Parameter Missing"], 400); } else if (strlen($to) < 9) { Log::debug("[SmsController], [sendsms], To [$to], Not a valid msisdn"); return response()->json(['msg' => config('messages.WRONG_MSISDN')], 400); } else if (!$sms) { Log::debug("[SmsController], [sendsmsget], sms Parameter Missing"); return response()->json(['msg' => "sms Parameter Missing"], 400); } else if (!$from) { Log::debug("[SmsController], [sendsmsget], from Parameter Missing"); return response()->json(['msg' => "from Parameter Missing"], 400); } // else if (!$unicode) { // Log::debug("[SmsController], [sendsmsget], unicode Parameter Missing"); // return response()->json(['msg' => "unicode Parameter Missing"], 400); // } try { // if ($unicode != 1) { // $unicode = 0; // } $token = $request->bearerToken(); $msisdn = '260' . substr($to, -9); if (!empty($token)) { $cachedtoken = Redis::get($token); if (isset($cachedtoken)) { $userId = Redis::get($token . '_userId'); Log::debug("[SmsController], [sendSms],Token in cache"); $stringLength = Str::length($sms); $messagesCount = ceil($stringLength / 160); Log::debug("[SmsController], [sendSms], Messages [$messagesCount]"); $senderId = manageSenderIds::where('userid', $userId)->where('senderid', $from)->where('status', 2)->first(); if (null != $senderId) { $account = accountCredits::where('user_id', $userId)->first(); Log::debug("[SmsController], [sendSms],Account Credits SMS [$account->sms], Email [$account->email], Voice [$account->email],"); if ($account->sms >= $messagesCount) { $dt = Carbon::now(); $randNum = random_int(10000, 99999); $message_id = $randNum . date('YmdHis', strtotime($dt)); $user = []; $user['user_id'] = $userId; $user['message_id'] = 0; $user['sender_id'] = $from; $user['msisdn'] = $msisdn; $user['content'] = $sms; $user['unicode'] = $unicode; $user['status'] = 1; event(new smsHistory($user)); $sms = $account->sms - $messagesCount; $updatecredit = accountCredits::where('user_id', $user)->update(['sms' => $sms]); $msisdn = $to; $msg = $sms; $from = $from; $mssg = SmsLib::SendSMS($msisdn, $msg); $data = json_decode($mssg); $message = $data->message; $messageId = $data->response[1]; $status = $data->response[2]; if ($status == "Success") { quick_report::where('id', $lastId)->update(['message_id' => $messageId, 'status' => 2]); $updatecredit = accountCredits::where('user_id', $user)->update(['sms' => $sms]); return response()->json([ 'messageId' => $messageId, 'msg' => $message], 200); } else { quick_report::where('id', $lastId)->update(['status' => 3]); return response()->json([ 'msg' => $message], 400); } } else { Log::debug("[SmsController], [sendSms],No credits"); return response()->json(['msg' => "You don't have SMS credits, kindly purchase SMS bundle to continue."], 400); } } else { Log::debug("[SmsController], [sendSms],From Does not exist"); return response()->json(['msg' => "From Does not exist"], 400); } } else { $user = User::where('identity_token', $token)->first(); $uid = $user->id; if (null != $user) { $senderId = manageSenderIds::where('userid', $user->id)->where('senderid', $from)->where('status', 2)->first(); if (null != $senderId) { $stringLength = Str::length($sms); $messageCount = ceil($stringLength / 160); $account = accountCredits::where('user_id', $user->id)->first(); Log::debug("[SmsController], [sendSms],Account Credits SMS [$account->sms]"); if ($account->sms >= $messageCount) { Redis::set($token, $user->identity_token, 'EX', 1800); Redis::set($token . '_' . 'userId', $user->id, 'EX', 1800); $dt = Carbon::now(); $randNum = random_int(10000, 99999); $message_id = $randNum . date('YmdHis', strtotime($dt)); Log::debug("[SmsController], [sendSms], MessageId[ $message_id]"); $user = []; $user['user_id'] = $uid; $user['message_id'] = $message_id; $user['sender_id'] = $from; $user['msisdn'] = $msisdn; $user['content'] = $sms; $user['unicode'] = $unicode; $user['status'] = 1; event(new smsHistory($user)); $sms = $account->sms - $messageCount; //$msisdn = $msisdn; $msg = $sms; $from = $from; $mssg = SmsLib::sendSMS($msisdn, $msg); $data = json_decode($mssg); $message = $data->message; $messageId = $data->response[1]; $status = $data->response[2]; if ($status == "Success") { quick_report::where('id', $lastId)->update(['message_id' => $messageId, 'status' => 2]); accountCredits::where('user_id', $user)->update(['sms' => $sms]); return response()->json([ 'messageId' => $messageId, 'msg' => $message], 200); } else { quick_report::where('id', $lastId)->update(['status' => 3]); return response()->json([ 'msg' => $message], 400); } } else { Log::debug("[SmsController], [sendSms],No Credits found"); return response()->json(['msg' => "You don't have SMS credits, kindly purchase SMS bundle to continue."], 400); } } else { Log::debug("[SmsController], [sendSms],from Does not exist"); return response()->json(['msg' => "from Does not exist"], 400); } } else { Log::debug("[SmsController], [sendSms],User not found"); return response()->json(['msg' => "Invalid credentials"], 400); } } } else { Log::debug("[SmsController], [sendSms],Token not found"); return response()->json(['msg' => "Token not found"], 400); } } catch (Exception $e) { Log::debug("[SmsController], [sendsmsget], Msisdn [$to], Exception [" . $e->getMessage() . "]"); return response()->json(["msg" => "Failed to send sms"], 400); } } /** * @OA\Post( * path="/api/sms/checkbalance", * operationId="balancestaus", * tags={"Sms"}, * summary="balancestaus", * description="balancestaus", * @OA\RequestBody( * @OA\JsonContent(), * @OA\MediaType( * mediaType="application/x-www-form-urlencoded", * @OA\Schema( * type="object", * @OA\Property(property="notification", type="boolean" , description="eg. true or false"), * ), * ), * ), * @OA\Response( * response=202, * description="Request FOr Payment", * @OA\JsonContent() * ), * @OA\Response(response=400, description="Bad Request"), * @OA\Response(response=404, description="Resource Not Found"), * security={{ "apiAuth": {} }} * ) */ public function balancestatus(Request $request) { try { $token = $request->bearerToken(); if (!empty($token)) { $cachedtoken = Redis::get($token); if (isset($cachedtoken)) { Log::debug("[SmsController], [checkbalance],Token in cache"); $user = Redis::get($token . '_userId'); $usercredit = accountCredits::where('user_id', $user)->first(); Log::debug("[SmsController], [checkbalance], SMS [$usercredit->sms], Email [$usercredit->email], Voice [$usercredit->email], userId [$usercredit->user_id]"); return response()->json([ 'userId' => $usercredit->user_id, 'sms' => $usercredit->sms, 'email' => $usercredit->email, 'voice' => $usercredit->voice, 'msg' => "User Credits"], 200); } else { $user = User::where('identity_token', $token)->first(); if (null != $user) { Redis::set($token, $user->identity_token, 'EX', 1800); Redis::set($token . '_' . 'userId', $user->id, 'EX', 1800); $user = Redis::get($token . '_userId'); $usercredit = accountCredits::where('user_id', $user)->first(); Log::debug("[SmsController], [checkbalance], SMS [$usercredit->sms], Email [$usercredit->email], Voice [$usercredit->email], userId [$usercredit->user_id]"); return response()->json([ 'userId' => $usercredit->user_id, 'sms' => $usercredit->sms, 'email' => $usercredit->email, 'voice' => $usercredit->voice, 'msg' => "User Credits"], 200); } else { Log::debug("[SmsController], [checkbalance],User not found"); return response()->json(['msg' => "Invalid credentials"], 400); } } } else { Log::debug("[SmsController], [checkbalance],Token not found"); return response()->json(['msg' => "Token not found"], 400); } } catch (Exception $e) { Log::debug("[SmsController], [checkbalance], Msisdn [$Msisdn], Exception [" . $e->getMessage() . "]"); return response()->json(["msg" => "Failed to Request for Pyment"], 400); } } /** * @OA\Get( * path="/api/sms/checkbalance", * operationId="balancestatusget", * tags={"Sms"}, * summary="balancestatusget", * description="balancestatusget", * @OA\Response( * response=202, * description="balancestatusget", * @OA\JsonContent() * ), * @OA\Response(response=400, description="Bad Request"), * @OA\Response(response=404, description="Resource Not Found"), * security={{ "apiAuth": {} }} * ) */ public function balancestatusget(Request $request) { try { $token = $request->bearerToken(); if (!empty($token)) { $cachedtoken = Redis::get($token); if (isset($cachedtoken)) { $user = Redis::get($token . '_userId'); Log::debug("[SmsController], [checkbalance],Token in cache"); $usercredit = accountCredits::where('user_id', $user)->first(); Log::debug("[SmsController], [checkbalance], SMS [$usercredit->sms], Email [$usercredit->email], Voice [$usercredit->email], userId [$usercredit->user_id]"); return response()->json([ 'sms' => $usercredit->sms, 'email' => $usercredit->email, 'voice' => $usercredit->voice, 'msg' => "User Credits"], 200); } else { $user = User::where('identity_token', $token)->first(); if (null != $user) { Redis::set($token, $user->identity_token, 'EX', 1800); Redis::set($token . '_' . 'userId', $user->id, 'EX', 1800); $user = Redis::get($token . '_userId'); $usercredit = accountCredits::where('user_id', $user)->first(); Log::debug("[SmsController], [checkbalance],SMS [$usercredit->sms], Email [$usercredit->email], Voice [$usercredit->email], userId [$usercredit->user_id]"); return response()->json([ 'sms' => $usercredit->sms, 'email' => $usercredit->email, 'voice' => $usercredit->voice, 'msg' => "User Credits"], 200); } else { Log::debug("[SmsController], [checkbalance],User not found"); return response()->json(['msg' => "Invalid credentials"], 400); } } } else { Log::debug("[SmsController], [checkbalance],Token not found"); return response()->json(['msg' => "Token not found"], 400); } } catch (Exception $e) { Log::debug("[SmsController], [checkbalance], Msisdn [$Msisdn], Exception [" . $e->getMessage() . "]"); return response()->json(["msg" => "Failed to Request for Pyment"], 400); } } /** * @OA\Post( * path="/api/sms/getstatus", * operationId="deliverystatus", * tags={"Sms"}, * summary="getstatus", * description="getstatus", * @OA\RequestBody( * @OA\JsonContent(), * @OA\MediaType( * mediaType="application/x-www-form-urlencoded", * @OA\Schema( * type="object", * required={"messageId"}, * @OA\Property(property="messageId", type="text"), * @OA\Property(property="notification", type="boolean" , description="eg. true or false"), * ), * ), * ), * @OA\Response( * response=202, * description="Request FOr Payment", * @OA\JsonContent() * ), * @OA\Response(response=400, description="Bad Request"), * @OA\Response(response=404, description="Resource Not Found"), * security={{ "apiAuth": {} }} * ) */ public function deliverystatus(Request $request) { if (!$request->has('messageId')) { Log::debug("[SmsController], [deliverystatus], messageId Parameter Missing"); return response()->json(['msg' => config('messages.PARAM_MISSING')], 400); } try { $token = $request->bearerToken(); if (!empty($token)) { $cachedtoken = Redis::get($token); if (isset($cachedtoken)) { Log::debug("[SmsController], [checkbalance],Token in cache"); $user = Redis::get($token . '_userId'); $userMessages = MessageingReport::where('user_id', $user)->where('message_id', $request->messageId)->first(); if (!empty($userMessages)) { Log::debug("[SmsController], [deliverystatus], messageId [$request->messageId], messageStatus [$userMessages->status], cachedUserId[$user],"); if ($userMessages->status == 1) { return response()->json([ 'msg' => "Message Sent"], 200); } elseif ($userMessages->status == 2) { return response()->json([ 'msg' => "Message delivered"], 200); } elseif ($userMessages->status == 3) { return response()->json([ 'msg' => "Message Not Delivered"], 200); } else { return response()->json([ 'msg' => "Message Failed To Send"], 200); } } else { Log::debug("[SmsController], [deliverystatus], cache, MessageId not correct"); return response()->json(['msg' => " MessageId not correct"], 400); } } else { $user = User::where('identity_token', $token)->first(); if (null != $user) { Redis::set($token, $user->identity_token, 'EX', 1800); Redis::set($token . '_' . 'userId', $user->id, 'EX', 1800); $cachedtoken = Redis::get($token); $user = Redis::get($token . '_userId'); $userMessages = MessageingReport::where('user_id', $user)->where('message_id', $request->messageId)->first(); if (!empty($userMessages)) { Log::debug("[SmsController], [deliverystatus], messageId [$request->messageId], messageStatus [$userMessages->status], cachedUserId[$user],"); if ($userMessages->status == 1) { return response()->json([ 'msg' => "Message Sent"], 200); } elseif ($userMessages->status == 2) { return response()->json([ 'msg' => "Message delivered"], 200); } elseif ($userMessages->status == 3) { return response()->json([ 'msg' => "Message Not Delivered"], 200); } else { return response()->json([ 'msg' => "Message Failed To Send"], 200); } } else { Log::debug("[SmsController], [deliverystatus], MessageId not Correct"); return response()->json(['msg' => "MessageId not Correct"], 400); } } else { Log::debug("[SmsController], [deliverystatus], No user Found"); return response()->json(['msg' => " No user found"], 400); } } } else { Log::debug("[SmsController], [deliverystatus],Token not Found"); return response()->json(['msg' => "Token not Found"], 400); } } catch (Exception $e) { Log::debug("[SmsController], [deliverystatus], Msisdn [$msisdn], Exception [" . $e->getMessage() . "]"); return response()->json(["msg" => "Failed to Request for Pyment"], 400); } } /** * @OA\Get( * path="/api/sms/getstatus/{messageId}", * operationId="deliverystatusget", * tags={"Sms"}, * summary="deliverystatusget", * description="deliverystatusget", * @OA\Parameter( * in="path", * name="messageId", * required=true, * ), * @OA\Response( * response=202, * description="deliverystatusget", * @OA\JsonContent() * ), * @OA\Response(response=400, description="Bad Request"), * @OA\Response(response=404, description="Resource Not Found"), * security={{ "apiAuth": {} }} * ) */ public function deliverystatusget(Request $request, $messageId) { if (!$messageId) { Log::debug("[SmsController], [deliverystatusget], messageId Parameter Missing"); return response()->json(['msg' => config('messages.PARAM_MISSING')], 400); } try { $token = $request->bearerToken(); if (!empty($token)) { $cachedtoken = Redis::get($token); if (isset($cachedtoken)) { Log::debug("[SmsController], [checkbalance],Token in cache"); $user = Redis::get($token . '_userId'); $userMessages = MessageingReport::where('message_id', $request->messageId)->where('user_id', $user)->first(); if (!empty($userMessages)) { Log::debug("[SmsController], [deliverystatusget], messageId [$request->messageId], messageStatus [$userMessages->status], cachedUserId[$user],"); if ($userMessages->status == 1) { return response()->json([ 'msg' => "Message Sent"], 200); } elseif ($userMessages->status == 2) { return response()->json([ 'msg' => "Message delivered"], 200); } elseif ($userMessages->status == 3) { return response()->json([ 'msg' => "Message Not Delivered"], 200); } else { return response()->json([ 'msg' => "Message Failed To Send"], 200); } } else { Log::debug("[SmsController], [deliverystatusget], MessageId not Correct"); return response()->json(['msg' => "MessageId not Correct"], 400); } } else { $user = User::where('identity_token', $token)->first(); if (null != $user) { Redis::set($token, $user->identity_token, 'EX', 1800); Redis::set($token . '_' . 'userId', $user->id, 'EX', 1800); $cachedtoken = Redis::get($token); $user = Redis::get($token . '_userId'); $userMessages = MessageingReport::where('user_id', $user)->where('message_id', $request->messageId)->first(); if (!empty($userMessages)) { Log::debug("[SmsController], [deliverystatusget], messageId [$request->messageId], messageStatus [$userMessages->status], UserId[$user],"); if ($userMessages->status == 1) { return response()->json([ 'msg' => "Message Sent"], 200); } elseif ($userMessages->status == 2) { return response()->json([ 'msg' => "Message delivered"], 200); } elseif ($userMessages->status == 3) { return response()->json([ 'msg' => "Message Not Delivered"], 200); } else { return response()->json([ 'msg' => "Message Failed To Send"], 200); } } else { Log::debug("[SmsController], [deliverystatusget], MessageId not Correct"); return response()->json(['msg' => "MessageId not Correct"], 400); } } else { Log::debug("[SmsController], [deliverystatusget], No Credits found"); return response()->json(['msg' => " NO Credits"], 400); } } } else { Log::debug("[SmsController], [deliverystatusget],Token not Found"); return response()->json(['msg' => "Token not Found"], 400); } } catch (Exception $e) { Log::debug("[SmsController], [getpayrequest], Msisdn [$msisdn], Exception [" . $e->getMessage() . "]"); return response()->json(["msg" => "Failed to Request for Pyment"], 400); } } // /** // * @OA\Post( // * path="/api/sms/getsms", // * operationId="getsms", // * tags={"Sms"}, // * summary="getsms", // * description="getsms", // * @OA\RequestBody( // * @OA\JsonContent(), // * @OA\MediaType( // * mediaType="application/x-www-form-urlencoded", // * @OA\Schema( // * type="object", // * required={"clientId"}, // * @OA\Property(property="clientId", type="text"), // * @OA\Property(property="notification", type="boolean" , description="eg. true or false"), // * ), // * ), // * ), // * @OA\Response( // * response=202, // * description="Request FOr Payment", // * @OA\JsonContent() // * ), // * @OA\Response(response=400, description="Bad Request"), // * @OA\Response(response=404, description="Resource Not Found"), // * security={{ "apiAuth": {} }} // * ) // */ // public function getsms(Request $request) // { // if (!$request->has('clientId')) { // Log::debug("[SmsController], [getsms], clientId Parameter Missing"); // return response()->json(['msg' => config('messages.PARAM_MISSING')], 400); // } // try { // $token = $request->bearerToken(); // $cachedtoken = Redis::get($token); // if (isset($cachedtoken)) { // if ($cachedtoken == $token) { // $user = Redis::get($token . '_userId'); // $userMessages = MessageingReport::where('user_id', $user)->get(); // Log::debug("[SmsController], [getsms], formCache messages[$userMessages] cachedTOken[$cachedtoken], cachedUserId[$user],User Credits"); // return response()->json([ // 'Messages' => $userMessages, // 'msg' => "User Credits"], 200); // } else { // Log::debug("[SmsController], [getsms], cache, No Credits found"); // return response()->json(['msg' => " NO Credits"], 400); // } // } else { // $user = User::where('identity_token', $token)->first(); // if (null != $user) { // Redis::set($token, $user->identity_token, 'EX', 1800); // Redis::set($token . '_' . 'userId', $user->id, 'EX', 1800); // $cachedtoken = Redis::get($token); // if ($cachedtoken == $token) { // $user = Redis::get($token . '_userId'); // $usermessages = MessageingReport::where('user_id', $user)->get(); // Log::debug("[SmsController], [getsms], Message[$usermessages] AddedcachedTken[$cachedtoken], AddedcachedUserId[$user],User Credits"); // return response()->json([ // 'userCredits' => $usermessages, // 'msg' => "User Credits"], 200); // } else { // Log::debug("[SmsController], [getsms], No Credits found"); // return response()->json(['msg' => " NO Credits"], 400); // } // } else { // Log::debug("[SmsController], [getsms], User not found"); // return response()->json(['msg' => "Invalid credentials"], 400); // } // } // } catch (Exception $e) { // Log::debug("[SmsController], [getsms], clientId [$request->clientId], Exception [" . $e->getMessage() . "]"); // return response()->json(["msg" => "Failed to Request for Pyment"], 400); // } // } // /** // * @OA\Get( // * path="/api/sms/getsmsget/{clientId}", // * operationId="getsmsget", // * tags={"Sms"}, // * summary="getsmsget", // * description="getsmsget", // * @OA\Parameter( // * in="path", // * name="clientId", // * required=true, // * ), // * @OA\Response( // * response=202, // * description="getsmsget", // * @OA\JsonContent() // * ), // * @OA\Response(response=400, description="Bad Request"), // * @OA\Response(response=404, description="Resource Not Found"), // * security={{ "apiAuth": {} }} // * ) // */ // public function getsmsget(Request $request, $clientId) // { // if (!$clientId) { // Log::debug("[SmsController], [getsmsget], clientId Parameter Missing"); // return response()->json(['msg' => config('messages.PARAM_MISSING')], 400); // } // try { // $token = $request->bearerToken(); // $cachedtoken = Redis::get($token); // if (isset($cachedtoken)) { // if ($cachedtoken == $token) { // $user = Redis::get($token . '_userId'); // $userMessages = MessageingReport::where('user_id', $user)->get(); // Log::debug("[SmsController], [getsmsget], formCache messages[$userMessages] cachedTOken[$cachedtoken], cachedUserId[$user],User Credits"); // return response()->json([ // 'Messages' => $userMessages, // 'msg' => "User Credits"], 200); // } else { // Log::debug("[SmsController], [getsmsget], cache, No Credits found"); // return response()->json(['msg' => " NO Credits"], 400); // } // } else { // $user = User::where('identity_token', $token)->first(); // if (null != $user) { // Redis::set($token, $user->identity_token, 'EX', 1800); // Redis::set($token . '_' . 'userId', $user->id, 'EX', 1800); // $cachedtoken = Redis::get($token); // if ($cachedtoken == $token) { // $user = Redis::get($token . '_userId'); // $usermessages = MessageingReport::where('user_id', $user)->get(); // Log::debug("[SmsController], [getsmsget], Message[$usermessages] AddedcachedTken[$cachedtoken], AddedcachedUserId[$user],User Credits"); // return response()->json([ // 'userCredits' => $usermessages, // 'msg' => "User Credits"], 200); // } else { // Log::debug("[SmsController], [getsmsget], No Credits found"); // return response()->json(['msg' => " NO Credits"], 400); // } // } else { // Log::debug("[SmsController], [getsmsget], User not found"); // return response()->json(['msg' => "Invalid credentials"], 400); // } // } // } catch (Exception $e) { // Log::debug("[SmsController], [getsms], clientId [$request->clientId], Exception [" . $e->getMessage() . "]"); // return response()->json(["msg" => "Failed to Request for Pyment"], 400); // } // } }