Skip to content

Commit 2f496f7

Browse files
committed
Add Django OAuth sample
1 parent 13c7a03 commit 2f496f7

File tree

13 files changed

+303
-31
lines changed

13 files changed

+303
-31
lines changed

samples/django/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
pip install -r requirements.txt
33
export SLACK_SIGNING_SECRET=***
44
export SLACK_BOT_TOKEN=xoxb-***
5-
cd ./slackapp
5+
66
python manage.py migrate
77
python manage.py runserver 0.0.0.0:3000
88
```
File renamed without changes.

samples/django/slackapp/apps.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
from django.apps import AppConfig
2+
3+
4+
class SlackAppConfig(AppConfig):
5+
name = "slackapp"
Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
# Generated by Django 3.1.1 on 2020-09-26 13:49
2+
3+
from django.db import migrations, models
4+
5+
6+
class Migration(migrations.Migration):
7+
8+
initial = True
9+
10+
dependencies = []
11+
12+
operations = [
13+
migrations.CreateModel(
14+
name="SlackBot",
15+
fields=[
16+
(
17+
"id",
18+
models.AutoField(
19+
auto_created=True,
20+
primary_key=True,
21+
serialize=False,
22+
verbose_name="ID",
23+
),
24+
),
25+
("client_id", models.TextField()),
26+
("app_id", models.TextField()),
27+
("enterprise_id", models.TextField(null=True)),
28+
("team_id", models.TextField(null=True)),
29+
("bot_token", models.TextField(null=True)),
30+
("bot_id", models.TextField(null=True)),
31+
("bot_user_id", models.TextField(null=True)),
32+
("bot_scopes", models.TextField(null=True)),
33+
("installed_at", models.DateTimeField()),
34+
],
35+
),
36+
migrations.CreateModel(
37+
name="SlackInstallation",
38+
fields=[
39+
(
40+
"id",
41+
models.AutoField(
42+
auto_created=True,
43+
primary_key=True,
44+
serialize=False,
45+
verbose_name="ID",
46+
),
47+
),
48+
("client_id", models.TextField()),
49+
("app_id", models.TextField()),
50+
("enterprise_id", models.TextField(null=True)),
51+
("team_id", models.TextField(null=True)),
52+
("bot_token", models.TextField(null=True)),
53+
("bot_id", models.TextField(null=True)),
54+
("bot_user_id", models.TextField(null=True)),
55+
("bot_scopes", models.TextField(null=True)),
56+
("user_id", models.TextField()),
57+
("user_token", models.TextField(null=True)),
58+
("user_scopes", models.TextField(null=True)),
59+
("incoming_webhook_url", models.TextField(null=True)),
60+
("incoming_webhook_channel_id", models.TextField(null=True)),
61+
("incoming_webhook_configuration_url", models.TextField(null=True)),
62+
("installed_at", models.DateTimeField()),
63+
],
64+
),
65+
migrations.CreateModel(
66+
name="SlackOAuthState",
67+
fields=[
68+
(
69+
"id",
70+
models.AutoField(
71+
auto_created=True,
72+
primary_key=True,
73+
serialize=False,
74+
verbose_name="ID",
75+
),
76+
),
77+
("state", models.TextField()),
78+
("expire_at", models.DateTimeField()),
79+
],
80+
),
81+
migrations.AddIndex(
82+
model_name="slackinstallation",
83+
index=models.Index(
84+
fields=[
85+
"client_id",
86+
"enterprise_id",
87+
"team_id",
88+
"user_id",
89+
"installed_at",
90+
],
91+
name="slackapp_sl_client__9b0d3f_idx",
92+
),
93+
),
94+
migrations.AddIndex(
95+
model_name="slackbot",
96+
index=models.Index(
97+
fields=["client_id", "enterprise_id", "team_id", "installed_at"],
98+
name="slackapp_sl_client__d220d6_idx",
99+
),
100+
),
101+
]

samples/django/slackapp/migrations/__init__.py

Whitespace-only changes.

samples/django/slackapp/models.py

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
from django.db import models
2+
3+
4+
class SlackBot(models.Model):
5+
client_id = models.TextField(null=False)
6+
app_id = models.TextField(null=False)
7+
enterprise_id = models.TextField(null=True)
8+
team_id = models.TextField(null=True)
9+
bot_token = models.TextField(null=True)
10+
bot_id = models.TextField(null=True)
11+
bot_user_id = models.TextField(null=True)
12+
bot_scopes = models.TextField(null=True)
13+
installed_at = models.DateTimeField(null=False)
14+
15+
class Meta:
16+
indexes = [
17+
models.Index(
18+
fields=["client_id", "enterprise_id", "team_id", "installed_at"]
19+
),
20+
]
21+
22+
23+
class SlackInstallation(models.Model):
24+
client_id = models.TextField(null=False)
25+
app_id = models.TextField(null=False)
26+
enterprise_id = models.TextField(null=True)
27+
team_id = models.TextField(null=True)
28+
bot_token = models.TextField(null=True)
29+
bot_id = models.TextField(null=True)
30+
bot_user_id = models.TextField(null=True)
31+
bot_scopes = models.TextField(null=True)
32+
user_id = models.TextField(null=False)
33+
user_token = models.TextField(null=True)
34+
user_scopes = models.TextField(null=True)
35+
incoming_webhook_url = models.TextField(null=True)
36+
incoming_webhook_channel_id = models.TextField(null=True)
37+
incoming_webhook_configuration_url = models.TextField(null=True)
38+
installed_at = models.DateTimeField(null=False)
39+
40+
class Meta:
41+
indexes = [
42+
models.Index(
43+
fields=[
44+
"client_id",
45+
"enterprise_id",
46+
"team_id",
47+
"user_id",
48+
"installed_at",
49+
]
50+
),
51+
]
52+
53+
54+
class SlackOAuthState(models.Model):
55+
state = models.TextField(null=False)
56+
expire_at = models.DateTimeField(null=False)

samples/django/slackapp/slackapp/settings.py renamed to samples/django/slackapp/settings.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
"level": os.getenv("DJANGO_LOG_LEVEL", "INFO"),
2424
"propagate": False,
2525
},
26+
"django.db.backends": {"level": "DEBUG",},
2627
"slack_bolt": {"handlers": ["console"], "level": "DEBUG", "propagate": False,},
2728
},
2829
}
@@ -54,6 +55,7 @@
5455
"django.contrib.sessions",
5556
"django.contrib.messages",
5657
"django.contrib.staticfiles",
58+
"slackapp.apps.SlackAppConfig",
5759
]
5860

5961
MIDDLEWARE = [

samples/django/slackapp/slackapp/urls.py

Lines changed: 0 additions & 9 deletions
This file was deleted.

samples/django/slackapp/slackapp/views.py

Lines changed: 0 additions & 21 deletions
This file was deleted.

0 commit comments

Comments
 (0)