Skip to content

Commit 680846c

Browse files
committed
Update directory sync flask app for the new client init and kwargs
1 parent 3d99705 commit 680846c

File tree

2 files changed

+14
-24
lines changed

2 files changed

+14
-24
lines changed

python-flask-directory-sync-example/app.py

Lines changed: 10 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,9 @@
11
import os
22
from flask import Flask, render_template, request
3-
from typing_extensions import assert_never
43
import workos
5-
from workos import client as workos_client
6-
from flask_socketio import SocketIO, emit
4+
from flask_socketio import SocketIO
75
import json
86
from flask_lucide import Lucide
9-
import workos.directory_sync
10-
import workos.resources
11-
import workos.resources.directory_sync
12-
import workos.typing
13-
import workos.utils
14-
import workos.utils.connection_types
157

168

179
DEBUG = False
@@ -25,9 +17,7 @@
2517
if __name__ == "__main__":
2618
socketio.run(app) # type: ignore
2719

28-
workos.api_key = os.getenv("WORKOS_API_KEY")
29-
workos.base_api_url = "http://localhost:5000/" if DEBUG else workos.base_api_url
30-
workos.client_id = os.getenv("WORKOS_CLIENT_ID")
20+
workos_client = workos.WorkOSClient(api_key=os.getenv("WORKOS_API_KEY"), client_id=os.getenv("WORKOS_CLIENT_ID"))
3121
directory_id = os.getenv("DIRECTORY_ID")
3222

3323

@@ -42,7 +32,7 @@ def to_pretty_json(value):
4232
def home():
4333
before = request.args.get("before")
4434
after = request.args.get("after")
45-
directories = workos.client.directory_sync.list_directories(
35+
directories = workos_client.directory_sync.list_directories(
4636
before=before, after=after, limit=5
4737
)
4838

@@ -58,7 +48,7 @@ def directory():
5848
directory_id = request.args.get("id")
5949
if not directory_id:
6050
return "No directory ID provided", 400
61-
directory = workos.client.directory_sync.get_directory(directory_id)
51+
directory = workos_client.directory_sync.get_directory(directory_id)
6252

6353
return render_template(
6454
"directory.html", directory=directory.model_dump(), id=directory.id
@@ -68,7 +58,7 @@ def directory():
6858
@app.route("/users")
6959
def directory_users():
7060
directory_id = request.args.get("id")
71-
users = workos.client.directory_sync.list_users(directory=directory_id, limit=100)
61+
users = workos_client.directory_sync.list_users(directory_id=directory_id, limit=100)
7262
return render_template("users.html", users=users)
7363

7464

@@ -77,15 +67,15 @@ def directory_user():
7767
user_id = request.args.get("id")
7868
if not user_id:
7969
return "No user ID provided", 400
80-
user = workos.client.directory_sync.get_user(user=user_id)
70+
user = workos_client.directory_sync.get_user(user_id)
8171

8272
return render_template("user.html", user=user.model_dump(), id=user_id)
8373

8474

8575
@app.route("/groups")
8676
def directory_groups():
8777
directory_id = request.args.get("id")
88-
groups = workos_client.directory_sync.list_groups(directory=directory_id, limit=100)
78+
groups = workos_client.directory_sync.list_groups(directory_id=directory_id, limit=100)
8979

9080
return render_template("groups.html", groups=groups)
9181

@@ -96,15 +86,15 @@ def directory_group():
9686
if not group_id:
9787
return "No user ID provided", 400
9888

99-
group = workos_client.directory_sync.get_group(group=group_id)
89+
group = workos_client.directory_sync.get_group(group_id)
10090

10191
return render_template("group.html", group=group.model_dump(), id=group_id)
10292

10393

10494
@app.route("/events")
10595
def events():
10696
after = request.args.get("after")
107-
events = workos.client.events.list_events(
97+
events = workos_client.events.list_events(
10898
events=[
10999
"dsync.activated",
110100
"dsync.deleted",
@@ -134,7 +124,7 @@ def webhooks():
134124
payload = request.get_data()
135125
sig_header = request.headers["WorkOS-Signature"]
136126
response = workos_client.webhooks.verify_event(
137-
payload=payload, sig_header=sig_header, secret=signing_secret
127+
payload=payload, event_signature=sig_header, secret=signing_secret
138128
)
139129
message = json.dumps(response.dict())
140130
socketio.emit("webhook_received", message)
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
Flask>=1.1.2
2-
../../SDKs/workos-python
3-
workos>=5.0.0
1+
Flask==2.0.3
2+
workos==5.0.0b1
43
urllib3>=2
54
python-dotenv
65
flask_socketio
7-
flask-lucide==0.2.0
6+
flask-lucide==0.2.0
7+
Werkzeug==2.0.1

0 commit comments

Comments
 (0)