SpreadSheets commited on
Commit
a9082a1
·
1 Parent(s): 615e7f5

feat: implement main blueprint with routes for index, profile, and logout

Browse files
Files changed (1) hide show
  1. app/blueprints/main.py +29 -0
app/blueprints/main.py ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from flask import Blueprint, render_template
2
+ from flask_dance.contrib.google import google
3
+ from ..auth import login_required
4
+
5
+ main_bp = Blueprint("main", __name__)
6
+
7
+
8
+ @main_bp.route("/")
9
+ @login_required
10
+ def index():
11
+ return render_template("index.html")
12
+
13
+
14
+ @main_bp.route("/profile")
15
+ @login_required
16
+ def profile():
17
+ resp = google.get("/oauth2/v2/userinfo")
18
+ assert resp.ok, resp.text
19
+
20
+ user_info = resp.json()
21
+ return render_template("profile.html", user=user_info)
22
+
23
+
24
+ @main_bp.route("/logout")
25
+ @login_required
26
+ def logout():
27
+ from flask import redirect, url_for
28
+ google.token = None
29
+ return redirect(url_for('main.index'))