mirror of
https://github.com/bitinflow/expose.git
synced 2026-03-16 15:05:56 +00:00
API modifications
This commit is contained in:
@@ -25,10 +25,16 @@ class GetUserDetailsController extends AdminController
|
|||||||
|
|
||||||
public function handle(Request $request, ConnectionInterface $httpConnection)
|
public function handle(Request $request, ConnectionInterface $httpConnection)
|
||||||
{
|
{
|
||||||
$this->userRepository
|
$id = $request->get('id');
|
||||||
->getUserById($request->get('id'))
|
|
||||||
->then(function ($user) use ($httpConnection, $request) {
|
if (! is_numeric($id)) {
|
||||||
$this->subdomainRepository->getSubdomainsByUserId($request->get('id'))
|
$promise = $this->userRepository->getUserByToken($id);
|
||||||
|
} else {
|
||||||
|
$promise = $this->userRepository->getUserById($id);
|
||||||
|
}
|
||||||
|
|
||||||
|
$promise->then(function ($user) use ($httpConnection, $request) {
|
||||||
|
$this->subdomainRepository->getSubdomainsByUserId($user['id'])
|
||||||
->then(function ($subdomains) use ($httpConnection, $user) {
|
->then(function ($subdomains) use ($httpConnection, $user) {
|
||||||
$httpConnection->send(
|
$httpConnection->send(
|
||||||
respond_json([
|
respond_json([
|
||||||
|
|||||||
@@ -39,7 +39,8 @@ class StoreSubdomainController extends AdminController
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->userRepository->getUserByToken($request->get('auth_token', ''))
|
$this->userRepository
|
||||||
|
->getUserByToken($request->get('auth_token', ''))
|
||||||
->then(function ($user) use ($httpConnection, $request) {
|
->then(function ($user) use ($httpConnection, $request) {
|
||||||
if (is_null($user)) {
|
if (is_null($user)) {
|
||||||
$httpConnection->send(respond_json(['error' => 'The user does not exist'], 404));
|
$httpConnection->send(respond_json(['error' => 'The user does not exist'], 404));
|
||||||
@@ -55,6 +56,13 @@ class StoreSubdomainController extends AdminController
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (in_array($request->get('subdomain'), config('expose.admin.reserved_subdomains', []))) {
|
||||||
|
$httpConnection->send(respond_json(['error' => 'The subdomain is already taken.'], 422));
|
||||||
|
$httpConnection->close();
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
$insertData = [
|
$insertData = [
|
||||||
'user_id' => $user['id'],
|
'user_id' => $user['id'],
|
||||||
'subdomain' => $request->get('subdomain'),
|
'subdomain' => $request->get('subdomain'),
|
||||||
|
|||||||
@@ -134,7 +134,13 @@ class DatabaseUserRepository implements UserRepository
|
|||||||
$this->database
|
$this->database
|
||||||
->query('SELECT * FROM users WHERE auth_token = :token', ['token' => $authToken])
|
->query('SELECT * FROM users WHERE auth_token = :token', ['token' => $authToken])
|
||||||
->then(function (Result $result) use ($deferred) {
|
->then(function (Result $result) use ($deferred) {
|
||||||
$deferred->resolve($result->rows[0] ?? null);
|
$user = $result->rows[0] ?? null;
|
||||||
|
|
||||||
|
if (! is_null($user)) {
|
||||||
|
$user = $this->getUserDetails($user);
|
||||||
|
}
|
||||||
|
|
||||||
|
$deferred->resolve($user);
|
||||||
});
|
});
|
||||||
|
|
||||||
return $deferred->promise();
|
return $deferred->promise();
|
||||||
|
|||||||
Reference in New Issue
Block a user