Merge branch 'feature/VoiceFiles' into 'feature/CreateExcel'
Feature/voice files See merge request witel-back-end/crm!22
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\HeadquartersDashboard;
|
||||
|
||||
use App\Facades\DataTable\DataTableFacade;
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
||||
class CumulativeSupervisorPerformanceStatsController extends Controller
|
||||
{
|
||||
public function index(Request $request): JsonResponse
|
||||
{
|
||||
$query = DB::table('supervisor_performances')->selectRaw("
|
||||
province_id,
|
||||
province_name,
|
||||
SUM(calls) AS total,
|
||||
SUM(reviews) AS reviews,
|
||||
SUM(good) AS good,
|
||||
SUM(bad) AS bad
|
||||
")
|
||||
->groupBy('province_id', 'province_name')
|
||||
->unionAll(DB::table('supervisor_performances')->selectRaw("
|
||||
0 as province_id,
|
||||
'کشوری' as province_name,
|
||||
SUM(calls) AS total,
|
||||
SUM(reviews) AS reviews,
|
||||
SUM(good) AS good,
|
||||
SUM(bad) AS bad
|
||||
"));
|
||||
|
||||
return response()->json(
|
||||
DataTableFacade::run(
|
||||
$query,
|
||||
$request,
|
||||
allowedFilters: ['*'],
|
||||
allowedSortings: ['*'])
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -3,6 +3,7 @@
|
||||
namespace App\Http\Controllers\HeadquartersDashboard;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use app\Http\Traits\ApiResponse;
|
||||
use App\Models\Province;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
@@ -10,19 +11,20 @@ use Illuminate\Support\Facades\Hash;
|
||||
|
||||
class LoginToProvinceController extends Controller
|
||||
{
|
||||
public function loginToProvince(Request $request)
|
||||
use ApiResponse;
|
||||
|
||||
public function authenticate(Request $request)
|
||||
{
|
||||
$province_ip = Province::query()
|
||||
->Where('id', '=', $request->province_id)
|
||||
->value('ip_address');
|
||||
|
||||
$payload = [
|
||||
$data = [
|
||||
'user_id' => auth()->user()->id,
|
||||
'token' => Hash::make(config('globalVariables.LOGIN_HASH_VALUE')),
|
||||
'ip' => $province_ip,
|
||||
];
|
||||
|
||||
$url = $province_ip . "?" . http_build_query($payload);
|
||||
|
||||
return redirect($url);
|
||||
return $this->successResponse($data);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -37,9 +37,11 @@ class ProfileController extends Controller
|
||||
public function changeAvatar(ChangeAvatarRequest $request): JsonResponse
|
||||
{
|
||||
$user = auth()->user();
|
||||
|
||||
if ($user->avatar){
|
||||
FileFacade::delete($user->avatar, true);
|
||||
}
|
||||
|
||||
$user->update([
|
||||
'avatar' => FileFacade::save($request->file('avatar'), 'users/avatars/' . $request->username)
|
||||
]);
|
||||
@@ -49,16 +51,19 @@ class ProfileController extends Controller
|
||||
|
||||
public function online(Request $request): JsonResponse
|
||||
{
|
||||
User::query()->where('telephone_id', '=', $request->telephone_id)->update([
|
||||
'is_online' => true,
|
||||
]);
|
||||
User::query()
|
||||
->firstWhere('telephone_id', '=', $request->telephone_id)
|
||||
->update(['is_online' => true,]);
|
||||
|
||||
return $this->successResponse();
|
||||
}
|
||||
|
||||
public function offline(Request $request): JsonResponse
|
||||
{
|
||||
$user= User::query()->where('telephone_id', '=', $request->telephone_id)->first();
|
||||
$user->update(['is_online' => false]);
|
||||
User::query()
|
||||
->firstWhere('telephone_id', '=', $request->telephone_id)
|
||||
->update(['is_online' => false]);
|
||||
|
||||
return $this->successResponse();
|
||||
}
|
||||
|
||||
|
||||
@@ -4,6 +4,8 @@ namespace App\Http\Controllers\ProvinceDashboard\OperatorDialogues;
|
||||
|
||||
use App\Exports\OperatorDialogues\OperatorCartableExcel;
|
||||
use App\Http\Controllers\Controller;
|
||||
use app\Http\Traits\ApiResponse;
|
||||
use App\Models\OperatorDialogue;
|
||||
use App\Services\Dashboard\Province\OperatorDialogues\DataTableService;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use Illuminate\Http\Request;
|
||||
@@ -12,6 +14,7 @@ use Symfony\Component\HttpFoundation\BinaryFileResponse;
|
||||
|
||||
class OperatorController extends Controller
|
||||
{
|
||||
use ApiResponse;
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*/
|
||||
@@ -23,9 +26,9 @@ class OperatorController extends Controller
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*/
|
||||
public function show(string $id)
|
||||
public function show(OperatorDialogue $operatorDialogue): JsonResponse
|
||||
{
|
||||
//
|
||||
return $this->successResponse($operatorDialogue);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -44,5 +44,4 @@ class SupervisorController extends Controller
|
||||
$data = $dataTableService->dataTable($request, true);
|
||||
return Excel::download(new SupervisorCartableExcel($data['data']), $name);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -4,6 +4,8 @@ namespace App\Http\Controllers\ProvinceDashboard\PeopleMessages;
|
||||
|
||||
use App\Exports\PeopleMessages\SupervisorCartableExcel;
|
||||
use App\Http\Controllers\Controller;
|
||||
use app\Http\Traits\ApiResponse;
|
||||
use App\Models\PeopleMessage;
|
||||
use App\Services\Dashboard\Province\PeopleMessages\DataTableService;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use Illuminate\Http\Request;
|
||||
@@ -11,6 +13,8 @@ use Maatwebsite\Excel\Facades\Excel;
|
||||
|
||||
class SupervisorController extends Controller
|
||||
{
|
||||
use ApiResponse;
|
||||
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*/
|
||||
@@ -29,8 +33,8 @@ class SupervisorController extends Controller
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*/
|
||||
public function show(string $id)
|
||||
public function show(PeopleMessage $peopleMessage)
|
||||
{
|
||||
//
|
||||
return $this->successResponse($peopleMessage);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\ProvinceDashboard;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use app\Http\Traits\ApiResponse;
|
||||
use App\Models\User;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Support\Facades\Hash;
|
||||
|
||||
class VerifyAuthenticationController extends Controller
|
||||
{
|
||||
use ApiResponse;
|
||||
|
||||
public function login(Request $request)
|
||||
{
|
||||
if (!Hash::check(config('globalVariables.LOGIN_HASH_VALUE'), $request->token)) {
|
||||
return $this->errorResponse('Invalid token');
|
||||
}
|
||||
|
||||
$user = User::query()->findOrFail($request->user_id);
|
||||
|
||||
Auth::login($user);
|
||||
|
||||
return $this->successResponse();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user