Skip to content

Commit 23e7c20

Browse files
committed
Push Notifications Phase 1
1 parent fe8ef31 commit 23e7c20

File tree

7 files changed

+46
-1
lines changed

7 files changed

+46
-1
lines changed

config.env.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,5 +38,10 @@
3838
MAIL_PASSWORD = environ.get("PACKET_MAIL_PASSWORD", None)
3939
MAIL_USE_TLS = strtobool(environ.get("PACKET_MAIL_TLS", 'True'))
4040

41+
# OneSignal Config
42+
ONESIGNAL_USER_AUTH_KEY = environ.get("PACKET_ONESIGNAL_USER_AUTH_KEY", None)
43+
ONESIGNAL_APP_AUTH_KEY = environ.get("PACKET_ONESIGNAL_APP_AUTH_KEY", None)
44+
ONESIGNAL_APP_ID = environ.get("PACKET_ONESIGNAL_APP_ID", "6eff123a-0852-4027-804e-723044756f00")
45+
4146
# Slack URL for pushing to #general
4247
SLACK_WEBHOOK_URL = environ.get("PACKET_SLACK_URL", None)

packet/routes/shared.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,3 +68,16 @@ def packets(info=None):
6868
open_packets.sort(key=packet_sort_key, reverse=True)
6969

7070
return render_template("active_packets.html", info=info, packets=open_packets)
71+
72+
73+
@app.route('/sw.js', methods=['GET'])
74+
@app.route('/OneSignalSDKWorker.js', methods=['GET'])
75+
def service_worker():
76+
return app.send_static_file('js/sw.js')
77+
78+
79+
@app.route('/update-sw.js', methods=['GET'])
80+
@app.route('/OneSignalSDKUpdaterWorker.js', methods=['GET'])
81+
def update_service_worker():
82+
return app.send_static_file('js/update-sw.js')
83+

packet/static/js/sw.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
importScripts('https://cdn.onesignal.com/sdks/OneSignalSDKWorker.js');
2+

packet/static/js/update-sw.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
importScripts('https://cdn.onesignal.com/sdks/OneSignalSDKWorker.js');
2+

packet/static/manifest.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,5 +20,6 @@
2020
"sizes": "512x512",
2121
"type": "image/png"
2222
}
23-
]
23+
],
24+
"gcm_sender_id": "482941778795"
2425
}

packet/templates/include/head.html

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,27 @@
3434

3535
<link rel="stylesheet" href="{{ url_for('static', filename='css/packet.min.css') }}">
3636

37+
<!-- Push Notifications -->
38+
<script src="https://cdn.onesignal.com/sdks/OneSignalSDK.js" async=""></script>
39+
<script>
40+
var OneSignal = window.OneSignal || [];
41+
OneSignal.push(function() {
42+
OneSignal.init({
43+
appId: "{{ config['ONESIGNAL_APP_ID'] }}",
44+
autoResubscribe: true,
45+
allowLocalhostAsSecureOrigin: true,
46+
});
47+
OneSignal.showNativePrompt();
48+
OneSignal.on("subscriptionChange", function(){
49+
OneSignal.getUserId().then(function(result){
50+
// TODO: Send to backend
51+
console.log(result);
52+
});
53+
});
54+
});
55+
</script>
56+
57+
<!-- Analytics -->
3758
<script async src="https://www.googletagmanager.com/gtag/js?id={{ config['ANALYTICS_ID'] }}"></script>
3859
<script>
3960
window.dataLayer = window.dataLayer || [];

requirements.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,4 @@ Flask-Migrate~=2.2.1
88
pylint~=2.3.1
99
gunicorn~=19.7.1
1010
csh_ldap~=2.1.0
11+
onesignal-sdk~=1.0.0

0 commit comments

Comments
 (0)