aboutsummaryrefslogtreecommitdiffhomepage
path: root/main/app/sprinkles/admin
diff options
context:
space:
mode:
Diffstat (limited to 'main/app/sprinkles/admin')
-rw-r--r--main/app/sprinkles/admin/routes/wormhole.php2
-rw-r--r--main/app/sprinkles/admin/schema/requests/user/get-by-userid.yaml6
-rw-r--r--main/app/sprinkles/admin/src/Controller/WormholeController.php26
3 files changed, 26 insertions, 8 deletions
diff --git a/main/app/sprinkles/admin/routes/wormhole.php b/main/app/sprinkles/admin/routes/wormhole.php
index 3efdab3..7606978 100644
--- a/main/app/sprinkles/admin/routes/wormhole.php
+++ b/main/app/sprinkles/admin/routes/wormhole.php
@@ -4,5 +4,5 @@
*/
$app->group('/wormhole/{access_token}', function () {
$this->get('/verify/{user_id}/{session_id}', 'UserFrosting\Sprinkle\Admin\Controller\WormholeController:verify');
- $this->get('/users/u/{user_id}/username', 'UserFrosting\Sprinkle\Admin\Controller\WormholeController:getUsername');
+ $this->get('/user/{user_id}', 'UserFrosting\Sprinkle\Admin\Controller\WormholeController:getInfo');
});
diff --git a/main/app/sprinkles/admin/schema/requests/user/get-by-userid.yaml b/main/app/sprinkles/admin/schema/requests/user/get-by-userid.yaml
new file mode 100644
index 0000000..0b0b71d
--- /dev/null
+++ b/main/app/sprinkles/admin/schema/requests/user/get-by-userid.yaml
@@ -0,0 +1,6 @@
+---
+user_id:
+ validators:
+ required:
+ label: "&USERID"
+ message: VALIDATE.REQUIRED
diff --git a/main/app/sprinkles/admin/src/Controller/WormholeController.php b/main/app/sprinkles/admin/src/Controller/WormholeController.php
index 31a44c1..7c35e55 100644
--- a/main/app/sprinkles/admin/src/Controller/WormholeController.php
+++ b/main/app/sprinkles/admin/src/Controller/WormholeController.php
@@ -42,7 +42,7 @@ class WormholeController extends SimpleController
$session_id = $args['session_id'];
$session_file = file_get_contents("../app/sessions/" . $session_id);
$session_user_id = unserialize(substr($session_file, strpos($session_file, "account|") + 8))["current_user_id"];
- if ($session_user_id === $user_id) {
+ if ($session_user_id == $user_id) {
return $response->withStatus(200);
} else {
throw new NotFoundException();
@@ -52,7 +52,7 @@ class WormholeController extends SimpleController
}
}
- public function getUsername(Request $request, Response $response, $args) {
+ public function getInfo(Request $request, Response $response, $args) {
$currentUser = $this->ci->currentUser; // FOR DATABASE QUERY
$access_token = $args['access_token'];
@@ -60,11 +60,23 @@ class WormholeController extends SimpleController
->where('UserID', 1)
->where('Key', '=', $access_token)
->exists()) {
- $user_id = $args['user_id'];
- $username =(DB::table('users')
- ->where('id', $user_id)
- ->value('user_name'));
- $response->write($username);
+ $classMapper = $this->ci->classMapper;
+ $user = DB::table('users')
+ ->where('id', $args["user_id"])
+ ->first();
+ if (!$user) {
+ throw new NotFoundException($request, $response);
+ }
+ $classMapper = $this->ci->classMapper;
+ $user = $classMapper->createInstance('user')
+ ->where('user_name', $user->user_name)
+ ->joinLastActivity()
+ ->with('lastActivity', 'group')
+ ->first();
+
+ $result = $user->toArray();
+ $result["avatar"] = $user->avatar;
+ return $response->withJson($result, 200, JSON_PRETTY_PRINT);
} else {
throw new NotFoundException(); // IT'S A FORBIDDEN EXCEPTION BUT IT'S SECRET! PSSSHT
}