Skip to content

Commit a991566

Browse files
committed
Add endpoint for wiki host map
1 parent 3850315 commit a991566

2 files changed

Lines changed: 38 additions & 0 deletions

File tree

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
<?php
2+
3+
namespace App\Http\Controllers\Backend;
4+
5+
use App\Http\Controllers\Controller;
6+
use Illuminate\Http\Request;
7+
8+
9+
class MediawikiHostMapController extends Controller {
10+
public function getWikiVersionToHostMapForDomain(Request $request): \Illuminate\Http\JsonResponse
11+
{
12+
$domain = $request->query('domain');
13+
$version = Wiki::where('domain', $domain)
14+
->whereNull('deleted_at')
15+
->leftJoin('wiki_dbs', 'wiki_id', '=', 'wikis.id')
16+
->pluck('version')
17+
->first();
18+
19+
if (is_null($version)) {
20+
abort(401);
21+
}
22+
$mapPath = "";
23+
if (!file_exists($mapPath)) {
24+
throw new \Exception("MW host mapping file not found at {$mapPath}");
25+
}
26+
$host = "something from $mapPath";
27+
28+
return response()
29+
->json([
30+
'domain' => $domain,
31+
'version' => $version,
32+
'host' => $host
33+
])
34+
->header('x-host', $host)
35+
->header('x-version', $version);
36+
}
37+
}

routes/backend.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ function () {
1818
$router->group(['prefix' => 'ingress'], function () use ($router) {
1919
// GET
2020
$router->get('getWikiVersionForDomain', ['uses' => 'IngressController@getWikiVersionForDomain']);
21+
$router->get('getWikiVersionToHostMapForDomain', ['uses' => 'MediawikiHostMapController@getWikiVersionToHostMapForDomain']);
2122
});
2223

2324
$router->group(['prefix' => 'wiki'], function () use ($router) {

0 commit comments

Comments
 (0)