Register routes

This commit is contained in:
Daniel_I_Am 2020-08-29 01:22:33 +02:00
parent 28f22fa73b
commit 79d0fe2f51
No known key found for this signature in database
GPG Key ID: 80C428FCC9743E84
2 changed files with 114 additions and 6 deletions

View File

@ -0,0 +1,108 @@
<?php
namespace App\Http\Controllers;
use App\Services\CodeGeneratorService;
use App\Services\LodestoneApiService;
use App\Services\LodestoneCacheService;
use App\UserLink;
class LodestoneLinkController extends Controller
{
public function checkDiscordName(
string $server,
string $name,
int $discordGuildId,
int $discordUserId,
CodeGeneratorService $codeGeneratorService,
LodestoneCacheService $lodestoneCacheService,
LodestoneApiService $lodestoneApiService
) {
$character = $lodestoneCacheService->getCharacterByName($server, $name, $lodestoneApiService)->content;
if (UserLink::where('lodestoneId', $character['Character']['ID'])->count() > 0)
return [
'linked' => true
];
// TODO: Store this code in the LinkCode table
$code = $codeGeneratorService->generateCode(
'discord',
$codeGeneratorService->generateIdentifierDiscordName($server, $name, $discordGuildId, $discordUserId)
);
return [
'linked' => false,
'linkCode' => $code
];
}
public function checkDiscordId(
int $lodestoneId,
int $discordGuildId,
int $discordUserId,
CodeGeneratorService $codeGeneratorService
) {
if (UserLink::where('lodestoneId', $lodestoneId)->count() > 0)
return [
'linked' => true
];
return [
'linked' => false,
'linkCode' => $codeGeneratorService->generateCode(
'discord',
$codeGeneratorService->generateIdentifierDiscordId($lodestoneId, $discordGuildId, $discordUserId)
)
];
}
public function checkWebsiteName(
string $server,
string $name,
string $hostname,
int $websiteUserId,
CodeGeneratorService $codeGeneratorService,
LodestoneCacheService $lodestoneCacheService,
LodestoneApiService $lodestoneApiService
) {
$character = $lodestoneCacheService->getCharacterByName($server, $name, $lodestoneApiService)->content;
return [
'linked' => false,
'linkCode' => $codeGeneratorService->generateCode(
'discord',
$codeGeneratorService->generateIdentifierWebsiteName($server, $name, $hostname, $websiteUserId)
)
];
}
public function checkWebsiteId(
int $lodestoneId,
string $hostname,
int $websiteUserId,
CodeGeneratorService $codeGeneratorService,
LodestoneCacheService $lodestoneCacheService,
LodestoneApiService $lodestoneApiService
) {
$character = $lodestoneCacheService->getCharacterById($lodestoneId, $lodestoneApiService)->content;
return [
'linked' => false,
'linkCode' => $codeGeneratorService->generateCode(
'discord',
$codeGeneratorService->generateIdentifierWebsiteId($lodestoneId, $hostname, $websiteUserId)
)
];
}
public function linkDiscord(
int $lodestoneId,
int $discordGuildId,
int $discordUserId
) {}
public function linkWebsite(
int $lodestoneId,
string $hostname,
int $websiteId
) {}
}

View File

@ -17,13 +17,13 @@ Route::prefix('api')->group(function() {
Route::prefix('v1')->group(function() {
Route::prefix('lodestone')->group(function() {
Route::prefix('link')->group(function() {
Route::get('/check/name/{server}/{name}/discord/{discordGuildId}/{discordUserId}');
Route::get('/check/name/{server}/{name}/website/{hostname}/{websiteUserId}');
Route::get('/check/id/{lodestoneId}/discord/{discordGuildId}/{discordUserId}');
Route::get('/check/id/{lodestoneId}/website/{hostname}/{websiteId}');
Route::get('/check/name/{server}/{name}/discord/{discordGuildId}/{discordUserId}', 'LodestoneLinkController@checkDiscordName');
Route::get('/check/name/{server}/{name}/website/{hostname}/{websiteUserId}', 'LodestoneLinkController@checkWebsiteName');
Route::get('/check/id/{lodestoneId}/discord/{discordGuildId}/{discordUserId}', 'LodestoneLinkController@checkDiscordId');
Route::get('/check/id/{lodestoneId}/website/{hostname}/{websiteId}', 'LodestoneLinkController@checkWebsiteId');
Route::post('/{lodestoneId}/discord/{discordGuildId}/{discordUserId}');
Route::post('/{lodestoneId}/website/{hostname}/{websiteId}');
Route::post('/{lodestoneId}/discord/{discordGuildId}/{discordUserId}', 'LodestoneLinkController@linkDiscord');
Route::post('/{lodestoneId}/website/{hostname}/{websiteId}', 'LodestoneLinkController@linkWebsite');
});
Route::prefix('freeCompany')->group(function() {