|
3 | 3 | namespace App\Http\Controllers; |
4 | 4 |
|
5 | 5 | use App\Helper\ProfileValidator; |
| 6 | +use App\Http\Resources\WikiResource; |
6 | 7 | use App\Jobs\KubernetesIngressCreate; |
7 | 8 | use App\Jobs\MediawikiInit; |
8 | 9 | use App\Jobs\ProvisionQueryserviceNamespaceJob; |
|
17 | 18 | use App\WikiProfile; |
18 | 19 | use App\WikiSetting; |
19 | 20 | use Illuminate\Http\Request; |
20 | | -use Illuminate\Support\Facades\App; |
21 | 21 | use Illuminate\Support\Facades\DB; |
22 | | -use Illuminate\Support\Facades\Validator; |
23 | 22 | use Illuminate\Support\Str; |
24 | 23 | use Illuminate\Support\Facades\Config; |
25 | 24 | use App\Helper\DomainValidator; |
@@ -63,14 +62,14 @@ public function create(Request $request): \Illuminate\Http\Response |
63 | 62 | 'username' => 'required', |
64 | 63 | 'profile' => 'nullable|json', |
65 | 64 | ]); |
66 | | - |
| 65 | + |
67 | 66 | $rawProfile = false; |
68 | 67 | if ($request->filled('profile') ) { |
69 | 68 | $rawProfile = json_decode($request->input('profile'), true); |
70 | 69 | $profileValidator = $this->profileValidator->validate($rawProfile); |
71 | 70 | $profileValidator->validateWithBag('post'); |
72 | 71 | } |
73 | | - |
| 72 | + |
74 | 73 | $wiki = null; |
75 | 74 | $dbAssignment = null; |
76 | 75 |
|
@@ -160,12 +159,12 @@ public function create(Request $request): \Illuminate\Http\Response |
160 | 159 | 'user_id' => $user->id, |
161 | 160 | 'wiki_id' => $wiki->id, |
162 | 161 | ]); |
163 | | - |
| 162 | + |
164 | 163 | // Create WikiProfile |
165 | 164 | if ($rawProfile) { |
166 | 165 | WikiProfile::create([ 'wiki_id' => $wiki->id, ...$rawProfile ] ); |
167 | 166 | } |
168 | | - |
| 167 | + |
169 | 168 |
|
170 | 169 | // TODO maybe always make these run in a certain order..? |
171 | 170 | dispatch(new MediawikiInit($wiki->domain, $request->input('username'), $user->email)); |
@@ -264,4 +263,10 @@ public static function isSubDomain( string $domain, string $subDomainSuffix = nu |
264 | 263 | $subDomainSuffix = $subDomainSuffix ?? Config::get('wbstack.subdomain_suffix'); |
265 | 264 | return preg_match('/' . preg_quote( $subDomainSuffix ) . '$/', $domain) === 1; |
266 | 265 | } |
| 266 | + |
| 267 | + public function show(Wiki $wiki) |
| 268 | + { |
| 269 | + $wiki->load('latestProfile'); |
| 270 | + return new WikiResource($wiki); |
| 271 | + } |
267 | 272 | } |
0 commit comments