get('/user', function (Request $request) { return $request->user(); }); Route::middleware([]) ->as('api.') ->group(function () { Route::resource('countries', \App\Http\Controllers\Api\CountryController::class); }); Route::middleware([]) ->as('api.') ->group(function () { Route::resource('languages', \App\Http\Controllers\Api\LanguageController::class); Route::get('meetups', function () { return \App\Models\Meetup::with([ 'city', ]) ->get() ->map(fn($meetup) => [ 'name' => $meetup->name, 'url' => $meetup->telegram_link ?? $meetup->webpage ?? $meetup->twitter_username, 'top' => $meetup->github_data['top'] ?? null, 'left' => $meetup->github_data['top'] ?? null, 'country' => str($meetup->city->country->code)->upper(), 'state' => $meetup->github_data['state'] ?? null, 'city' => $meetup->city->name, 'longitude' => $meetup->city->longitude, 'latitude' => $meetup->city->latitude, ]); }); }); Route::get('/lnurl-auth-callback', function (\Illuminate\Http\Request $request) { if (lnurl\auth($request->k1, $request->sig, $request->key)) { // find User by $wallet_public_key $user = User::where('public_key', $request->key) ->first(); if (!$user) { // create User $user = User::create([ 'public_key' => $request->key, 'is_lecturer' => true, 'name' => $request->key, ]); $user->ownedTeams() ->save(Team::forceCreate([ 'user_id' => $user->id, 'name' => $request->key."'s Team", 'personal_team' => true, ])); } // check if $k1 is in the database, if not, add it $loginKey = LoginKey::where('k1', $request->k1) ->first(); if (!$loginKey) { LoginKey::create([ 'k1' => $request->k1, 'user_id' => $user->id, ]); } return response()->json(['status' => 'OK']); } return response()->json(['status' => 'ERROR', 'reason' => 'Signature was NOT VERIFIED']); }) ->name('auth.ln.callback');