add fake data

This commit is contained in:
2025-07-22 14:59:57 +03:30
parent d9442c21d1
commit 0b543ac1f0
8 changed files with 148 additions and 4 deletions

View File

@@ -0,0 +1,23 @@
<?php
namespace App\Http\Controllers\Setad;
use App\Facades\DataTable\DataTableFacade;
use App\Http\Controllers\Controller;
use App\Models\CountryCallsReport;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
class CumulativeCentersStatsController extends Controller
{
public function index(Request $request): JsonResponse
{
$data = DataTableFacade::run(
CountryCallsReport::query(),
$request,
allowedFilters: ['*'],
allowedSortings: ['*'],
);
return response()->json($data);
}
}

View File

@@ -0,0 +1,23 @@
<?php
namespace App\Http\Controllers\Setad;
use App\Facades\DataTable\DataTableFacade;
use App\Http\Controllers\Controller;
use App\Models\CountryKeypressReport;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
class CumulativeKeypressStatsController extends Controller
{
public function index(Request $request): JsonResponse
{
$data = DataTableFacade::run(
CountryKeypressReport::query(),
$request,
allowedFilters: ['*'],
allowedSortings: ['*'],
);
return response()->json($data);
}
}

View File

@@ -0,0 +1,23 @@
<?php
namespace App\Http\Controllers\Setad;
use App\Facades\DataTable\DataTableFacade;
use App\Http\Controllers\Controller;
use App\Models\CountryVoiceRatingReport;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
class CumulativeVoiceRatingStatsController extends Controller
{
public function index(Request $request): JsonResponse
{
$data = DataTableFacade::run(
CountryVoiceRatingReport::query(),
$request,
allowedFilters: ['*'],
allowedSortings: ['*'],
);
return response()->json($data);
}
}

View File

@@ -2,6 +2,7 @@
namespace Database\Factories;
use App\Models\Province;
use Illuminate\Database\Eloquent\Factories\Factory;
/**
@@ -17,7 +18,21 @@ class CountryCallsReportFactory extends Factory
public function definition(): array
{
return [
//
'province_id' => Province::factory(),
'date' => $this->faker->date(),
'total' => $this->faker->numberBetween(1000, 10000),
'route_to_teh4' => $this->faker->numberBetween(10, 100),
'route_to_teh5' => $this->faker->numberBetween(10, 100),
'route_to_os4' => $this->faker->numberBetween(10, 100),
'route_to_os5' => $this->faker->numberBetween(10, 100),
'answered' => $this->faker->numberBetween(10, 100),
'answered_over10' => $this->faker->numberBetween(10, 100),
'missed' => $this->faker->numberBetween(10, 100),
'dnd' => $this->faker->numberBetween(10, 100),
'transferred' => $this->faker->numberBetween(10, 100),
'talked_to_operator' => $this->faker->numberBetween(10, 100),
'average_calls_time' => $this->faker->numberBetween(10, 100),
'fails' => $this->faker->numberBetween(10, 100),
];
}
}

View File

@@ -2,6 +2,7 @@
namespace Database\Factories;
use App\Models\Province;
use Illuminate\Database\Eloquent\Factories\Factory;
/**
@@ -17,7 +18,23 @@ class CountryKeypressReportFactory extends Factory
public function definition(): array
{
return [
//
'province_id' => Province::factory(),
'date' => $this->faker->date(),
'total' => $this->faker->numberBetween(1000, 10000),
'key1' => $this->faker->numberBetween(10, 100),
'key2' => $this->faker->numberBetween(10, 100),
'key3' => $this->faker->numberBetween(10, 100),
'key4' => $this->faker->numberBetween(10, 100),
'key5' => $this->faker->numberBetween(10, 100),
'key6' => $this->faker->numberBetween(10, 100),
'key9' => $this->faker->numberBetween(10, 100),
'key4_1' => $this->faker->numberBetween(10, 100),
'key4_2' => $this->faker->numberBetween(10, 100),
'key5_1' => $this->faker->numberBetween(10, 100),
'key5_2' => $this->faker->numberBetween(10, 100),
'key2_1' => $this->faker->numberBetween(10, 100),
'key2_2' => $this->faker->numberBetween(10, 100),
'key2_3' => $this->faker->numberBetween(10, 100),
];
}
}

View File

@@ -2,6 +2,7 @@
namespace Database\Factories;
use App\Models\Province;
use Illuminate\Database\Eloquent\Factories\Factory;
/**
@@ -17,7 +18,14 @@ class CountryMessageRatingReportFactory extends Factory
public function definition(): array
{
return [
//
'province_id' => Province::factory(),
'date' => $this->faker->date(),
'very_good' => $this->faker->numberBetween(10, 100),
'good' => $this->faker->numberBetween(10, 100),
'average' => $this->faker->numberBetween(10, 100),
'bad' => $this->faker->numberBetween(10, 100),
'very_bad' => $this->faker->numberBetween(10, 100),
'wrong_code' => $this->faker->numberBetween(10, 100),
];
}
}

View File

@@ -2,6 +2,7 @@
namespace Database\Factories;
use App\Models\Province;
use Illuminate\Database\Eloquent\Factories\Factory;
/**
@@ -17,7 +18,14 @@ class CountryVoiceRatingReportFactory extends Factory
public function definition(): array
{
return [
//
'province_id' => Province::factory(),
'date' => $this->faker->date(),
'voice_quality_ok' => $this->faker->numberBetween(10, 100),
'message_quality_ok' => $this->faker->numberBetween(10, 100),
'voice_format_ok' => $this->faker->numberBetween(10, 100),
'voice_quality_nok' => $this->faker->numberBetween(10, 100),
'message_quality_nok' => $this->faker->numberBetween(10, 100),
'voice_format_nok' => $this->faker->numberBetween(10, 100),
];
}
}

View File

@@ -8,6 +8,9 @@ use App\Http\Controllers\CallController;
use App\Http\Controllers\CategoryController;
use App\Http\Controllers\ProfileController;
use App\Http\Controllers\ProvinceController;
use App\Http\Controllers\Setad\CumulativeCentersStatsController;
use App\Http\Controllers\Setad\CumulativeKeypressStatsController;
use App\Http\Controllers\Setad\CumulativeVoiceRatingStatsController;
use App\Http\Middleware\SuperAdminCheck;
use Illuminate\Support\Facades\Route;
@@ -92,4 +95,28 @@ Route::prefix('server')->group(function () {
Route::post('/{role}', 'update')->name('update');
Route::delete('/{role}', 'destroy')->name('destroy');
});
Route::middleware('auth')
->prefix('cumulative_stats')
->name('cumulativeStats.')
->controller(CumulativeCentersStatsController::class)
->group(function () {
Route::get('/', 'index')->name('index');
});
Route::middleware('auth')
->prefix('cumulative_voice_ratings')
->name('cumulativeVoiceRatings.')
->controller(CumulativeVoiceRatingStatsController::class)
->group(function () {
Route::get('/', 'index')->name('index');
});
Route::middleware('auth')
->prefix('cumulative_keypress_stats')
->name('cumulativeKeypressStats.')
->controller(CumulativeKeypressStatsController::class)
->group(function () {
Route::get('/', 'index')->name('index');
});
});