|
1 | 1 | import os |
2 | | -from flask import (Flask, render_template, request) |
| 2 | +from flask import Flask, render_template, request |
3 | 3 | import workos |
4 | 4 | from workos import client as workos_client |
5 | | -from flask_socketio import (SocketIO, emit) |
| 5 | +from flask_socketio import SocketIO, emit |
6 | 6 | import json |
7 | 7 |
|
8 | 8 |
|
9 | 9 | DEBUG = False |
10 | 10 | app = Flask(__name__) |
11 | 11 |
|
12 | 12 |
|
13 | | -app.config['SECRET_KEY'] = 'secret!' |
| 13 | +app.config["SECRET_KEY"] = "secret!" |
14 | 14 | socketio = SocketIO(app) |
15 | 15 |
|
16 | | -if __name__ == '__main__': |
| 16 | +if __name__ == "__main__": |
17 | 17 | socketio.run(app) |
18 | 18 |
|
19 | | -workos.api_key = os.getenv('WORKOS_API_KEY') |
20 | | -workos.base_api_url = 'http://localhost:5000/' if DEBUG else workos.base_api_url |
21 | | -directory_id = os.getenv('DIRECTORY_ID') |
| 19 | +workos.api_key = os.getenv("WORKOS_API_KEY") |
| 20 | +workos.base_api_url = "http://localhost:5000/" if DEBUG else workos.base_api_url |
| 21 | +directory_id = os.getenv("DIRECTORY_ID") |
22 | 22 |
|
23 | | -@app.route('/') |
| 23 | + |
| 24 | +@app.route("/") |
24 | 25 | def home(): |
25 | 26 | directories = workos.client.directory_sync.list_directories() |
26 | 27 | print(directories) |
27 | 28 | directoryNames = [] |
28 | | - for i in directories['data']: |
29 | | - directoryNames.append(i['name']) |
| 29 | + for i in directories["data"]: |
| 30 | + directoryNames.append(i["name"]) |
30 | 31 | print(directoryNames) |
31 | | - return render_template('home.html', directories=directories) |
| 32 | + return render_template("home.html", directories=directories) |
| 33 | + |
32 | 34 |
|
33 | | -@app.route('/directory') |
| 35 | +@app.route("/directory") |
34 | 36 | def directory(): |
35 | | - directory_id = request.args.get('id') |
| 37 | + directory_id = request.args.get("id") |
36 | 38 | print(directory_id) |
37 | 39 | directory = workos.client.directory_sync.get_directory(directory_id) |
38 | 40 | print(directory) |
39 | | - return render_template('directory.html', directory=directory, id=directory['id']) |
| 41 | + return render_template("directory.html", directory=directory, id=directory["id"]) |
40 | 42 |
|
41 | | -@app.route('/users') |
| 43 | + |
| 44 | +@app.route("/users") |
42 | 45 | def directory_users(): |
43 | | - directory_id = request.args.get('id') |
| 46 | + directory_id = request.args.get("id") |
44 | 47 | users = workos_client.directory_sync.list_users(directory=directory_id) |
45 | | - return render_template('users.html', users=users) |
| 48 | + return render_template("users.html", users=users) |
46 | 49 |
|
47 | 50 |
|
48 | | -@app.route('/groups') |
| 51 | +@app.route("/groups") |
49 | 52 | def directory_groups(): |
50 | | - directory_id = request.args.get('id') |
| 53 | + directory_id = request.args.get("id") |
51 | 54 | groups = workos_client.directory_sync.list_groups(directory=directory_id) |
52 | 55 |
|
53 | | - return render_template('groups.html', groups=groups) |
| 56 | + return render_template("groups.html", groups=groups) |
54 | 57 |
|
55 | 58 |
|
56 | | -@app.route('/webhooks', methods=['GET', 'POST']) |
| 59 | +@app.route("/webhooks", methods=["GET", "POST"]) |
57 | 60 | def webhooks(): |
58 | 61 | print(request) |
59 | 62 | if request.data: |
60 | 63 | payload = request.get_data() |
61 | | - sig_header = request.headers['WorkOS-Signature'] |
| 64 | + sig_header = request.headers["WorkOS-Signature"] |
62 | 65 | response = workos_client.webhooks.verify_event( |
63 | | - payload = payload, |
64 | | - sig_header = sig_header, |
65 | | - secret = os.getenv('WEBHOOKS_SECRET') |
| 66 | + payload=payload, sig_header=sig_header, secret=os.getenv("WEBHOOKS_SECRET") |
66 | 67 | ) |
67 | | - |
| 68 | + |
68 | 69 | message = json.dumps(response) |
69 | | - socketio.emit('webhook_received', message) |
| 70 | + socketio.emit("webhook_received", message) |
70 | 71 |
|
71 | 72 | # Return a 200 to prevent retries based on validation |
72 | | - return render_template('webhooks.html') |
| 73 | + return render_template("webhooks.html") |
0 commit comments