diff options
author | Marvin Borner | 2018-05-25 18:23:50 +0200 |
---|---|---|
committer | Marvin Borner | 2018-05-25 18:23:50 +0200 |
commit | 4d4c027a2936ea8c6a7c4941135779753ab83e59 (patch) | |
tree | 216585712968b8778f7f7c60f064f557e584e7ea /main/app/sprinkles/admin/src/Controller/WormholeController.php | |
parent | 8d57d0bcd1bc7585f5fb124460e6ed27a04fd44d (diff) |
Fixed many things, added multi-user chat support, some security improvements
Diffstat (limited to 'main/app/sprinkles/admin/src/Controller/WormholeController.php')
-rw-r--r-- | main/app/sprinkles/admin/src/Controller/WormholeController.php | 34 |
1 files changed, 31 insertions, 3 deletions
diff --git a/main/app/sprinkles/admin/src/Controller/WormholeController.php b/main/app/sprinkles/admin/src/Controller/WormholeController.php index e40a7e3..47e6fcb 100644 --- a/main/app/sprinkles/admin/src/Controller/WormholeController.php +++ b/main/app/sprinkles/admin/src/Controller/WormholeController.php @@ -30,6 +30,13 @@ use Illuminate\Session\FileSessionHandler; */ class WormholeController extends SimpleController { + /** + * @param Request $request + * @param Response $response + * @param $args + * @return Response + * @throws NotFoundException + */ public function verify(Request $request, Response $response, $args) { if ($this->verifyAccessToken($args)) { $user_id = $args['user_id']; @@ -44,14 +51,23 @@ class WormholeController extends SimpleController } } + /** + * @param $request + * @param Response $response + * @param $args + * @return Response + * @throws BadRequestException + * @throws NotFoundException + */ public function newMessage($request, Response $response, $args) { if ($this->verifyAccessToken($args)) { $sender_id = $args['sender_id']; $receiver_id = $args['receiver_id']; $message = $request->getParsedBody()["message"]; if (($sender_id != $receiver_id) && $message) { - DB::table('chat_messages') - ->insert(['sender_id' => $sender_id, 'receiver_id' => $receiver_id, 'message' => $message]); + $MessageId = DB::table('chat_messages') + ->insertGetId(['sender_id' => $sender_id, 'receiver_id' => $receiver_id, 'message' => $message], 'message_id'); + $response->write($MessageId); return $response->withStatus(200); } else { throw new BadRequestException(); @@ -59,6 +75,13 @@ class WormholeController extends SimpleController } } + /** + * @param Request $request + * @param Response $response + * @param $args + * @return Response + * @throws NotFoundException + */ public function getInfo(Request $request, Response $response, $args) { /** @var UserFrosting\Sprinkle\Core\Util\ClassMapper $classMapper */ $classMapper = $this->ci->classMapper; @@ -104,6 +127,11 @@ class WormholeController extends SimpleController } } + /** + * @param $args + * @return bool + * @throws NotFoundException + */ private function verifyAccessToken($args) { $currentUser = $this->ci->currentUser; // FOR DATABASE QUERY $access_token = $args['access_token']; @@ -113,7 +141,7 @@ class WormholeController extends SimpleController ->exists()) { return TRUE; } else { - throw new NotFoundException(); + throw new NotFoundException(); // IT'S A FORBIDDEN } } }
\ No newline at end of file |