api code global jain
This commit is contained in:
182
app/Http/Controllers/Api/V1/Access/MessageController.php
Normal file
182
app/Http/Controllers/Api/V1/Access/MessageController.php
Normal file
@@ -0,0 +1,182 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Api\V1\Access;
|
||||
|
||||
use Carbon\Carbon;
|
||||
use App\Constant\Constant;
|
||||
use App\Models\UserBlocked;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
use App\Http\Controllers\Api\ApiController;
|
||||
use App\Repositories\Api\Access\Message\MessageInterface as MessageRepository;
|
||||
|
||||
class MessageController extends ApiController
|
||||
{
|
||||
/**
|
||||
* @param MessageRepository $messageRepository
|
||||
* MessageController constructor.
|
||||
*
|
||||
*/
|
||||
public function __construct(MessageRepository $messageRepository)
|
||||
{
|
||||
$this->messageRepository = $messageRepository;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Request $request
|
||||
* @return \Illuminate\Http\JsonResponse
|
||||
*/
|
||||
public function sendMessage(Request $request)
|
||||
{
|
||||
$response = [];
|
||||
|
||||
try{
|
||||
$response = $this->messageRepository->sendMessage($request);
|
||||
$this->setStatusCode($response['status']);
|
||||
|
||||
} catch (\Exception $ex) {
|
||||
Log::error($ex);
|
||||
$this->setStatusCode(403);
|
||||
}
|
||||
return $this->respond($response);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Request $request
|
||||
* @return \Illuminate\Http\JsonResponse
|
||||
*/
|
||||
public function messageThreadList(Request $request)
|
||||
{
|
||||
$response = [];
|
||||
|
||||
try{
|
||||
$response = $this->messageRepository->messageThreadList($request);
|
||||
$this->setStatusCode($response['status']);
|
||||
|
||||
} catch (\Exception $ex) {
|
||||
Log::error($ex);
|
||||
$this->setStatusCode(403);
|
||||
}
|
||||
return $this->respond($response);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Request $request
|
||||
* @param $id
|
||||
* @return \Illuminate\Http\JsonResponse
|
||||
*/
|
||||
public function messageList(Request $request)
|
||||
{
|
||||
$response = [];
|
||||
|
||||
$messageListing = $this->messageRepository->messageList($request);
|
||||
$messageData = (!empty($messageListing['data'])) ? $messageListing['data']->toArray() : $messageListing['data'];
|
||||
$temp = (!empty($messageListing['data'])) ? array_reverse($messageData['data']) : [];
|
||||
unset($messageData['data']);
|
||||
|
||||
$messageData['data'] = collect($temp)
|
||||
->groupBy(function ($val) {
|
||||
$val['created_at'] = Carbon::parse($val['created_at'])->format('Y/m/d');
|
||||
return Carbon::parse($val['created_at'])->format('Y/m/d');
|
||||
});
|
||||
|
||||
// $messageData['data'] = $messageData['data']->reverse();
|
||||
$user = getUserByID($request->user_id);
|
||||
|
||||
if ($user) {
|
||||
$messageData['receiver_image'] = !empty($user['avatar']) ? $user['avatar'] : url('media/avatars/avatar0.jpg');
|
||||
} else {
|
||||
$messageData['receiver_image'] = asset('/images/misc/shravak.png');
|
||||
}
|
||||
$messageData['unread_count'] = messagesCounter();
|
||||
|
||||
$userBlocked = UserBlocked::where('user_id', $user->id)->orWhere('blocked_by', loggedInUser()->id)->first();
|
||||
|
||||
//When user profile is blocked
|
||||
if (!empty($userBlocked)) {
|
||||
$isBlocked = Constant::STATUS_ONE;
|
||||
|
||||
//When profile is not blocked
|
||||
} else {
|
||||
$isBlocked = Constant::STATUS_ZERO;
|
||||
}
|
||||
|
||||
$messageData['is_blocked'] = $isBlocked;
|
||||
|
||||
if ($messageListing['status']) {
|
||||
$response = [
|
||||
'status' => __('api.messages.list'),
|
||||
'code' => 200,
|
||||
'data' => $messageData
|
||||
];
|
||||
} else {
|
||||
$response = [
|
||||
'status' => __('auth.something_went_wrong'),
|
||||
'code' => 500,
|
||||
'message' => $messageListing['error']
|
||||
];
|
||||
}
|
||||
|
||||
return response()->json($response, $response['code']);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Request $data
|
||||
* @param $id
|
||||
* @return \Illuminate\Http\JsonResponse
|
||||
*/
|
||||
public function searchMessage(Request $data, $id)
|
||||
{
|
||||
$response = [];
|
||||
|
||||
try{
|
||||
$response = $this->messageRepository->searchMessage($data, $id);
|
||||
$this->setStatusCode($response['status']);
|
||||
|
||||
} catch (\Exception $ex) {
|
||||
Log::error($ex);
|
||||
$this->setStatusCode(403);
|
||||
}
|
||||
|
||||
return $this->respond($response);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $messageThreadId
|
||||
* @return \Illuminate\Http\JsonResponse
|
||||
*/
|
||||
public function clearMessageConversation($messageThreadId)
|
||||
{
|
||||
$response = [];
|
||||
|
||||
try{
|
||||
$response = $this->messageRepository->clearMessageConversation($messageThreadId);
|
||||
$this->setStatusCode($response['status']);
|
||||
|
||||
} catch (\Exception $ex) {
|
||||
Log::error($ex);
|
||||
$this->setStatusCode(403);
|
||||
}
|
||||
|
||||
return $this->respond($response);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $id
|
||||
* @return \Illuminate\Http\JsonResponse
|
||||
*/
|
||||
public function deleteMessageThread($id)
|
||||
{
|
||||
$response = [];
|
||||
|
||||
try{
|
||||
$response = $this->messageRepository->deleteMessageThread($id);
|
||||
$this->setStatusCode($response['status']);
|
||||
|
||||
} catch (\Exception $ex) {
|
||||
Log::error($ex);
|
||||
$this->setStatusCode(403);
|
||||
}
|
||||
return $this->respond($response);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user