pla-version/app/Http/Controllers/StatsController.php
Deon George 2d3ca833f9
All checks were successful
Create Docker Image / Build Docker Image (arm64) (push) Successful in 1m26s
Create Docker Image / Final Docker Image Manifest (push) Successful in 9s
Create Docker Image / Build Docker Image (x86_64) (push) Successful in 27s
Implement version table, update APIs when getting version info from github because the tags API was not retrieving our current git tags
2025-03-09 22:06:39 +11:00

32 lines
975 B
PHP

<?php
namespace App\Http\Controllers;
use AgliPanci\LaravelCase\Facades\CaseBuilder;
use Illuminate\Support\Facades\DB;
use App\Models\SiteVersion;
class StatsController extends Controller
{
public function home()
{
$case = CaseBuilder::whenRaw("version ~ '-dev-'")->thenRaw("CONCAT(SPLIT_PART(version,'-',1),'-',SPLIT_PART(version,'-',2))")
->whenRaw("version ~ '-00000000$'")->thenRaw("CONCAT(SPLIT_PART(version,'-',1),'-GIT')")
->whenRaw("version ~ '^v[0-9]+\.[0-9]+\.[0-9]+'")->thenRaw("SPLIT_PART(version,'-',1)")
->elseRaw("'unknown'");
$stats = SiteVersion::select([
DB::raw('DATE(site_versions.created_at) AS created_at'),
//'site_versions.version',
DB::raw('count(distinct site_id) as total')
])
->selectRaw($case->toRaw().' AS ver')
->join('versions','versions.id','=','site_versions.version_id')
->groupBy([DB::raw('DATE(site_versions.created_at)'),'ver'])
;
return view('stats')
->with('query',$stats->get());
}
}