Register routes
This commit is contained in:
parent
28f22fa73b
commit
79d0fe2f51
108
app/Http/Controllers/LodestoneLinkController.php
Normal file
108
app/Http/Controllers/LodestoneLinkController.php
Normal 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
|
||||
) {}
|
||||
}
|
||||
@ -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() {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user