aboutsummaryrefslogtreecommitdiffhomepage
path: root/main/app/sprinkles/admin/src/Controller/WormholeController.php
diff options
context:
space:
mode:
authorMarvin Borner2018-05-25 18:23:50 +0200
committerMarvin Borner2018-05-25 18:23:50 +0200
commit4d4c027a2936ea8c6a7c4941135779753ab83e59 (patch)
tree216585712968b8778f7f7c60f064f557e584e7ea /main/app/sprinkles/admin/src/Controller/WormholeController.php
parent8d57d0bcd1bc7585f5fb124460e6ed27a04fd44d (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.php34
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