summaryrefslogtreecommitdiff
path: root/public/app/routes/user.php
diff options
context:
space:
mode:
authorGeorge Halkiadakis <gchalkiadakis@sklavenitis.co.gr>2023-04-27 03:47:30 +0300
committerGeorge Halkiadakis <gchalkiadakis@sklavenitis.co.gr>2023-04-27 03:47:30 +0300
commit059e0d95d0c28bc5060e87e146eaf7411f51bf90 (patch)
tree7c21ac432f16dde2329a0d5954d70711eceb48e6 /public/app/routes/user.php
parent26cd8ee99659ef1926c96a049c93645ffc9b169d (diff)
downloadgyraf1gov-059e0d95d0c28bc5060e87e146eaf7411f51bf90.tar.gz
gyraf1gov-059e0d95d0c28bc5060e87e146eaf7411f51bf90.tar.bz2
gyraf1gov-059e0d95d0c28bc5060e87e146eaf7411f51bf90.zip
skeleton commit; based on an anom project
Diffstat (limited to 'public/app/routes/user.php')
-rw-r--r--public/app/routes/user.php84
1 files changed, 84 insertions, 0 deletions
diff --git a/public/app/routes/user.php b/public/app/routes/user.php
new file mode 100644
index 0000000..7ad0fa6
--- /dev/null
+++ b/public/app/routes/user.php
@@ -0,0 +1,84 @@
+<?php
+
+use app\controllers\Auth;
+use app\controllers\Classroom_user;
+
+/** User Connection Management Routes
+ * -----------------------------------------------------------------------------
+ */
+
+// common requests (GET method)
+// --- -- -- - - -
+
+// request login ... -> then sends to POST:/account/check-login
+Route::add('/login', function() { Render::view('user/login'); });
+
+// request registration ... -> then sends to POST:/account/register
+Route::add('/registration', function() { Render::view('user/registration'); });
+
+// request logout
+Route::add('/logout', function() {
+ Auth::logout();
+ header('Location: /'); die();
+});
+
+// request activation
+Route::add('/account/activate', function() { Auth::activate(); } );
+
+// request password reset
+Route::add('/account/reset_password', function() { Auth::reset_password(); } );
+
+
+
+// Replies to common requests (POST method)
+// --- -- -- - - -
+
+// user sends login form
+Route::add('/account/check-login', function() {
+ $response = Auth::login();
+ Render::json(['status' => $response]);
+ },
+ 'post'
+);
+
+// user sends a registration form
+Route::add('/account/register', function() {
+ $response = Auth::register();
+ Render::json($response);
+ },
+ 'post'
+);
+
+
+// Account Management
+// --- -- -- - - -
+
+// user profile
+Route::add('/account/profile', function() {
+ $user = Auth::is_connected();
+ if ($user === false) {
+ Render::view('error/general',
+ [
+ 'title' => 'Nope!',
+ 'message' => "<h2>No profile</h2>User is not connected"
+ ]
+ );
+
+ } else {
+ Render::json(['success' => true, 'status' => 'user is connected']);
+ }
+ }
+);
+
+
+// temporary (on development)
+// --- -- -- - --
+// NOTE: these is only for testing purposes
+
+// test connection
+if (!PRODUCTION) {
+ Route::add('/check/connection', function() { Auth::is_connected(); });
+}
+
+
+