Compare commits

..

374 Commits

Author SHA1 Message Date
9bed89ed60 Fixed level by server id
All checks were successful
Deploy prod on push / pre-build (push) Successful in 10s
Deploy prod on push / build-bot (push) Successful in 4m19s
Deploy prod on push / build-web (push) Successful in 2m49s
Deploy prod on push / deploy (push) Successful in 30s
2024-10-29 18:38:09 +01:00
35fdeb168f Updated docker compose
All checks were successful
Deploy prod on push / pre-build (push) Successful in 1s
Deploy prod on push / build-bot (push) Successful in 1m59s
Deploy prod on push / build-web (push) Successful in 1m46s
Deploy prod on push / deploy (push) Successful in 22s
2024-09-06 20:50:03 +02:00
e785bddf2e Guild & Level can be null
All checks were successful
Deploy prod on push / pre-build (push) Successful in 2s
Deploy prod on push / build-bot (push) Successful in 3m19s
Deploy prod on push / build-web (push) Successful in 1m58s
Deploy prod on push / deploy (push) Successful in 23s
2024-09-06 19:39:50 +02:00
b361a7b685 Fixed docker
All checks were successful
Deploy prod on push / pre-build (push) Successful in 2s
Deploy prod on push / build-bot (push) Successful in 2m17s
Deploy prod on push / build-web (push) Successful in 1m58s
Deploy prod on push / deploy (push) Successful in 23s
2024-06-08 17:25:15 +02:00
bdd0da38ab Check if guild is None in can user see check
All checks were successful
Deploy prod on push / pre-build (push) Successful in 2s
Deploy prod on push / build-bot (push) Successful in 7m20s
Deploy prod on push / build-web (push) Successful in 2m36s
Deploy prod on push / deploy (push) Successful in 1m29s
2024-02-25 13:42:09 +01:00
179c8a954b Check if guild is None in can user see check
All checks were successful
Deploy prod on push / pre-build (push) Successful in 2s
Deploy prod on push / build-bot (push) Successful in 3m38s
Deploy prod on push / build-web (push) Successful in 2m41s
Deploy prod on push / deploy (push) Successful in 26s
2024-02-25 13:25:14 +01:00
248d47c280 Fixed update level permission by db state on level seeding
All checks were successful
Deploy prod on push / pre-build (push) Successful in 1s
Deploy prod on push / build-bot (push) Successful in 3m14s
Deploy prod on push / build-web (push) Successful in 1m55s
Deploy prod on push / deploy (push) Successful in 25s
2024-02-12 14:59:36 +01:00
414720f53b Update level permission by db state on level seeding
All checks were successful
Deploy prod on push / pre-build (push) Successful in 2s
Deploy prod on push / build-bot (push) Successful in 3m15s
Deploy prod on push / build-web (push) Successful in 1m54s
Deploy prod on push / deploy (push) Successful in 24s
2024-02-12 14:19:31 +01:00
bb0ff1c560 Check if guild is None
All checks were successful
Deploy prod on push / pre-build (push) Successful in 1s
Deploy prod on push / build-bot (push) Successful in 3m4s
Deploy prod on push / build-web (push) Successful in 1m45s
Deploy prod on push / deploy (push) Successful in 22s
2024-02-09 08:48:49 +01:00
521a063fca Fixed technician check when not on the server /2
All checks were successful
Deploy prod on push / pre-build (push) Successful in 2s
Deploy prod on push / build-bot (push) Successful in 2m58s
Deploy prod on push / build-web (push) Successful in 1m43s
Deploy prod on push / deploy (push) Successful in 21s
2024-02-09 08:27:58 +01:00
dc5ae365bb Fixed technician check when not on the server
All checks were successful
Deploy prod on push / pre-build (push) Successful in 1s
Deploy prod on push / build-bot (push) Successful in 3m5s
Deploy prod on push / build-web (push) Successful in 1m46s
Deploy prod on push / deploy (push) Successful in 21s
2024-02-09 08:07:54 +01:00
3c21b68b0c Check user update username
All checks were successful
Deploy prod on push / pre-build (push) Successful in 2s
Deploy staging on push / pre-build (push) Successful in 1s
Deploy prod on push / build-bot (push) Successful in 3m12s
Deploy prod on push / build-web (push) Successful in 1m53s
Deploy staging on push / build-bot (push) Successful in 2m1s
Deploy prod on push / deploy (push) Successful in 23s
Deploy staging on push / build-web (push) Successful in 2m1s
Deploy staging on push / deploy (push) Successful in 22s
2024-02-03 19:21:57 +01:00
df316fd53b Merge pull request 'Use db pools' (#470) from staging into master
All checks were successful
Deploy prod on push / pre-build (push) Successful in 1s
Deploy prod on push / build-bot (push) Successful in 2m3s
Deploy prod on push / build-web (push) Successful in 1m49s
Deploy prod on push / deploy (push) Successful in 23s
Reviewed-on: #470
2024-02-01 20:30:03 +01:00
0a18f26a51 Merge branch 'master' into staging
All checks were successful
Deploy staging on push / pre-build (push) Successful in 2s
Deploy staging on push / build-bot (push) Successful in 2m4s
Deploy staging on push / build-web (push) Successful in 2m0s
Deploy staging on push / deploy (push) Successful in 22s
2024-02-01 20:29:23 +01:00
995c498e54 Use db pools
All checks were successful
Deploy staging on push / pre-build (push) Successful in 1s
Deploy staging on push / build-bot (push) Successful in 3m12s
Deploy staging on push / build-web (push) Successful in 1m55s
Deploy staging on push / deploy (push) Successful in 22s
2024-02-01 20:20:05 +01:00
9353fa749c Merge pull request 'staging' (#469) from staging into master
All checks were successful
Deploy prod on push / pre-build (push) Successful in 1s
Deploy prod on push / build-bot (push) Successful in 2m12s
Deploy prod on push / build-web (push) Successful in 1m53s
Deploy prod on push / deploy (push) Successful in 21s
Reviewed-on: #469
2024-02-01 18:39:49 +01:00
dd4b9182f3 Set version 1.2.7
All checks were successful
Deploy staging on push / pre-build (push) Successful in 2s
Deploy staging on push / build-bot (push) Successful in 3m15s
Deploy staging on push / build-web (push) Successful in 2m10s
Deploy staging on push / deploy (push) Successful in 22s
2024-02-01 18:21:17 +01:00
1fc8d441ad Removed fatal from db error handling & improved web error handling 2024-02-01 18:19:31 +01:00
219fffc344 Fixed user warnings
All checks were successful
Deploy prod on push / pre-build (push) Successful in 1s
Deploy prod on push / build-bot (push) Successful in 3m7s
Deploy prod on push / build-web (push) Successful in 1m48s
Deploy prod on push / deploy (push) Successful in 21s
2024-01-26 19:20:49 +01:00
fbdac4f57a Fixed user warnings
All checks were successful
Deploy prod on push / pre-build (push) Successful in 1s
Deploy prod on push / build-bot (push) Successful in 3m1s
Deploy prod on push / build-web (push) Successful in 1m47s
Deploy prod on push / deploy (push) Successful in 21s
2024-01-26 17:02:52 +01:00
dfee6b0568 Merge pull request 'staging' (#468) from staging into master
All checks were successful
Deploy prod on push / pre-build (push) Successful in 2s
Deploy prod on push / build-bot (push) Successful in 1m55s
Deploy prod on push / build-web (push) Successful in 1m44s
Deploy prod on push / deploy (push) Successful in 20s
Reviewed-on: #468
2024-01-26 16:33:29 +01:00
9eb09fa3b2 Fixed configs
All checks were successful
Deploy staging on push / pre-build (push) Successful in 1s
Deploy staging on push / build-bot (push) Successful in 3m5s
Deploy staging on push / build-web (push) Successful in 1m49s
Deploy staging on push / deploy (push) Successful in 22s
2024-01-26 15:55:46 +01:00
60d81ce18b Resend confirmation mail
Some checks failed
Deploy staging on push / pre-build (push) Successful in 1s
Deploy staging on push / build-bot (push) Failing after 22s
Deploy staging on push / build-web (push) Failing after 21s
Deploy staging on push / deploy (push) Has been skipped
2024-01-26 15:32:01 +01:00
a24fefd3e2 Fixed test mail & delete auth user 2024-01-26 14:03:47 +01:00
8cd5a0d040 Fixed mail 2024-01-26 12:41:26 +01:00
1b8a67e81b Merge pull request 'staging_1.2.6' (#467) from staging_1.2.6 into staging
All checks were successful
Deploy staging on push / pre-build (push) Successful in 3s
Deploy staging on push / build-bot (push) Successful in 3m25s
Deploy staging on push / build-web (push) Successful in 2m9s
Deploy staging on push / deploy (push) Successful in 23s
Reviewed-on: #467
2024-01-26 12:18:03 +01:00
8318dfe988 Fixed user avatar url 2024-01-26 12:16:13 +01:00
7185b087c9 Fixed level page 2024-01-26 12:13:53 +01:00
07fc512633 Made levels & Achievements public 2024-01-26 12:11:20 +01:00
ca5db6d397 Fixed achievement can see element 2024-01-26 11:53:51 +01:00
7888783b6a Fixed registration by discord 2024-01-26 11:46:48 +01:00
31c62b4108 Added missing translations 2024-01-26 11:37:36 +01:00
b0990b626c Fixed third user warning 2024-01-26 11:36:42 +01:00
df9c889c7e Fixed add new user warning 2024-01-26 11:32:42 +01:00
4d386759c0 Improved data import 2024-01-26 11:06:01 +01:00
3683f5f3d1 Set correct version 2024-01-25 19:28:56 +01:00
77f759a9ca Added user warnings to WI 2024-01-25 19:27:45 +01:00
f209e45905 Added level icons 2024-01-25 17:11:48 +01:00
a917803eff Updated config 2024-01-25 16:46:03 +01:00
acfa359eeb Fixed loading scheduled events 2024-01-25 16:45:05 +01:00
baf7b8d7de Merge pull request 'Fixed afk command' (#465) from staging into master
All checks were successful
Deploy prod on push / pre-build (push) Successful in 1s
Deploy prod on push / build-bot (push) Successful in 1m56s
Deploy prod on push / build-web (push) Successful in 1m52s
Deploy prod on push / deploy (push) Successful in 23s
Reviewed-on: #465
2024-01-13 15:17:01 +01:00
ee69ae58d1 Fixed afk command
All checks were successful
Deploy staging on push / pre-build (push) Successful in 2s
Deploy staging on push / build-bot (push) Successful in 3m21s
Deploy staging on push / build-web (push) Successful in 1m49s
Deploy staging on push / deploy (push) Successful in 23s
2024-01-13 15:16:39 +01:00
bc528f1474 Merge pull request 'staging' (#464) from staging into master
All checks were successful
Deploy prod on push / pre-build (push) Successful in 1s
Deploy prod on push / build-bot (push) Successful in 1m57s
Deploy prod on push / build-web (push) Successful in 1m49s
Deploy prod on push / deploy (push) Successful in 22s
Reviewed-on: #464
2024-01-13 15:06:06 +01:00
d67ba924dc Merge branch 'master' into staging
All checks were successful
Deploy staging on push / pre-build (push) Successful in 2s
Deploy staging on push / build-bot (push) Successful in 3m6s
Deploy staging on push / build-web (push) Successful in 1m43s
Deploy staging on push / deploy (push) Successful in 24s
2024-01-13 15:00:11 +01:00
e054c04c96 Tried to improve db connection
All checks were successful
Deploy staging on push / pre-build (push) Successful in 1s
Deploy staging on push / build-bot (push) Successful in 3m3s
Deploy staging on push / build-web (push) Successful in 1m49s
Deploy staging on push / deploy (push) Successful in 23s
2024-01-13 14:51:31 +01:00
c846614274 Set version 1.2.5 2024-01-13 13:36:47 +01:00
83764b3cee Added logic to remove short role name for all members by deleting
All checks were successful
Deploy staging on push / pre-build (push) Successful in 1s
Deploy staging on push / build-bot (push) Successful in 3m3s
Deploy staging on push / build-web (push) Successful in 1m57s
Deploy staging on push / deploy (push) Successful in 25s
2024-01-13 13:04:52 +01:00
4553490266 Add logic to other users to afk as mod 2024-01-11 20:56:19 +01:00
35aa2574f8 Fixed level order
All checks were successful
Deploy prod on push / pre-build (push) Successful in 2s
Deploy prod on push / build-bot (push) Successful in 3m17s
Deploy prod on push / build-web (push) Successful in 2m2s
Deploy prod on push / deploy (push) Successful in 27s
2023-12-17 11:36:49 +01:00
ccae285b81 Merge pull request 'Removed empty cp' (#463) from staging into master
All checks were successful
Deploy prod on push / pre-build (push) Successful in 1s
Deploy prod on push / build-bot (push) Successful in 3m58s
Deploy prod on push / build-web (push) Successful in 2m4s
Deploy prod on push / deploy (push) Successful in 1m1s
Reviewed-on: #463
2023-12-17 01:10:40 +01:00
887a02a7af Removed empty cp
All checks were successful
Deploy staging on push / pre-build (push) Successful in 1s
Deploy staging on push / build-bot (push) Successful in 4m3s
Deploy staging on push / build-web (push) Successful in 1m47s
Deploy staging on push / deploy (push) Successful in 1m5s
2023-12-17 01:10:07 +01:00
f484c553b3 Merge pull request 'staging' (#462) from staging into master
Some checks failed
Deploy prod on push / pre-build (push) Successful in 1s
Deploy prod on push / build-bot (push) Successful in 4m4s
Deploy prod on push / build-web (push) Failing after 58s
Deploy prod on push / deploy (push) Has been skipped
Reviewed-on: #462
2023-12-17 01:03:13 +01:00
c5eca69db1 Merge pull request '#460' (#461) from #460 into staging
All checks were successful
Deploy staging on push / pre-build (push) Successful in 2s
Deploy staging on push / build-bot (push) Successful in 3m17s
Deploy staging on push / build-web (push) Successful in 1m54s
Deploy staging on push / deploy (push) Successful in 25s
Reviewed-on: #461
2023-12-15 15:40:12 +01:00
d1a04c537c Set correct frontend version #460 2023-12-15 15:39:14 +01:00
72715aac62 Added frontend implementation #460 2023-12-15 15:38:38 +01:00
e516def7ef Added reset member after rejoin setting to gql #460 2023-12-15 15:20:39 +01:00
f1f5954dfc Added reset member after rejoin setting to backend [untested] #460 2023-12-15 13:42:49 +01:00
266dacb301 Fixed deps
All checks were successful
Deploy staging on push / pre-build (push) Successful in 2s
Deploy staging on push / build-bot (push) Successful in 3m12s
Deploy staging on push / build-web (push) Successful in 2m1s
Deploy staging on push / deploy (push) Successful in 26s
Deploy dev on push / pre-build (push) Successful in 2s
Deploy dev on push / build-bot (push) Successful in 1m55s
Deploy dev on push / build-web (push) Successful in 1m46s
Deploy dev on push / deploy (push) Successful in 23s
2023-12-13 12:11:09 +01:00
280cd9827d shutdown correct stack
All checks were successful
Deploy staging on push / pre-build (push) Successful in 1s
Deploy staging on push / build-bot (push) Successful in 2m1s
Deploy staging on push / build-web (push) Successful in 1m57s
Deploy staging on push / deploy (push) Successful in 22s
2023-12-13 11:59:21 +01:00
36998470e8 Try filtering scheduled events
All checks were successful
Deploy staging on push / pre-build (push) Successful in 2s
Deploy staging on push / build-bot (push) Successful in 3m0s
Deploy staging on push / build-web (push) Successful in 2m7s
Deploy staging on push / deploy (push) Successful in 24s
2023-12-13 11:25:51 +01:00
53c6bf4208 Merge pull request 'Added gmod support #277' (#459) from #277 into staging
All checks were successful
Deploy staging on push / pre-build (push) Successful in 1s
Deploy staging on push / build-bot (push) Successful in 3m8s
Deploy staging on push / build-web (push) Successful in 1m47s
Deploy staging on push / deploy (push) Successful in 24s
Reviewed-on: #459
2023-12-12 11:49:43 +01:00
4e80e3ccb7 Added gmod support #277 2023-12-11 21:34:38 +01:00
ba173a6743 Improved xp knob #409
All checks were successful
Deploy staging on push / pre-build (push) Successful in 2s
Deploy staging on push / build-bot (push) Successful in 3m4s
Deploy staging on push / build-web (push) Successful in 1m56s
Deploy staging on push / deploy (push) Successful in 26s
2023-12-10 19:50:44 +01:00
84ff2a8a9b Fixed update user #455 2023-12-10 19:18:20 +01:00
13bc38fea8 Updated profile #409 2023-12-10 19:00:00 +01:00
dfdf0555d7 Added feature flag check for scheduled events #455
All checks were successful
Deploy staging on push / pre-build (push) Successful in 1s
Deploy staging on push / build-bot (push) Successful in 3m6s
Deploy staging on push / build-web (push) Successful in 1m57s
Deploy staging on push / deploy (push) Successful in 28s
2023-12-10 17:08:26 +01:00
39299eb11b Made watchers transient
All checks were successful
Deploy staging on push / pre-build (push) Successful in 1s
Deploy staging on push / build-bot (push) Successful in 3m46s
Deploy staging on push / build-web (push) Successful in 2m5s
Deploy staging on push / deploy (push) Successful in 28s
2023-12-10 13:13:24 +01:00
dfb6751bf9 Set event watcher loop from 12 to 3 hours
All checks were successful
Deploy staging on push / pre-build (push) Successful in 1s
Deploy staging on push / build-bot (push) Successful in 2m52s
Deploy staging on push / build-web (push) Successful in 1m53s
Deploy staging on push / deploy (push) Successful in 32s
2023-12-10 11:18:30 +01:00
4a75635a55 Fixed actions
All checks were successful
Deploy staging on push / pre-build (push) Successful in 1s
Deploy staging on push / build-bot (push) Successful in 1m47s
Deploy staging on push / build-web (push) Successful in 1m42s
Deploy staging on push / deploy (push) Successful in 22s
2023-12-09 22:48:37 +01:00
f6b2739394 Merge pull request 'Fixed actions' (#458) from dev into staging
All checks were successful
Deploy staging on push / pre-build (push) Successful in 1s
Deploy staging on push / build-bot (push) Successful in 1m52s
Deploy staging on push / build-web (push) Successful in 1m44s
Deploy staging on push / deploy (push) Successful in 23s
Reviewed-on: #458
2023-12-09 22:38:35 +01:00
36d2605655 Merge branch 'staging' into dev
All checks were successful
Deploy dev on push / pre-build (push) Successful in 1s
Deploy dev on push / build-bot (push) Successful in 1m53s
Deploy dev on push / build-web (push) Successful in 1m47s
Deploy dev on push / deploy (push) Successful in 21s
2023-12-09 22:38:16 +01:00
af891fa588 Fixed actions
All checks were successful
Deploy dev on push / pre-build (push) Successful in 1s
Deploy dev on push / build-bot (push) Successful in 1m51s
Deploy dev on push / build-web (push) Successful in 1m50s
Deploy dev on push / deploy (push) Successful in 23s
2023-12-09 22:33:14 +01:00
af348b85a4 Merge pull request 'dev into staging' (#457) from dev into staging
All checks were successful
Deploy staging on push / pre-build (push) Successful in 1s
Deploy staging on push / build-bot (push) Successful in 1m46s
Deploy staging on push / build-web (push) Successful in 1m44s
Deploy staging on push / deploy (push) Successful in 27s
Reviewed-on: #457
2023-12-09 22:23:06 +01:00
7ed621a25b Fixed actions
All checks were successful
Deploy dev on push / pre-build (push) Successful in 1s
Deploy dev on push / build-bot (push) Successful in 1m52s
Deploy dev on push / build-web (push) Successful in 1m41s
Deploy dev on push / deploy (push) Successful in 21s
2023-12-09 22:17:56 +01:00
013f953a7f Fixed actions
All checks were successful
Deploy dev on push / pre-build (push) Successful in 1s
Deploy dev on push / build-bot (push) Successful in 1m53s
Deploy dev on push / build-web (push) Successful in 1m42s
Deploy dev on push / deploy (push) Successful in 23s
2023-12-09 22:10:04 +01:00
4163532696 Fixed actions
All checks were successful
Deploy dev on push / pre-build (push) Successful in 1s
Deploy dev on push / build-bot (push) Successful in 1m52s
Deploy dev on push / build-web (push) Successful in 1m57s
Deploy dev on push / deploy (push) Successful in 6s
2023-12-09 22:02:57 +01:00
b6a1172cc1 Fixed actions
All checks were successful
Deploy dev on push / pre-build (push) Successful in 1s
Deploy dev on push / build-bot (push) Successful in 2m0s
Deploy dev on push / build-web (push) Successful in 1m47s
Deploy dev on push / deploy (push) Successful in 6s
2023-12-09 21:51:47 +01:00
20bdb6bd98 Updated compose files
All checks were successful
Deploy dev on push / pre-build (push) Successful in 1s
Deploy dev on push / build-bot (push) Successful in 2m1s
Deploy dev on push / build-web (push) Successful in 1m42s
Deploy dev on push / deploy (push) Successful in 5s
2023-12-09 21:46:01 +01:00
3f13f65932 Updated other env actions 2023-12-09 21:43:34 +01:00
711e184895 Fixed dev action
All checks were successful
Deploy dev on push / pre-build (push) Successful in 1s
Deploy dev on push / build-bot (push) Successful in 1m48s
Deploy dev on push / build-web (push) Successful in 1m53s
Deploy dev on push / deploy (push) Successful in 5s
2023-12-09 21:34:21 +01:00
7e3975f4be Fixed dev action
Some checks failed
Deploy dev on push / pre-build (push) Successful in 1s
Deploy dev on push / build-bot (push) Successful in 2m13s
Deploy dev on push / build-web (push) Successful in 1m43s
Deploy dev on push / deploy (push) Failing after 1s
2023-12-09 21:28:15 +01:00
d4f4f39522 Fixed dev action
Some checks failed
Deploy dev on push / pre-build (push) Successful in 1s
Deploy dev on push / build-bot (push) Failing after 1m55s
Deploy dev on push / build-web (push) Failing after 1m45s
Deploy dev on push / deploy (push) Has been skipped
2023-12-09 21:22:00 +01:00
af9c55e4b1 Updated dev action
Some checks failed
Deploy dev on push / pre-build (push) Successful in 2s
Deploy dev on push / build-bot (push) Failing after 2m3s
Deploy dev on push / build-web (push) Failing after 2m5s
Deploy dev on push / deploy (push) Has been skipped
2023-12-09 21:00:20 +01:00
e3172d6f24 Fixed event logger
All checks were successful
Deploy staging on push / on-push-deploy_sh-edraft (push) Successful in 4m22s
2023-12-09 14:11:34 +01:00
0706579f62 Fixed set timestamp for scheduled events #456
All checks were successful
Deploy staging on push / on-push-deploy_sh-edraft (push) Successful in 4m9s
2023-12-09 14:05:35 +01:00
ad3fc94923 Improved logging for event_service
All checks were successful
Deploy staging on push / on-push-deploy_sh-edraft (push) Successful in 4m13s
2023-12-09 13:58:38 +01:00
69882af0bd Added event logger
Some checks reported warnings
Deploy staging on push / on-push-deploy_sh-edraft (push) Has been cancelled
2023-12-09 13:55:40 +01:00
560c7650bd Merge pull request 'Removed native password & disable ssl' (#454) from staging into master
All checks were successful
Deploy prod on push / on-push-deploy_sh-edraft (push) Successful in 3m24s
Reviewed-on: #454
2023-12-06 18:28:55 +01:00
b0fb12f841 Removed native password & disable ssl
All checks were successful
Deploy staging on push / on-push-deploy_sh-edraft (push) Successful in 5m13s
2023-12-06 17:59:23 +01:00
18386339b7 Merge pull request 'staging' (#453) from staging into master
All checks were successful
Deploy prod on push / on-push-deploy_sh-edraft (push) Successful in 3m21s
Reviewed-on: #453
2023-12-04 23:04:29 +01:00
4d980331e2 Merge pull request 'Added user activity score #451' (#452) from dev into staging
All checks were successful
Deploy staging on push / on-push-deploy_sh-edraft (push) Successful in 3m18s
Reviewed-on: #452
2023-12-04 22:55:03 +01:00
e6667c78c8 Added user activity score #451
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 4m14s
2023-12-04 22:48:26 +01:00
9976c59302 Fixed permission service
All checks were successful
Deploy staging on push / on-push-deploy_sh-edraft (push) Successful in 4m42s
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 3m27s
2023-12-03 16:42:33 +01:00
293c8cd81c Merge pull request 'dev into staging' (#450) from dev into staging
All checks were successful
Deploy staging on push / on-push-deploy_sh-edraft (push) Successful in 3m34s
Reviewed-on: #450
2023-12-03 16:08:24 +01:00
8f4ea56184 Merge branch 'staging' into dev
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 4m2s
2023-12-03 16:07:29 +01:00
898e005978 Merge pull request 'Improved ontime loading & added game ontime #446' (#449) from #446 into dev
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 4m58s
Reviewed-on: #449
2023-12-03 16:06:50 +01:00
db3e6183ba Merge branch 'dev' into #446 2023-12-03 16:06:36 +01:00
0a47393510 Improved ontime loading & added game ontime #446 2023-12-03 16:04:56 +01:00
6c5b514b41 Set new version
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 5m20s
2023-12-03 15:31:29 +01:00
84f994fd58 Merge pull request '#446' (#448) from #446 into dev
Some checks reported warnings
Deploy dev on push / on-push-deploy_sh-edraft (push) Has been cancelled
Reviewed-on: #448
2023-12-03 15:28:07 +01:00
3d21123786 Fixed profile design #446 2023-12-03 15:24:53 +01:00
36887f1bdf Improved feature flag loading in frontend #446 2023-12-03 15:13:20 +01:00
0e4419312b Improved permission loading #446 2023-12-03 15:03:40 +01:00
94732b7227 Improved data integrity service loop #446 2023-12-03 13:14:10 +01:00
4233e089f8 Improved user message per hour check handling #446 2023-12-03 11:59:16 +01:00
db61a764eb Merge pull request 'staging' (#447) from staging into master
All checks were successful
Deploy prod on push / on-push-deploy_sh-edraft (push) Successful in 3m45s
Reviewed-on: #447
2023-12-02 19:34:22 +01:00
919eef79f6 Merge branch 'master' into staging
All checks were successful
Deploy staging on push / on-push-deploy_sh-edraft (push) Successful in 3m58s
2023-12-02 19:33:58 +01:00
0aa690b984 Changed normal data collection to list comprehensions p3 #446 2023-12-02 18:16:04 +01:00
b6b9bfabf5 Changed normal data collection to list comprehensions p2 #446 2023-12-02 17:53:23 +01:00
d927ab8fb7 Changed normal data collection to list comprehensions p1 #446 2023-12-02 17:37:50 +01:00
a2dd447dbd Always check scheduled_events after scheduled_event update #410
All checks were successful
Deploy staging on push / on-push-deploy_sh-edraft (push) Successful in 4m26s
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 3m33s
2023-12-02 15:32:16 +01:00
8a76b46165 Improved event time loading #410
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 5m12s
Deploy staging on push / on-push-deploy_sh-edraft (push) Successful in 3m40s
2023-12-02 15:24:13 +01:00
af3084ad36 Fixed scheduled event end update #410
All checks were successful
Deploy staging on push / on-push-deploy_sh-edraft (push) Successful in 4m41s
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 3m39s
2023-12-01 21:04:29 +01:00
285b8bdbe4 Fixed scheduled events #410
All checks were successful
Deploy staging on push / on-push-deploy_sh-edraft (push) Successful in 4m44s
2023-12-01 20:40:44 +01:00
e2da4f09ee Fixed command
All checks were successful
Deploy staging on push / on-push-deploy_sh-edraft (push) Successful in 4m50s
2023-12-01 20:02:42 +01:00
4ed99da689 Merge pull request 'dev' (#445) from dev into staging
All checks were successful
Deploy staging on push / on-push-deploy_sh-edraft (push) Successful in 3m32s
Reviewed-on: #445
2023-12-01 19:55:54 +01:00
bc94d31a8d Added logs cleanup
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 4m30s
2023-12-01 19:50:18 +01:00
0d3db75190 Improved scheduled_event handling #410
Some checks reported warnings
Deploy dev on push / on-push-deploy_sh-edraft (push) Has been cancelled
2023-12-01 19:06:11 +01:00
090f217f93 Fixed scheduled_events #410
All checks were successful
Deploy staging on push / on-push-deploy_sh-edraft (push) Successful in 3m37s
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 3m39s
2023-11-30 17:57:43 +01:00
b98828fce3 Fixed mass move #444 2023-11-30 17:54:31 +01:00
5f8ae787f0 Improved profile voice states & fixed new vs handling
All checks were successful
Deploy staging on push / on-push-deploy_sh-edraft (push) Successful in 5m31s
2023-11-20 09:28:53 +01:00
0c807a7de7 Merge pull request 'dev into staging' (#442) from dev into staging
All checks were successful
Deploy staging on push / on-push-deploy_sh-edraft (push) Successful in 3m56s
Reviewed-on: #442
Reviewed-by: edraft-dev <dev.sven.heidemann@sh-edraft.de>
2023-11-19 14:49:59 +01:00
2dc60acaa6 Merge branch 'staging' into dev
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 4m45s
2023-11-19 14:42:42 +01:00
29ea96a5e5 Fixed new scheduled event
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 5m4s
2023-11-19 14:35:26 +01:00
026331b397 Merge pull request '#440' (#441) from #440 into dev
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 4m43s
Reviewed-on: #441
2023-11-19 14:18:54 +01:00
bfe74ad1c5 Fixed frontend version #440 2023-11-19 14:17:47 +01:00
7c8c2bef70 Added flag handling to auth controller #440 2023-11-19 14:11:28 +01:00
4ccb57e6a3 Added feature flag for basic auth stuff #440 2023-11-19 14:01:26 +01:00
c8d3bf780d Merge pull request '#410' (#439) from #410 into dev
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 4m49s
Reviewed-on: #439
2023-11-19 12:57:42 +01:00
8788b727c5 Some fixes #410 2023-11-19 12:56:55 +01:00
5e9280d972 Fixed loop timer #410 2023-11-19 12:37:20 +01:00
bd856d0143 Added scheduled_event handler #410 2023-11-19 12:32:42 +01:00
da57063b68 Completed frontend #410 2023-11-19 00:31:25 +01:00
171aa63df9 Improved update & add logic #410 2023-11-18 23:10:28 +01:00
74dba4b981 Added add dialog #410 2023-11-18 22:15:18 +01:00
a3ebd07093 Working on add/edit dialog #410 2023-11-15 19:35:20 +01:00
2de5afd648 Rebased & fixed backend #410 2023-11-15 19:35:17 +01:00
e8cc42e155 Added scheduledEvent to gql #410 2023-11-15 19:35:17 +01:00
20e20969e4 Added scheduled event to db #410 2023-11-15 19:35:17 +01:00
802d5478d1 Fixed migration service
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 4m14s
2023-11-15 19:30:29 +01:00
05f718f3ae Set version 1.2.2
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 4m11s
2023-11-15 18:18:37 +01:00
7682b966a8 Reformatted
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 4m11s
2023-11-15 18:05:36 +01:00
7cb4f03554 Merge pull request 'Fixed workspace #428' (#438) from #428 into dev
Some checks reported warnings
Deploy dev on push / on-push-deploy_sh-edraft (push) Has been cancelled
Reviewed-on: #438
2023-11-15 18:05:07 +01:00
b1b74b2551 Merge branch 'dev' into #428 2023-11-15 18:04:59 +01:00
bbad4100dc Fixed workspace #428 2023-11-15 17:36:30 +01:00
25df0e4876 Merge pull request '#428' (#436) from #428 into dev
Some checks failed
Deploy dev on push / on-push-deploy_sh-edraft (push) Failing after 2m32s
Reviewed-on: #436
2023-11-15 16:56:31 +01:00
4ba40b826a Fixed scripts #428 2023-11-15 16:56:08 +01:00
06a0eba5c5 Added migration to old naming safety #428 2023-11-14 23:50:05 +01:00
fe5b0207c0 Added version logic & fixed downgrade scripts #428 2023-11-13 23:38:04 +01:00
e01c738cf0 Removed old logic #428 2023-11-13 22:57:17 +01:00
d2d59bdad7 Removed old scripts #428 2023-11-13 22:55:35 +01:00
dd3bfa68c6 Finished script migration #428 2023-11-13 22:54:47 +01:00
4e12ba5ffe Added other scripts #428 2023-11-10 23:39:21 +01:00
35a8b8f592 Added 1.0.0 scripts #428 2023-11-10 23:36:32 +01:00
5c8feed8aa Readded known scripts & added formatting #428 2023-11-10 23:35:56 +01:00
e018fdcbdf Updated and added script order #428 2023-11-10 23:34:07 +01:00
39b9def76c Fixed versions #428 2023-11-10 13:28:54 +01:00
2801c617f6 Fixed migrations #428 2023-11-10 13:27:58 +01:00
5461a6d8dc Added 0.3.1 migration scripts #428 2023-11-10 13:25:53 +01:00
d93c3ad6c7 Added 0.3 migration scripts #428 2023-11-10 13:23:23 +01:00
aec7dac4c7 Added 0.2.2 migration scripts #428 2023-11-10 13:22:36 +01:00
407ec08463 Added 0.1 migration scripts #428 2023-11-10 13:20:33 +01:00
4628f31993 Added logic to handle down and upgrades #428 2023-11-10 13:19:23 +01:00
1f2fbc362f Improved sql migration to script migration tool #428 2023-11-10 12:56:02 +01:00
666b20d3a9 Added mock db base #428 2023-11-10 11:57:54 +01:00
5de6710261 Merge pull request 'staging' (#435) from staging into master
All checks were successful
Deploy prod on push / on-push-deploy_sh-edraft (push) Successful in 3m34s
Reviewed-on: #435
2023-11-07 20:37:13 +01:00
e99e272029 Merge branch 'master' into staging
All checks were successful
Deploy staging on push / on-push-deploy_sh-edraft (push) Successful in 3m12s
2023-11-07 20:37:03 +01:00
650f612a6b Fixed base on member join
All checks were successful
Deploy staging on push / on-push-deploy_sh-edraft (push) Successful in 4m19s
2023-11-07 20:36:29 +01:00
38093ab817 Removed maintenance mode
All checks were successful
Deploy staging on push / on-push-deploy_sh-edraft (push) Successful in 3m10s
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 3m12s
2023-11-07 18:27:57 +01:00
d2c37a0098 Merge pull request 'staging' (#434) from staging into master
All checks were successful
Deploy prod on push / on-push-deploy_sh-edraft (push) Successful in 3m15s
Reviewed-on: #434
2023-11-07 18:21:58 +01:00
804aa0b9b8 Fixed some histories
All checks were successful
Deploy staging on push / on-push-deploy_sh-edraft (push) Successful in 4m1s
2023-11-07 18:16:10 +01:00
692cf8de31 Merge pull request 'Probably fixed server stats #432' (#433) from dev into staging
All checks were successful
Deploy staging on push / on-push-deploy_sh-edraft (push) Successful in 3m19s
Reviewed-on: #433
2023-11-07 18:07:11 +01:00
b15c3b7fa3 Set version 1.2.1
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 4m15s
2023-11-07 18:01:23 +01:00
49121fd179 Probably fixed server stats #432
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 4m25s
2023-11-07 17:56:57 +01:00
9bad75e7c2 Temporarily removed server stats
All checks were successful
Deploy prod on push / on-push-deploy_sh-edraft (push) Successful in 5m7s
Deploy staging on push / on-push-deploy_sh-edraft (push) Successful in 3m16s
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 3m11s
2023-11-07 00:28:22 +01:00
7358b67072 Fixed server loading in web
All checks were successful
Deploy prod on push / on-push-deploy_sh-edraft (push) Successful in 5m6s
2023-11-07 00:06:17 +01:00
1b0ba01258 Fixed gql types
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 3m52s
Deploy staging on push / on-push-deploy_sh-edraft (push) Successful in 3m3s
Deploy prod on push / on-push-deploy_sh-edraft (push) Successful in 3m3s
2023-11-06 23:29:11 +01:00
6fc5ee3ed3 Merge pull request 'Fixed DeleteUserJoinedServer' (#431) from staging into master
All checks were successful
Deploy prod on push / on-push-deploy_sh-edraft (push) Successful in 3m18s
Reviewed-on: #431
2023-11-06 21:43:36 +01:00
099707446d Merge branch 'master' into staging
Some checks reported warnings
Deploy staging on push / on-push-deploy_sh-edraft (push) Has been cancelled
2023-11-06 21:43:25 +01:00
d6b7fd73df Fixed DeleteUserJoinedServer
All checks were successful
Deploy staging on push / on-push-deploy_sh-edraft (push) Successful in 4m2s
2023-11-06 21:42:52 +01:00
6bfb0ddbf9 Merge pull request 'Fixed remove user process' (#429) from staging into master
All checks were successful
Deploy prod on push / on-push-deploy_sh-edraft (push) Successful in 3m10s
Reviewed-on: #429
Reviewed-by: edraft-dev <dev.sven.heidemann@sh-edraft.de>
2023-11-06 21:34:29 +01:00
e1b76fa628 Possibly fixed rate limit in actions
All checks were successful
Deploy staging on push / on-push-deploy_sh-edraft (push) Successful in 3m0s
2023-11-06 21:26:25 +01:00
e6f98def6a Possibly fixed rate limit in actions 2023-11-06 21:26:25 +01:00
590479eee2 Set migration only on prod 2023-11-06 21:26:25 +01:00
d25305be4a Merge pull request 'Fixed migration scripts' (#427) from staging into master
All checks were successful
Deploy prod on push / on-push-deploy_sh-edraft (push) Successful in 3m24s
Reviewed-on: #427
Reviewed-by: edraft-dev <dev.sven.heidemann@sh-edraft.de>
2023-11-06 20:26:57 +01:00
2889a97f17 Merge branch 'master' into staging
All checks were successful
Deploy staging on push / on-push-deploy_sh-edraft (push) Successful in 4m21s
2023-11-06 20:25:59 +01:00
b540821a32 Fixed migration scripts
Some checks reported warnings
Deploy staging on push / on-push-deploy_sh-edraft (push) Has been cancelled
2023-11-06 20:25:10 +01:00
5b43b72838 Merge pull request 'staging into master' (#426) from staging into master
All checks were successful
Deploy prod on push / on-push-deploy_sh-edraft (push) Successful in 3m30s
Reviewed-on: #426
Reviewed-by: edraft-dev <dev.sven.heidemann@sh-edraft.de>
2023-11-06 20:06:33 +01:00
46cd33d194 Updated gitea actions
All checks were successful
Deploy staging on push / on-push-deploy_sh-edraft (push) Successful in 4m11s
2023-11-06 20:05:10 +01:00
1287829bdf Set migration only on prod
Some checks failed
Deploy staging on push / on-push-deploy_sh-edraft (push) Failing after 5s
2023-11-06 19:41:52 +01:00
c91c8b2bcd Updated config
Some checks failed
Deploy staging on push / on-push-deploy_sh-edraft (push) Failing after 5s
2023-11-06 19:25:40 +01:00
a5b4c4cd66 Updated config
All checks were successful
Deploy staging on push / on-push-deploy_sh-edraft (push) Successful in 4m27s
2023-11-06 19:22:40 +01:00
1688347367 Merge pull request 'dev into staging' (#425) from dev into staging
All checks were successful
Deploy staging on push / on-push-deploy_sh-edraft (push) Successful in 3m54s
Reviewed-on: #425
2023-11-06 19:06:09 +01:00
6e79811bc9 Added maintenance option to technician settings #424
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 4m20s
2023-11-06 18:56:04 +01:00
e1258151de Added maintenance to db and gql #424 2023-11-06 18:02:09 +01:00
a7c833b9db Added maintenance mode #423
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 4m9s
2023-11-05 22:22:39 +01:00
2f161d2f43 Fixed technicianFullDataAccess
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 3m59s
2023-11-05 17:50:37 +01:00
0a5f23f1af Merge pull request 'dev' (#422) from dev into staging
All checks were successful
Deploy staging on push / on-push-deploy_sh-edraft (push) Successful in 3m22s
Reviewed-on: #422
2023-11-05 17:07:56 +01:00
23a3dbbc5e Merge branch 'staging' into dev
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 3m42s
2023-11-05 17:07:48 +01:00
8975665407 Merge pull request '#420' (#421) from #420 into dev
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 4m23s
Reviewed-on: #421
2023-11-05 15:51:47 +01:00
90de90684c Added statistics #420 2023-11-05 15:51:25 +01:00
d1ecfe9603 Added activity score calculation #420 2023-11-05 15:34:17 +01:00
f7f25e9428 Added base for server statistics #420 2023-11-05 14:01:24 +01:00
6ae7ab5c5a Set higher timer for steam offer watcher
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 4m20s
2023-11-05 11:48:45 +01:00
315c90cacc Fixed dropdown width
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 3m57s
2023-11-05 00:38:44 +01:00
2caa910613 Merge pull request 'dev into staging' (#415) from dev into staging
All checks were successful
Deploy staging on push / on-push-deploy_sh-edraft (push) Successful in 4m29s
Reviewed-on: #415
2023-11-05 00:29:44 +01:00
8e55ebc4b7 Added active member count #413
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 6m38s
2023-11-05 00:18:01 +01:00
665e524aa9 Fixed menu design
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 3m13s
2023-11-04 23:56:36 +01:00
ae021ac7ea Added custom level header to make multi env compatible
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 4m0s
2023-11-04 23:43:54 +01:00
dcbb481b10 Added setting for max steam offer count 2023-11-04 23:37:07 +01:00
e6165caed9 Only view first 150 elements of steam offers
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 3m27s
2023-11-04 18:01:40 +01:00
58fdc9f48f Fixed staging icon
All checks were successful
Deploy staging on push / on-push-deploy_sh-edraft (push) Successful in 4m5s
2023-11-04 17:54:39 +01:00
1c02608410 Merge pull request 'dev into staging' (#414) from dev into staging
Some checks failed
Deploy staging on push / on-push-deploy_sh-edraft (push) Failing after 2m30s
Reviewed-on: #414
2023-11-04 17:47:23 +01:00
5e0b322273 Removed invalid files
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 4m48s
2023-11-04 15:33:28 +01:00
4f336bed05 Fixed technician config loading
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 4m50s
2023-11-04 15:21:22 +01:00
99d476df86 Fixed version handling
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 3m20s
2023-11-04 14:40:42 +01:00
81062e74d7 Fixed docker
Some checks failed
Deploy dev on push / on-push-deploy_sh-edraft (push) Failing after 3m28s
2023-11-04 14:27:27 +01:00
acae8ac891 Fixed deploy actions
Some checks failed
Deploy dev on push / on-push-deploy_sh-edraft (push) Failing after 3m19s
2023-11-04 14:22:15 +01:00
e3dc0f725e Possibly fixed web build
Some checks failed
Deploy dev on push / on-push-deploy_sh-edraft (push) Failing after 3m18s
2023-11-04 14:13:55 +01:00
40a7919a3f Set migration only for test purpose
Some checks failed
Deploy dev on push / on-push-deploy_sh-edraft (push) Failing after 3m16s
2023-11-04 14:00:31 +01:00
14d0e38c5d Improved deployment 2023-11-04 13:21:55 +01:00
62649226ba Updated config to deploy dev 2023-11-04 13:06:11 +01:00
0a04ad74d8 Added dev env 2023-11-04 13:02:09 +01:00
467050d87e Set steam offer loop to one hour 2023-11-04 11:04:04 +01:00
e8f2a01851 Updated config
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 4m31s
2023-11-03 15:19:04 +01:00
f972055ebf Added translation for short role name position 2023-11-03 15:07:23 +01:00
9bbfe498cc Fixed channel sort
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 4m43s
2023-11-03 15:02:27 +01:00
b21c9f894f Fixed sale count for steam offers
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 4m35s
2023-11-03 14:54:25 +01:00
7a0f29f557 Improved workflows
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 4m42s
2023-11-03 14:15:59 +01:00
ed72620d33 Changed steam sale offer checker
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 4m5s
2023-11-03 08:12:21 +01:00
b8356917b3 Prevent logging bots 2023-11-03 08:12:21 +01:00
84fedfaa0b Improved data validation for import 2023-11-03 08:12:21 +01:00
2d358188af Fixed formatting 2023-11-03 08:12:21 +01:00
79278d8f4b Fixed sync by member command 2023-11-03 08:12:21 +01:00
b943b9a7ed Fixed version #407 2023-11-03 08:12:21 +01:00
1c20bbed66 Added tooltip translation #407 2023-11-03 08:12:21 +01:00
33006e3d01 Added data import & export #407 2023-11-03 08:12:21 +01:00
90ae55c0d4 Fixed birthday gql output 2023-11-03 08:12:21 +01:00
626d0891f9 Fixed config loading query 2023-11-03 08:12:21 +01:00
09cccd1b89 Fixed deps 2023-11-03 08:12:21 +01:00
940a2ed065 Fixed add user 2023-11-03 08:12:21 +01:00
c2fa1a1c00 Fixed docker config 2023-11-03 08:12:21 +01:00
1f1b1f7b65 Fixed docker config 2023-11-03 08:12:21 +01:00
4b52995143 Updated image name in stack 2023-11-03 08:12:21 +01:00
6a6d19686c Fixed workflow 2023-11-03 08:12:21 +01:00
798162fb62 Readded configs 2023-11-03 08:12:21 +01:00
74c71abea5 Readded docker 2023-11-03 08:12:21 +01:00
0e679eda32 Fixed action 2023-11-03 08:12:21 +01:00
403c169b71 Fixed action 2023-11-03 08:12:21 +01:00
a113e21e19 Fixed angular.json 2023-11-03 08:12:21 +01:00
71c091c226 Added todo comment 2023-11-03 08:12:21 +01:00
b8d27cc682 Fixed sorting 2023-11-03 08:12:21 +01:00
c9b967b9d0 Changed env var prefix #405 2023-11-03 08:12:21 +01:00
410049be6e Updated web build #405 2023-11-03 08:12:21 +01:00
be6361f619 Formatted stuff #405 2023-11-03 08:12:21 +01:00
3a7daf8b42 Fixed submodules #405 2023-11-03 08:12:21 +01:00
f435d3dd48 Moved folders #405 2023-11-03 08:12:21 +01:00
eb32bec43c Fixed task logging #404 2023-11-03 08:12:21 +01:00
232429a77d Updated cpl-discord #404 2023-11-03 08:12:21 +01:00
0946734633 Removed mysql_native_password #404 2023-11-03 08:12:21 +01:00
ea1472a9eb Fixed type param for get_services #404 2023-11-03 08:12:21 +01:00
f710f6ad6c Build new version #404 2023-11-03 08:12:21 +01:00
030fedfcfb Updated deps #404 2023-11-03 08:12:21 +01:00
bd1d230f67 Added birthday watcher #401 2023-11-03 08:12:21 +01:00
dcafa63d74 Improved steam offer #188 2023-11-03 08:12:21 +01:00
3a42b42dbf Improved steam offer #188 2023-11-03 08:12:21 +01:00
4747f23202 Get steam offers #188 2023-11-03 08:12:21 +01:00
5057cbed16 Added birthday command #401 2023-11-03 08:12:21 +01:00
7aff767a4b Added birthday to wi #401 2023-11-03 08:12:21 +01:00
61bdc8a52a Improved user warnings in WI #402 2023-11-03 08:12:21 +01:00
5afd0fafa8 Show user warnings in profile & lazy load other stuff #402 2023-11-03 08:12:21 +01:00
eeda0405f3 Merge pull request 'dev' (#400) from dev into master
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 3m13s
Reviewed-on: sh-edraft.de/kd_discord_bot#400
2023-10-03 11:09:46 +02:00
0e2b7d03fc Fixed compose
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 3m17s
2023-10-03 11:04:33 +02:00
c7f5ab0161 Merge pull request '#393' (#399) from #393 into dev
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 4m25s
Reviewed-on: sh-edraft.de/kd_discord_bot#399
2023-10-03 10:53:35 +02:00
01e8e4256d Build new version #393 2023-10-03 10:52:38 +02:00
75adc2285e Fixed feature flag handling #393 2023-10-03 10:51:40 +02:00
9e12d84ba0 Fixed errors #393 2023-10-03 10:09:10 +02:00
d3b503d3ef Improved permission service #393 2023-10-03 10:04:16 +02:00
dd86c3a657 Moved help message from private to team chat 2023-10-03 09:46:14 +02:00
aba6e48e2b Merge pull request 'dev' (#392) from dev into master
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 3m42s
Reviewed-on: sh-edraft.de/kd_discord_bot#392
2023-10-02 09:22:16 +02:00
73848c3141 Merge branch 'master' into dev
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 3m22s
2023-10-02 09:22:09 +02:00
33d6015088 Fixed compose
Some checks reported warnings
Deploy dev on push / on-push-deploy_sh-edraft (push) Has been cancelled
2023-10-02 09:20:33 +02:00
7e962e05f6 Fixed docker stacks
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 3m16s
2023-10-02 08:48:25 +02:00
c73c6876b2 Fixed short role name check command
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 3m49s
2023-10-02 08:36:33 +02:00
8e949c3e1a Set compose versions
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 3m18s
2023-10-02 08:31:15 +02:00
472a76d563 Build new version #391
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 4m11s
2023-10-02 08:25:18 +02:00
f5d88ec94c Completed feature #391 2023-10-02 08:24:20 +02:00
2182c021b9 Added highest role setting to gql #391 2023-10-02 08:01:21 +02:00
a9c9880fd4 Added highest role check #391 2023-10-02 07:59:08 +02:00
d91c76467d Added setting to server config #391 2023-10-02 07:52:00 +02:00
2f10ace27f Set version 2023-10-02 07:46:13 +02:00
3b79a61bb6 Improved can see permission for admin and technician 2023-10-02 07:41:15 +02:00
ef0fab1178 Check level in sync command
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 4m35s
2023-10-02 07:30:14 +02:00
189b6370a9 Moved welcome message for team from private to team chat #390 2023-10-02 07:28:09 +02:00
0ed93c56d0 Merge pull request 'dev' (#389) from dev into master
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 3m31s
Reviewed-on: sh-edraft.de/kd_discord_bot#389
2023-10-02 07:22:08 +02:00
4d18dd3845 Added gitea templates
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 4m50s
2023-10-02 07:14:36 +02:00
7b7cbb20db Fixed formatting 2023-10-02 07:13:21 +02:00
84c2f5c2c4 Fixed workflow for new branch model
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 3m49s
2023-10-02 07:12:39 +02:00
c85c6df784 Merge pull request 'support' (#388) from support into master
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 3m51s
Reviewed-on: sh-edraft.de/kd_discord_bot#388
2023-09-29 19:42:22 +02:00
d5d898fa07 Merge pull request 'Fixed auto-role react' (#387) from 1.1.8 into support
Some checks failed
Deploy dev on push / on-push-deploy_sh-edraft (push) Failing after 33s
Reviewed-on: sh-edraft.de/kd_discord_bot#387
2023-09-29 19:42:09 +02:00
ef5ebabf81 Fixed auto-role react 2023-09-29 19:41:55 +02:00
f89b4c4ef5 Merge pull request 'support' (#386) from support into master
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 3m10s
Reviewed-on: sh-edraft.de/kd_discord_bot#386
2023-09-29 19:31:19 +02:00
8b277a2d19 Merge pull request 'Fixed docker compose' (#385) from 1.1.8 into support
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 3m7s
Reviewed-on: sh-edraft.de/kd_discord_bot#385
2023-09-29 19:27:13 +02:00
a84e77e055 Fixed docker compose 2023-09-29 19:26:40 +02:00
892c983e1e Merge pull request '1.1.8' (#384) from 1.1.8 into support
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 4m9s
Reviewed-on: sh-edraft.de/kd_discord_bot#384
2023-09-29 19:20:41 +02:00
1d3809c986 Set version 2023-09-29 19:20:04 +02:00
3117f617d9 Fixed auto role add 2023-09-29 19:19:23 +02:00
7e6053768f Added react command 2023-09-29 19:11:06 +02:00
3d9cd0a2fc Merge pull request 'Fixed nick name handling' (#383) from support into master
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 3m37s
Reviewed-on: sh-edraft.de/kd_discord_bot#383
2023-09-28 20:59:26 +02:00
8d90768594 Fixed nick name handling
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 4m2s
2023-09-28 20:54:23 +02:00
7e8a9482d4 Merge pull request 'Added short role name check command' (#382) from support into master
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 3m23s
Reviewed-on: sh-edraft.de/kd_discord_bot#382
2023-09-28 20:46:41 +02:00
bf7d29e6ab Fixed auto role group
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 4m16s
2023-09-28 20:41:27 +02:00
608001e0e1 Added short role name check command
Some checks reported warnings
Deploy dev on push / on-push-deploy_sh-edraft (push) Has been cancelled
2023-09-28 20:37:15 +02:00
0dd9558f33 Merge pull request 'support' (#381) from support into master
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 3m12s
Reviewed-on: sh-edraft.de/kd_discord_bot#381
2023-09-28 20:03:31 +02:00
7acd850e68 Set version
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 3m23s
2023-09-28 19:59:26 +02:00
ecd3ea96b1 Merge pull request 'Fixed mutation' (#380) from 1.1.7 into support
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 4m10s
Reviewed-on: sh-edraft.de/kd_discord_bot#380
2023-09-28 19:51:23 +02:00
d869bcfd3a Fixed mutation 2023-09-28 19:51:02 +02:00
818e021761 Merge pull request 'Fixed post script' (#379) from 1.1.7 into support
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 4m6s
Reviewed-on: sh-edraft.de/kd_discord_bot#379
2023-09-28 19:32:36 +02:00
b286322247 Merge branch 'support' into 1.1.7 2023-09-28 19:13:20 +02:00
661b057e85 Fixed workspace 2023-09-28 19:13:10 +02:00
9be4e344f6 Merge pull request '1.1.7 - #376 #375 #374' (#377) from 1.1.7 into support
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 3m24s
Reviewed-on: sh-edraft.de/kd_discord_bot#377
Reviewed-by: Ebola-Chan <nick.jungmann@gmail.com>
Closes #374 #375 #376 #378
2023-09-28 18:12:57 +02:00
ebc782e266 Fixed project description #378 2023-09-28 17:34:49 +02:00
887a46fa7f Build version #378 2023-09-28 17:03:05 +02:00
0cc8d6f2c7 Added discord impl #378 2023-09-28 17:01:33 +02:00
3546d38f75 Added flag check to hide pages #378 2023-09-28 15:14:38 +02:00
376cb76036 Added frontend impl #378 2023-09-28 14:36:45 +02:00
8e8da46a54 Added short role names components #378 2023-09-28 13:17:42 +02:00
94e003312d Fixed migration #378 2023-09-28 11:35:38 +02:00
fe42d46a38 Fixed server config #378 2023-09-28 11:30:58 +02:00
4c0a4bc1ae Added can see check #378 2023-09-28 10:54:04 +02:00
4161d3a38a Added to server query #378 2023-09-28 10:52:51 +02:00
4a763e4e03 Added position query #378 2023-09-28 10:44:09 +02:00
9783424066 Fixed mutation #378 2023-09-28 10:38:08 +02:00
290b5f38a7 Added mutation #378 2023-09-28 10:15:35 +02:00
5bfd04722c Added query #378 2023-09-28 10:00:35 +02:00
12f956f4c3 Added repo #378 2023-09-28 09:39:49 +02:00
0b767fcb68 Improved data model #378 2023-09-28 09:32:18 +02:00
a303108da2 Fixed migration #378 2023-09-28 09:23:21 +02:00
5e9cca5b1d Added fix migration #378 2023-09-28 09:08:52 +02:00
d1c79c95b2 Added short role name migration #378 2023-09-28 08:56:59 +02:00
378d2c3dc9 Added guild join event 2023-09-28 08:03:41 +02:00
a8ea9f5e49 Fixed table add 2023-09-28 07:51:40 +02:00
957a54ccf3 Set new version 2023-09-28 07:40:09 +02:00
0037a30c11 Fixed discord data orders 2023-09-28 07:31:23 +02:00
77e079d91c Fixed config for new servers 2023-09-28 07:16:50 +02:00
25137c6923 Merge pull request 'Fixed action' (#373) from support into master
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 3m58s
Reviewed-on: sh-edraft.de/kd_discord_bot#373
2023-09-27 20:59:21 +02:00
0a0401dd87 Fixed action
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 3m43s
2023-09-27 20:59:03 +02:00
74f3ee2f08 Merge pull request 'support into master' (#371) from support into master
Some checks failed
Deploy dev on push / on-push-deploy_sh-edraft (push) Failing after 1m6s
Reviewed-on: sh-edraft.de/kd_discord_bot#371
Reviewed-by: edraft-dev <dev.sven.heidemann@sh-edraft.de>
Reviewed-by: Ebola-Chan <nick.jungmann@gmail.com>
2023-09-27 20:46:54 +02:00
69fc75fc97 Merge pull request 'secrets' (#372) from secrets into support
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 3m41s
Reviewed-on: sh-edraft.de/kd_discord_bot#372
2023-09-27 20:46:45 +02:00
5a85232374 Added secrets 2023-09-27 20:35:16 +02:00
5892b209d3 Added secrets 2023-09-27 20:33:35 +02:00
6715ecacd6 Install ts-node
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 3m27s
2023-09-27 17:51:50 +02:00
d72715d51b Fixed action
Some checks failed
Deploy dev on push / on-push-deploy_sh-edraft (push) Failing after 3m16s
2023-09-27 17:33:50 +02:00
a7f9fa5818 Fixed action
Some checks failed
Deploy dev on push / on-push-deploy_sh-edraft (push) Failing after 2m43s
2023-09-27 17:28:45 +02:00
c45916aaee Merge pull request '#369' (#370) from #369 into support
Some checks failed
Deploy dev on push / on-push-deploy_sh-edraft (push) Failing after 2m10s
Reviewed-on: sh-edraft.de/kd_discord_bot#370
2023-09-27 17:24:40 +02:00
8bbd57e82f Fixed deploy #369 2023-09-27 17:22:46 +02:00
987a1a664b Tried to add CI/CD #369 2023-09-27 17:21:11 +02:00
99bfa9874a Renamed image #369 2023-09-27 16:47:57 +02:00
82058bab0e Merge pull request '1.1.6' (#368) from 1.1.6 into support
Reviewed-on: sh-edraft.de/kd_discord_bot#368
Reviewed-by: Ebola-Chan <nick.jungmann@gmail.com>
2023-09-27 16:32:38 +02:00
a566fca01f Fixed typo 2023-09-27 16:24:08 +02:00
e52f5e4186 Merge pull request '#364' (#365) from #364 into support
Reviewed-on: sh-edraft.de/kd_discord_bot#365
Reviewed-by: Ebola-Chan <nick.jungmann@gmail.com>
Closes #364
2023-09-27 14:50:37 +02:00
c90ede69dd Check feature active in user joined game server mutation 2023-09-27 13:02:57 +02:00
85ba012b6f Merge pull request '#362' (#363) from #362 into support
Reviewed-on: sh-edraft.de/kd_discord_bot#363
Reviewed-by: Ebola-Chan <nick.jungmann@gmail.com>
Closes #362
2023-09-27 12:34:48 +02:00
4cc094576d Fixed auto_complete #367 2023-09-25 22:10:28 +02:00
74ddc238be Added sync commands #367 2023-09-25 22:07:27 +02:00
b53ddb1351 Added logic to list game ident users #366 2023-09-25 20:38:18 +02:00
ca5a6c81b8 Build version #366 2023-09-25 20:38:18 +02:00
7b7bbaea50 Set version #366 2023-09-25 20:38:18 +02:00
d4b40eb52e Build version #364 2023-09-25 18:09:04 +02:00
ed524c2f64 Set version #364 2023-09-25 18:08:15 +02:00
8e3c8459f8 Fixed user joined game server mutation #364 2023-09-25 18:06:58 +02:00
e661ee1489 Merge branch 'support' into #362 2023-09-24 20:33:16 +02:00
9eaeb2df42 Merge pull request '#360' (#361) from #360 into support
Reviewed-on: sh-edraft.de/kd_discord_bot#361
Reviewed-by: Ebola-Chan <nick.jungmann@gmail.com>
Closes #360
2023-09-24 20:33:08 +02:00
2e0c1babe4 Merge pull request 'support in master' (#356) from support into master
Reviewed-on: sh-edraft.de/kd_discord_bot#356
Reviewed-by: Ebola-Chan <nick.jungmann@gmail.com>
Reviewed-by: edraft-dev <dev.sven.heidemann@sh-edraft.de>
2023-09-10 18:23:38 +02:00
946 changed files with 16270 additions and 5927 deletions

17
.gitea/issue_template.md Normal file
View File

@ -0,0 +1,17 @@
#### Beschreibung
Als Produktmanager muss ich nun dieses Ticket ausfüllen.
#### Aktuelles Verhalten
* Was macht die Software aktuell?
#### Gewünschtes Verhalten
* Was soll die Software anders machen?
#### Akzeptanzkriterien
* Was muss erfüllt sein, damit das Ticket als abgeschlossen angesehen werden kann?
#### Anmerkungen

View File

@ -0,0 +1,7 @@
#### Ticket Referenz:
#1
#### Gibt es etwas beim Review zu beachten?
Nein

View File

@ -0,0 +1,129 @@
name: Deploy dev on push
run-name: Deploy dev on push
on:
push:
branches:
- dev
jobs:
pre-build:
runs-on: [ dobby.sh-edraft.de, ubuntu-latest ]
container: git.sh-edraft.de/sh-edraft.de/act-runner:latest
steps:
- name: Shutdown stack
run: docker stack rm sdb_dev
build-bot:
needs: pre-build
runs-on: [ dobby.sh-edraft.de, ubuntu-latest ]
container: git.sh-edraft.de/sh-edraft.de/act-runner:latest
steps:
- name: Setup docker
uses: https://github.com/papodaca/install-docker-action@main
- run: docker -v
- name: Clone Repository
uses: https://github.com/actions/checkout@v3
with:
token: ${{ secrets.CI_ACCESS_TOKEN }}
submodules: true
- name: Prepare bot build
run: |
python3.10 -m pip install --extra-index-url https://pip.sh-edraft.de cpl-cli
cd bot
cpl i
- name: Build docker bot
run: |
cd bot
docker image prune -f
cpl build
docker build -t git.sh-edraft.de/sh-edraft.de/sdb-bot:$(cpl gv)-dev .
- name: Login to registry git.sh-edraft.de
uses: https://github.com/docker/login-action@v1
with:
registry: git.sh-edraft.de
username: ${{ secrets.CI_USERNAME }}
password: ${{ secrets.CI_ACCESS_TOKEN }}
- name: Push image
run: |
cd bot
docker push git.sh-edraft.de/sh-edraft.de/sdb-bot:$(cpl gv)-dev
build-web:
needs: pre-build
runs-on: [ dobby.sh-edraft.de, ubuntu-latest ]
container: git.sh-edraft.de/sh-edraft.de/act-runner:latest
steps:
- name: Setup docker
uses: https://github.com/papodaca/install-docker-action@main
- run: docker -v
- name: Clone Repository
uses: https://github.com/actions/checkout@v3
with:
token: ${{ secrets.CI_ACCESS_TOKEN }}
submodules: true
- name: Setup node
uses: https://github.com/actions/setup-node@v3
- name: Prepare web build
run: |
cd web
npm install -g ts-node
npm ci
- name: Build docker web
run: |
cd web
docker image prune -f
cp src/favicon.dev.ico src/favicon.ico
npm run build
docker build -t git.sh-edraft.de/sh-edraft.de/sdb-web:$(npm run -s gv)-dev .
- name: Login to registry git.sh-edraft.de
uses: https://github.com/docker/login-action@v1
with:
registry: git.sh-edraft.de
username: ${{ secrets.CI_USERNAME }}
password: ${{ secrets.CI_ACCESS_TOKEN }}
- name: Push image
run: |
cd web
docker push git.sh-edraft.de/sh-edraft.de/sdb-web:$(npm run -s gv)-dev
deploy:
needs: [ build-bot, build-web ]
runs-on: [ dobby.sh-edraft.de, ubuntu-latest ]
container: git.sh-edraft.de/sh-edraft.de/act-runner:latest
steps:
- name: Clone Repository
uses: https://github.com/actions/checkout@v3
with:
token: ${{ secrets.CI_ACCESS_TOKEN }}
submodules: true
- name: Install cpl
run: python3.10 -m pip install --extra-index-url https://pip.sh-edraft.de cpl-cli
- name: Set version
run: |
cd bot/docker
chmod +x ./set-docker-compose-image-version.sh
./set-docker-compose-image-version.sh git.sh-edraft.de/sh-edraft.de/sdb-bot:$(cd ../; cpl gv)-dev git.sh-edraft.de/sh-edraft.de/sdb-web:$(cd ../../web; npm run -s gv;)-dev
- name: Deploy Stack to sh-edraft.de
uses: https://github.com/kgierke/portainer-stack-deployment@v1
with:
portainer-url: "https://docker.sh-edraft.de"
portainer-username: "gitea_job"
portainer-password: "${{ secrets.docker_job }}"
portainer-endpoint: 2
name: sdb_dev
file: bot/docker/docker-compose.dev.yml
variables: '{}'

View File

@ -0,0 +1,128 @@
name: Deploy prod on push
run-name: Deploy prod on push
on:
push:
branches:
- master
jobs:
pre-build:
runs-on: [ dobby.sh-edraft.de, ubuntu-latest ]
container: git.sh-edraft.de/sh-edraft.de/act-runner:latest
steps:
- name: Shutdown stack
run: docker stack rm sdb_prod
build-bot:
needs: pre-build
runs-on: [ dobby.sh-edraft.de, ubuntu-latest ]
container: git.sh-edraft.de/sh-edraft.de/act-runner:latest
steps:
- name: Setup docker
uses: https://github.com/papodaca/install-docker-action@main
- run: docker -v
- name: Clone Repository
uses: https://github.com/actions/checkout@v3
with:
token: ${{ secrets.CI_ACCESS_TOKEN }}
submodules: true
- name: Prepare bot build
run: |
python3.10 -m pip install --extra-index-url https://pip.sh-edraft.de cpl-cli
cd bot
cpl i
- name: Build docker bot
run: |
cd bot
docker image prune -f
cpl build
docker build -t git.sh-edraft.de/sh-edraft.de/sdb-bot:$(cpl gv) .
- name: Login to registry git.sh-edraft.de
uses: https://github.com/docker/login-action@v1
with:
registry: git.sh-edraft.de
username: ${{ secrets.CI_USERNAME }}
password: ${{ secrets.CI_ACCESS_TOKEN }}
- name: Push image
run: |
cd bot
docker push git.sh-edraft.de/sh-edraft.de/sdb-bot:$(cpl gv)
build-web:
needs: pre-build
runs-on: [ dobby.sh-edraft.de, ubuntu-latest ]
container: git.sh-edraft.de/sh-edraft.de/act-runner:latest
steps:
- name: Setup docker
uses: https://github.com/papodaca/install-docker-action@main
- run: docker -v
- name: Clone Repository
uses: https://github.com/actions/checkout@v3
with:
token: ${{ secrets.CI_ACCESS_TOKEN }}
submodules: true
- name: Setup node
uses: https://github.com/actions/setup-node@v3
- name: Prepare web build
run: |
cd web
npm install -g ts-node
npm ci
- name: Build docker web
run: |
cd web
docker image prune -f
npm run build
docker build -t git.sh-edraft.de/sh-edraft.de/sdb-web:$(npm run -s gv) .
- name: Login to registry git.sh-edraft.de
uses: https://github.com/docker/login-action@v1
with:
registry: git.sh-edraft.de
username: ${{ secrets.CI_USERNAME }}
password: ${{ secrets.CI_ACCESS_TOKEN }}
- name: Push image
run: |
cd web
docker push git.sh-edraft.de/sh-edraft.de/sdb-web:$(npm run -s gv)
deploy:
needs: [ build-bot, build-web ]
runs-on: [ dobby.sh-edraft.de, ubuntu-latest ]
container: git.sh-edraft.de/sh-edraft.de/act-runner:latest
steps:
- name: Clone Repository
uses: https://github.com/actions/checkout@v3
with:
token: ${{ secrets.CI_ACCESS_TOKEN }}
submodules: true
- name: Install cpl
run: python3.10 -m pip install --extra-index-url https://pip.sh-edraft.de cpl-cli
- name: Set version
run: |
cd bot/docker
chmod +x ./set-docker-compose-image-version.sh
./set-docker-compose-image-version.sh git.sh-edraft.de/sh-edraft.de/sdb-bot:$(cd ../; cpl gv) git.sh-edraft.de/sh-edraft.de/sdb-web:$(cd ../../web; npm run -s gv;)
- name: Deploy Stack to sh-edraft.de
uses: https://github.com/kgierke/portainer-stack-deployment@v1
with:
portainer-url: "https://docker.sh-edraft.de"
portainer-username: "gitea_job"
portainer-password: "${{ secrets.docker_job }}"
portainer-endpoint: 2
name: sdb_prod
file: bot/docker/docker-compose.yml
variables: '{}'

View File

@ -0,0 +1,129 @@
name: Deploy staging on push
run-name: Deploy staging on push
on:
push:
branches:
- staging
jobs:
pre-build:
runs-on: [ dobby.sh-edraft.de, ubuntu-latest ]
container: git.sh-edraft.de/sh-edraft.de/act-runner:latest
steps:
- name: Shutdown stack
run: docker stack rm sdb_staging
build-bot:
needs: pre-build
runs-on: [ dobby.sh-edraft.de, ubuntu-latest ]
container: git.sh-edraft.de/sh-edraft.de/act-runner:latest
steps:
- name: Setup docker
uses: https://github.com/papodaca/install-docker-action@main
- run: docker -v
- name: Clone Repository
uses: https://github.com/actions/checkout@v3
with:
token: ${{ secrets.CI_ACCESS_TOKEN }}
submodules: true
- name: Prepare bot build
run: |
python3.10 -m pip install --extra-index-url https://pip.sh-edraft.de cpl-cli
cd bot
cpl i
- name: Build docker bot
run: |
cd bot
docker image prune -f
cpl build
docker build -t git.sh-edraft.de/sh-edraft.de/sdb-bot:$(cpl gv)-staging .
- name: Login to registry git.sh-edraft.de
uses: https://github.com/docker/login-action@v1
with:
registry: git.sh-edraft.de
username: ${{ secrets.CI_USERNAME }}
password: ${{ secrets.CI_ACCESS_TOKEN }}
- name: Push image
run: |
cd bot
docker push git.sh-edraft.de/sh-edraft.de/sdb-bot:$(cpl gv)-staging
build-web:
needs: pre-build
runs-on: [ dobby.sh-edraft.de, ubuntu-latest ]
container: git.sh-edraft.de/sh-edraft.de/act-runner:latest
steps:
- name: Setup docker
uses: https://github.com/papodaca/install-docker-action@main
- run: docker -v
- name: Clone Repository
uses: https://github.com/actions/checkout@v3
with:
token: ${{ secrets.CI_ACCESS_TOKEN }}
submodules: true
- name: Setup node
uses: https://github.com/actions/setup-node@v3
- name: Prepare web build
run: |
cd web
npm install -g ts-node
npm ci
- name: Build docker web
run: |
cd web
docker image prune -f
cp src/favicon.staging.ico src/favicon.ico
npm run build
docker build -t git.sh-edraft.de/sh-edraft.de/sdb-web:$(npm run -s gv)-staging .
- name: Login to registry git.sh-edraft.de
uses: https://github.com/docker/login-action@v1
with:
registry: git.sh-edraft.de
username: ${{ secrets.CI_USERNAME }}
password: ${{ secrets.CI_ACCESS_TOKEN }}
- name: Push image
run: |
cd web
docker push git.sh-edraft.de/sh-edraft.de/sdb-web:$(npm run -s gv)-staging
deploy:
needs: [ build-bot, build-web ]
runs-on: [ dobby.sh-edraft.de, ubuntu-latest ]
container: git.sh-edraft.de/sh-edraft.de/act-runner:latest
steps:
- name: Clone Repository
uses: https://github.com/actions/checkout@v3
with:
token: ${{ secrets.CI_ACCESS_TOKEN }}
submodules: true
- name: Install cpl
run: python3.10 -m pip install --extra-index-url https://pip.sh-edraft.de cpl-cli
- name: Set version
run: |
cd bot/docker
chmod +x ./set-docker-compose-image-version.sh
./set-docker-compose-image-version.sh git.sh-edraft.de/sh-edraft.de/sdb-bot:$(cd ../; cpl gv)-staging git.sh-edraft.de/sh-edraft.de/sdb-web:$(cd ../../web; npm run -s gv;)-staging
- name: Deploy Stack to sh-edraft.de
uses: https://github.com/kgierke/portainer-stack-deployment@v1
with:
portainer-url: "https://docker.sh-edraft.de"
portainer-username: "gitea_job"
portainer-password: "${{ secrets.docker_job }}"
portainer-endpoint: 2
name: sdb_staging
file: bot/docker/docker-compose.staging.yml
variables: '{}'

18
.gitmodules vendored
View File

@ -1,9 +1,9 @@
[submodule "kdb-bot/src/bot/config"] [submodule "bot/src/bot/config"]
path = kdb-bot/src/bot/config path = bot/src/bot/config
url = https://git.sh-edraft.de/sh-edraft.de/kd_discord_bot.config.git url = https://git.sh-edraft.de/sh-edraft.de/sh_discord_bot.config.git
[submodule "kdb-bot/src/bot_api/config"] [submodule "bot/src/bot_api/config"]
path = kdb-bot/src/bot_api/config path = bot/src/bot_api/config
url = https://git.sh-edraft.de/sh-edraft.de/kd_discord_bot.api.config.git url = https://git.sh-edraft.de/sh-edraft.de/sh_discord_bot.api.config.git
[submodule "kdb-bot/docker"] [submodule "bot/docker"]
path = kdb-bot/docker path = bot/docker
url = https://git.sh-edraft.de/sh-edraft.de/kd_discord_bot.docker.git url = https://git.sh-edraft.de/sh-edraft.de/sh_discord_bot.docker.git

View File

@ -14,12 +14,14 @@
"config": "src/modules/config/config.json", "config": "src/modules/config/config.json",
"database": "src/modules/database/database.json", "database": "src/modules/database/database.json",
"level": "src/modules/level/level.json", "level": "src/modules/level/level.json",
"permission": "src/modules/permission/permission.json",
"technician": "src/modules/technician/technician.json", "technician": "src/modules/technician/technician.json",
"short-role-name": "src/modules/short_role_name/short-role-name.json",
"special-offers": "src/modules/special_offers/special-offers.json",
"checks": "tools/checks/checks.json", "checks": "tools/checks/checks.json",
"get-version": "tools/get_version/get-version.json", "get-version": "tools/get_version/get-version.json",
"post-build": "tools/post_build/post-build.json", "post-build": "tools/post_build/post-build.json",
"set-version": "tools/set_version/set-version.json" "set-version": "tools/set_version/set-version.json",
"migration-to-sql": "tools/migration_to_sql/migration-to-sql.json"
}, },
"Scripts": { "Scripts": {
"format": "black ./", "format": "black ./",
@ -30,12 +32,12 @@
"pre-build": "cpl set-version $ARGS; black ./;", "pre-build": "cpl set-version $ARGS; black ./;",
"post-build": "cpl run post-build --dev; black ./;", "post-build": "cpl run post-build --dev; black ./;",
"pre-prod": "cpl build", "pre-prod": "cpl build",
"prod": "export KDB_ENVIRONMENT=production; export KDB_NAME=KDB-Prod; cpl start;", "prod": "export SDB_ENVIRONMENT=production; export SDB_NAME=SDB-Prod; cpl start;",
"pre-stage": "cpl build", "pre-stage": "cpl build",
"stage": "export KDB_ENVIRONMENT=staging; export KDB_NAME=KDB-Stage; cpl start;", "stage": "export SDB_ENVIRONMENT=staging; export SDB_NAME=SDB-Stage; cpl start;",
"pre-dev": "cpl build", "pre-dev": "cpl build",
"dev": "export KDB_ENVIRONMENT=development; export KDB_NAME=KDB-Dev; cpl start;", "dev": "export SDB_ENVIRONMENT=development; export SDB_NAME=SDB-Dev; cpl start;",
"docker-build": "cpl build $ARGS; docker build -t kdb-bot/kdb-bot:$(cpl gv) .;", "docker-build": "cpl build $ARGS; docker build -t sh-edraft.de/sdb-bot:$(cpl gv) .;",
"dc-up": "docker-compose up -d", "dc-up": "docker-compose up -d",
"dc-down": "docker-compose down", "dc-down": "docker-compose down",
"docker": "cpl dc-down; cpl docker-build; cpl dc-up;" "docker": "cpl dc-down; cpl docker-build; cpl dc-up;"

1
bot/docker Submodule

@ -0,0 +1 @@
Subproject commit fbcd9226c4d199529fdbce5169b38b1b23074adb

View File

@ -2,7 +2,7 @@
FROM python:3.10.4-alpine FROM python:3.10.4-alpine
WORKDIR /app WORKDIR /app
COPY ./dist/bot/build/kdb-bot/ . COPY ./dist/bot/build/bot/ .
COPY ./dist/bot/build/requirements.txt . COPY ./dist/bot/build/requirements.txt .
RUN python -m pip install --upgrade pip RUN python -m pip install --upgrade pip

View File

@ -1,10 +1,10 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
""" """
bot Keksdose bot bot sh-edraft.de Discord bot
~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~
Discord bot for the Keksdose discord Server Discord bot for customers of sh-edraft.de
:copyright: (c) 2022 - 2023 sh-edraft.de :copyright: (c) 2022 - 2023 sh-edraft.de
:license: MIT, see LICENSE for more details. :license: MIT, see LICENSE for more details.
@ -15,7 +15,7 @@ __title__ = "bot"
__author__ = "Sven Heidemann" __author__ = "Sven Heidemann"
__license__ = "MIT" __license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.4" __version__ = "1.2.8"
from collections import namedtuple from collections import namedtuple
@ -23,4 +23,4 @@ from collections import namedtuple
# imports: # imports:
VersionInfo = namedtuple("VersionInfo", "major minor micro") VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="4") version_info = VersionInfo(major="1", minor="2", micro="8")

View File

@ -8,8 +8,10 @@ from cpl_discord.service import DiscordBotServiceABC, DiscordBotService
from cpl_translation import TranslatePipe, TranslationServiceABC, TranslationSettings from cpl_translation import TranslatePipe, TranslationServiceABC, TranslationSettings
from bot_api.api_thread import ApiThread from bot_api.api_thread import ApiThread
from bot_core.abc.task_abc import TaskABC
from bot_core.configuration.feature_flags_enum import FeatureFlagsEnum from bot_core.configuration.feature_flags_enum import FeatureFlagsEnum
from bot_core.configuration.feature_flags_settings import FeatureFlagsSettings from bot_core.configuration.feature_flags_settings import FeatureFlagsSettings
from bot_core.environment_variables import MAINTENANCE
from bot_core.service.data_integrity_service import DataIntegrityService from bot_core.service.data_integrity_service import DataIntegrityService
@ -29,6 +31,8 @@ class Application(DiscordBotApplicationABC):
# cpl-translation # cpl-translation
self._translation: TranslationServiceABC = services.get_service(TranslationServiceABC) self._translation: TranslationServiceABC = services.get_service(TranslationServiceABC)
self._t: TranslatePipe = services.get_service(TranslatePipe) self._t: TranslatePipe = services.get_service(TranslatePipe)
# internal stuff
self._tasks = services.get_services(TaskABC)
self._feature_flags: FeatureFlagsSettings = config.get_configuration(FeatureFlagsSettings) self._feature_flags: FeatureFlagsSettings = config.get_configuration(FeatureFlagsSettings)
@ -55,6 +59,10 @@ class Application(DiscordBotApplicationABC):
return return
self._logger.info(__name__, f"Try to start {DiscordBotService.__name__}") self._logger.info(__name__, f"Try to start {DiscordBotService.__name__}")
if not self._config.get_configuration(MAINTENANCE):
for task in self._tasks:
await self._bot.add_cog(task)
await self._bot.start_async() await self._bot.start_async()
await self._bot.stop_async() await self._bot.stop_async()
except Exception as e: except Exception as e:

0
kdb-bot/src/bot/bot → bot/src/bot/bot Normal file → Executable file
View File

View File

@ -3,39 +3,43 @@
"Name": "bot", "Name": "bot",
"Version": { "Version": {
"Major": "1", "Major": "1",
"Minor": "1", "Minor": "2",
"Micro": "4" "Micro": "8"
}, },
"Author": "Sven Heidemann", "Author": "Sven Heidemann",
"AuthorEmail": "sven.heidemann@sh-edraft.de", "AuthorEmail": "sven.heidemann@sh-edraft.de",
"Description": "Keksdose bot", "Description": "sh-edraft.de Discord bot",
"LongDescription": "Discord bot for the Keksdose discord Server", "LongDescription": "Discord bot for customers of sh-edraft.de",
"URL": "https://www.sh-edraft.de", "URL": "https://www.sh-edraft.de",
"CopyrightDate": "2022 - 2023", "CopyrightDate": "2022 - 2023",
"CopyrightName": "sh-edraft.de", "CopyrightName": "sh-edraft.de",
"LicenseName": "MIT", "LicenseName": "MIT",
"LicenseDescription": "MIT, see LICENSE for more details.", "LicenseDescription": "MIT, see LICENSE for more details.",
"Dependencies": [ "Dependencies": [
"cpl-core==2023.4.0.post5",
"cpl-translation==2023.4.0.post1", "cpl-translation==2023.4.0.post1",
"cpl-query==2023.4.0.post1", "cpl-query==2023.10.0",
"cpl-discord==2023.4.0.post3", "cpl-discord==2023.10.0.post1",
"Flask==2.3.2", "Flask==3.0.0",
"Flask-Classful==0.14.2", "Flask-Classful==0.16.0",
"Flask-Cors==4.0.0", "Flask-Cors==4.0.0",
"PyJWT==2.8.0", "PyJWT==2.8.0",
"waitress==2.1.2", "waitress==2.1.2",
"Flask-SocketIO==5.3.4", "Flask-SocketIO==5.3.6",
"eventlet==0.33.3", "eventlet==0.33.3",
"requests-oauthlib==1.3.1", "requests-oauthlib==1.3.1",
"icmplib==3.0.3", "icmplib==3.0.4",
"ariadne==0.20.1", "ariadne==0.20.1",
"cryptography==41.0.2", "cryptography==41.0.4",
"discord>=2.3.2" "discord==2.3.2",
"bs4==0.0.1",
"lxml==4.9.3",
"python-valve==0.2.1",
"cpl-core==2023.10.2"
], ],
"DevDependencies": [ "DevDependencies": [
"cpl-cli==2023.4.0.post3", "cpl-cli==2023.4.0.post3",
"pygount==1.6.1" "pygount==1.6.1",
"black==23.10.1"
], ],
"PythonVersion": ">=3.10.4", "PythonVersion": ">=3.10.4",
"PythonPath": {}, "PythonPath": {},
@ -67,7 +71,8 @@
"../modules/config/config.json", "../modules/config/config.json",
"../modules/database/database.json", "../modules/database/database.json",
"../modules/level/level.json", "../modules/level/level.json",
"../modules/permission/permission.json", "../modules/short_role_name/short-role-name.json",
"../modules/special_offers/special-offers.json",
"../modules/technician/technician.json" "../modules/technician/technician.json"
] ]
} }

1
bot/src/bot/config Submodule

@ -0,0 +1 @@
Subproject commit eeebd13f80c6ceecc922ede5771e55212a884019

View File

@ -1,10 +1,10 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
""" """
bot Keksdose bot bot sh-edraft.de Discord bot
~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~
Discord bot for the Keksdose discord Server Discord bot for customers of sh-edraft.de
:copyright: (c) 2022 - 2023 sh-edraft.de :copyright: (c) 2022 - 2023 sh-edraft.de
:license: MIT, see LICENSE for more details. :license: MIT, see LICENSE for more details.
@ -15,7 +15,7 @@ __title__ = "bot.extension"
__author__ = "Sven Heidemann" __author__ = "Sven Heidemann"
__license__ = "MIT" __license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.4" __version__ = "1.2.8"
from collections import namedtuple from collections import namedtuple
@ -23,4 +23,4 @@ from collections import namedtuple
# imports: # imports:
VersionInfo = namedtuple("VersionInfo", "major minor micro") VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="4") version_info = VersionInfo(major="1", minor="2", micro="8")

View File

@ -0,0 +1,22 @@
import os
import shutil
from datetime import datetime
from cpl_core.application.application_extension_abc import ApplicationExtensionABC
from cpl_core.configuration import ConfigurationABC
from cpl_core.dependency_injection import ServiceProviderABC
from cpl_query.extension import List
class CleanLogsExtension(ApplicationExtensionABC):
def __init__(self):
pass
async def run(self, config: ConfigurationABC, services: ServiceProviderABC):
(
List(str, os.listdir("logs/"))
.where(lambda x: os.path.isdir(f"logs/{x}"))
.order_by()
.where(lambda x: (datetime.now() - datetime.strptime(x, "%Y-%m-%d")).days >= 7)
.for_each(lambda x: shutil.rmtree(f"logs/{x}"))
)

View File

@ -6,10 +6,11 @@ from cpl_core.application import ApplicationBuilder
from cpl_core.console import Console from cpl_core.console import Console
from bot.application import Application from bot.application import Application
from bot.extension.clean_logs_extension import CleanLogsExtension
from bot.extension.init_bot_extension import InitBotExtension from bot.extension.init_bot_extension import InitBotExtension
from bot.startup import Startup from bot.startup import Startup
from bot.startup_discord_extension import StartupDiscordExtension from bot.startup_discord_extension import StartupDiscordExtension
from bot.startup_migration_extension import StartupMigrationExtension from bot_data.startup_migration_extension import StartupMigrationExtension
from bot.startup_module_extension import StartupModuleExtension from bot.startup_module_extension import StartupModuleExtension
from bot.startup_settings_extension import StartupSettingsExtension from bot.startup_settings_extension import StartupSettingsExtension
from bot_api.app_api_extension import AppApiExtension from bot_api.app_api_extension import AppApiExtension
@ -31,6 +32,7 @@ class Program:
.use_extension(StartupDiscordExtension) .use_extension(StartupDiscordExtension)
.use_extension(StartupModuleExtension) .use_extension(StartupModuleExtension)
.use_extension(StartupMigrationExtension) .use_extension(StartupMigrationExtension)
.use_extension(CleanLogsExtension)
.use_extension(DatabaseExtension) .use_extension(DatabaseExtension)
.use_extension(ConfigExtension) .use_extension(ConfigExtension)
.use_extension(InitBotExtension) .use_extension(InitBotExtension)

View File

@ -12,7 +12,8 @@ from modules.boot_log.boot_log_module import BootLogModule
from modules.config.config_module import ConfigModule from modules.config.config_module import ConfigModule
from modules.database.database_module import DatabaseModule from modules.database.database_module import DatabaseModule
from modules.level.level_module import LevelModule from modules.level.level_module import LevelModule
from modules.permission.permission_module import PermissionModule from modules.short_role_name.short_role_name_module import ShortRoleNameModule
from modules.special_offers.special_offers_module import SteamSpecialOffersModule
from modules.technician.technician_module import TechnicianModule from modules.technician.technician_module import TechnicianModule
@ -28,13 +29,14 @@ class ModuleList:
ConfigModule, # has to be before db check ConfigModule, # has to be before db check
DatabaseModule, DatabaseModule,
GraphQLModule, GraphQLModule,
PermissionModule,
AutoRoleModule, AutoRoleModule,
BaseModule, BaseModule,
LevelModule, LevelModule,
ApiModule, ApiModule,
TechnicianModule, TechnicianModule,
AchievementsModule, AchievementsModule,
ShortRoleNameModule,
SteamSpecialOffersModule,
# has to be last! # has to be last!
BootLogModule, BootLogModule,
CoreExtensionModule, CoreExtensionModule,

View File

@ -15,7 +15,9 @@ from bot_core.configuration.feature_flags_enum import FeatureFlagsEnum
from bot_core.configuration.feature_flags_settings import FeatureFlagsSettings from bot_core.configuration.feature_flags_settings import FeatureFlagsSettings
from bot_core.logging.command_logger import CommandLogger from bot_core.logging.command_logger import CommandLogger
from bot_core.logging.database_logger import DatabaseLogger from bot_core.logging.database_logger import DatabaseLogger
from bot_core.logging.event_logger import EventLogger
from bot_core.logging.message_logger import MessageLogger from bot_core.logging.message_logger import MessageLogger
from bot_core.logging.task_logger import TaskLogger
from bot_data.db_context import DBContext from bot_data.db_context import DBContext
@ -43,6 +45,8 @@ class Startup(StartupABC):
services.add_singleton(CustomFileLoggerABC, CommandLogger) services.add_singleton(CustomFileLoggerABC, CommandLogger)
services.add_singleton(CustomFileLoggerABC, DatabaseLogger) services.add_singleton(CustomFileLoggerABC, DatabaseLogger)
services.add_singleton(CustomFileLoggerABC, MessageLogger) services.add_singleton(CustomFileLoggerABC, MessageLogger)
services.add_singleton(CustomFileLoggerABC, TaskLogger)
services.add_singleton(CustomFileLoggerABC, EventLogger)
if self._feature_flags.get_flag(FeatureFlagsEnum.api_module): if self._feature_flags.get_flag(FeatureFlagsEnum.api_module):
services.add_singleton(CustomFileLoggerABC, ApiLogger) services.add_singleton(CustomFileLoggerABC, ApiLogger)

View File

@ -8,6 +8,7 @@ from cpl_core.dependency_injection import ServiceCollectionABC
from cpl_core.environment import ApplicationEnvironmentABC from cpl_core.environment import ApplicationEnvironmentABC
from bot_core.configuration.bot_logging_settings import BotLoggingSettings from bot_core.configuration.bot_logging_settings import BotLoggingSettings
from bot_core.environment_variables import MAINTENANCE, MIGRATION_ONLY
class StartupSettingsExtension(StartupExtensionABC): class StartupSettingsExtension(StartupExtensionABC):
@ -17,8 +18,14 @@ class StartupSettingsExtension(StartupExtensionABC):
def configure_configuration(self, configuration: ConfigurationABC, environment: ApplicationEnvironmentABC): def configure_configuration(self, configuration: ConfigurationABC, environment: ApplicationEnvironmentABC):
# this shit has to be done here because we need settings in subsequent startup extensions # this shit has to be done here because we need settings in subsequent startup extensions
environment.set_working_directory(os.path.dirname(os.path.realpath(__file__))) environment.set_working_directory(os.path.dirname(os.path.realpath(__file__)))
configuration.add_environment_variables("KDB_") configuration.add_environment_variables("SDB_")
configuration.add_environment_variables("DISCORD_") configuration.add_environment_variables("DISCORD_")
configuration.add_configuration(
MAINTENANCE, configuration.get_configuration(MAINTENANCE) in [True, "true", "True"]
)
configuration.add_configuration(
MIGRATION_ONLY, configuration.get_configuration(MIGRATION_ONLY) in [True, "true", "True"]
)
configuration.add_json_file(f"config/appsettings.json", optional=False) configuration.add_json_file(f"config/appsettings.json", optional=False)
configuration.add_json_file(f"config/appsettings.{environment.environment_name}.json", optional=True) configuration.add_json_file(f"config/appsettings.{environment.environment_name}.json", optional=True)

View File

@ -2,22 +2,22 @@
"api": { "api": {
"api": { "api": {
"test_mail": { "test_mail": {
"message": "Dies ist eine Test-Mail vom Krümelmonster Web Interface\nGesendet von {}-{}", "message": "Dies ist eine Test-Mail vom Krümelmonster Web Interface\r\nGesendet von {}-{}",
"subject": "Krümelmonster Web Interface Test-Mail" "subject": "Krümelmonster Web Interface Test-Mail"
} }
}, },
"auth": { "auth": {
"confirmation": { "confirmation": {
"message": "Öffne den Link, um die E-Mail zu bestätigen:\n{}auth/register/{}", "message": "Öffne den Link, um die E-Mail zu bestätigen:\r\n{}auth/register/{}",
"subject": "E-Mail für {} {} bestätigen" "subject": "E-Mail für {} {} bestätigen"
}, },
"forgot_password": { "forgot_password": {
"message": "Öffne den Link, um das Passwort zu ändern:\n{}auth/forgot-password/{}", "message": "Öffne den Link, um das Passwort zu ändern:\r\n{}auth/forgot-password/{}",
"subject": "Passwort für {} {} zurücksetzen" "subject": "Passwort für {} {} zurücksetzen"
} }
}, },
"mail": { "mail": {
"automatic_mail": "\n\nDies ist eine automatische E-Mail.\nGesendet von {}-{}@{}" "automatic_mail": "\r\n\r\nDies ist eine automatische E-Mail.\r\nGesendet von {}-{}@{}"
} }
}, },
"common": { "common": {
@ -82,6 +82,7 @@
"unexpected_quote_error": "Fehler: Unerwarteter Fehler beim Anführungszeichen!", "unexpected_quote_error": "Fehler: Unerwarteter Fehler beim Anführungszeichen!",
"user_input_error": "Fehler: Eingabefehler!" "user_input_error": "Fehler: Eingabefehler!"
}, },
"feature_not_activated": "Diese Funktion ist deaktiviert",
"hello_world": "Hallo Welt", "hello_world": "Hallo Welt",
"no_permission_message": "Nein!\nIch höre nicht auf dich ¯\\_(ツ)_/¯", "no_permission_message": "Nein!\nIch höre nicht auf dich ¯\\_(ツ)_/¯",
"not_implemented_yet": "Ey Alter, das kann ich noch nicht...", "not_implemented_yet": "Ey Alter, das kann ich noch nicht...",
@ -89,15 +90,21 @@
"booting": "Ich fahre gerade hoch...", "booting": "Ich fahre gerade hoch...",
"restart": "Muss neue Kekse holen...", "restart": "Muss neue Kekse holen...",
"running": "Ich esse Kekse :D", "running": "Ich esse Kekse :D",
"shutdown": "Ich werde bestimmt wieder kommen..." "shutdown": "Ich werde bestimmt wieder kommen...",
"maintenance": "In Wartung!"
} }
}, },
"modules": { "modules": {
"special_offers": {
"price": "Preis",
"discount": "Rabatt",
"discount_price": "Neuer Preis"
},
"achievements": { "achievements": {
"got_new_achievement": "{} hat die Errungenschaft {} freigeschaltet :D",
"commands": { "commands": {
"check": "Alles klar, ich schaue eben nach... nom nom" "check": "Alles klar, ich schaue eben nach... nom nom"
} },
"got_new_achievement": "{} hat die Errungenschaft {} freigeschaltet :D"
}, },
"auto_role": { "auto_role": {
"add": { "add": {
@ -122,6 +129,9 @@
}, },
"success": "auto-role {} wurde entfernt :D" "success": "auto-role {} wurde entfernt :D"
}, },
"react": {
"success": "Alle Reaktionen wurden hinzugefügt"
},
"rule": { "rule": {
"add": { "add": {
"error": { "error": {
@ -151,33 +161,37 @@
} }
}, },
"base": { "base": {
"member_left_message": "{} hat uns leider verlassen :(",
"complaints": {
"title": "Beschwerde einreichen",
"label": "Beschwerde",
"message": "{} hat eine Beschwerde eingereicht:\n{}",
"response": "Danke für deine Beschwerde"
},
"bug": {
"title": "Bug melden",
"label": "Bug",
"message": "{} meldet einen Bug:\n{}",
"response": "Danke für dein Feedback :D"
},
"afk_command_channel_missing_message": "Zu unfähig einem Sprachkanal beizutreten?", "afk_command_channel_missing_message": "Zu unfähig einem Sprachkanal beizutreten?",
"afk_command_move_message": "Ich verschiebe dich ja schon... (◔_◔)", "afk_command_move_message": "Ich verschiebe dich ja schon... (◔_◔)",
"bug": {
"label": "Bug",
"message": "{} meldet einen Bug:\n{}",
"response": "Danke für dein Feedback :D",
"title": "Bug melden"
},
"complaints": {
"label": "Beschwerde",
"message": "{} hat eine Beschwerde eingereicht:\n{}",
"response": "Danke für deine Beschwerde",
"title": "Beschwerde einreichen"
},
"game_server": { "game_server": {
"add": {
"success": "Gameserver {} wurde hinzugefügt :)"
},
"error": { "error": {
"nothing_found": "Keine Gameserver gefunden." "nothing_found": "Keine Gameserver gefunden."
}, },
"list": { "list": {
"title": "Gameserver", "api_key": "API Key",
"description": "Konfigurierte Gameserver:", "description": "Konfigurierte Gameserver:",
"name": "Name", "name": "Name",
"api_key": "API Key" "title": "Gameserver"
}, },
"add": { "list_members": {
"success": "Gameserver {} wurde hinzugefügt :)" "description": "Konfigurierte Mitglieder:",
"title": "Mitglieder",
"users": "Mitglieder"
}, },
"remove": { "remove": {
"success": "Gameserver wurde entfernt :D" "success": "Gameserver wurde entfernt :D"
@ -204,6 +218,7 @@
"moved": "Alle Personen aus {} wurden nach {} verschoben." "moved": "Alle Personen aus {} wurden nach {} verschoben."
}, },
"member_joined_help_voice_channel": "{} braucht Hilfe, bitte kümmere dich drum :D", "member_joined_help_voice_channel": "{} braucht Hilfe, bitte kümmere dich drum :D",
"member_left_message": "{} hat uns leider verlassen :(",
"pong": "Pong", "pong": "Pong",
"presence": { "presence": {
"changed": "Presence wurde geändert.", "changed": "Presence wurde geändert.",
@ -220,6 +235,11 @@
"success": "Verlinkung wurde entfernt :D" "success": "Verlinkung wurde entfernt :D"
}, },
"user": { "user": {
"birthday": {
"has_birthday": "Alles Gute zum Geburtag {} :D",
"success": "Dein Geburtstag wurde eingetragen.",
"success_team": "{} hat seinen Geburtstag eingetragen: {}"
},
"add": { "add": {
"xp": "Die {} von {} wurden um {} erhöht" "xp": "Die {} von {} wurden um {} erhöht"
}, },
@ -340,6 +360,9 @@
"moderator": { "moderator": {
"purge_message": "Na gut..., ich lösche alle Nachrichten wenns sein muss." "purge_message": "Na gut..., ich lösche alle Nachrichten wenns sein muss."
}, },
"short_role_name": {
"checked_message": "Die Rollen Kürzel wurden überprüft"
},
"technician": { "technician": {
"api_key": { "api_key": {
"add": { "add": {
@ -353,7 +376,8 @@
}, },
"log_message": "Hier sind deine Logdateien! :)", "log_message": "Hier sind deine Logdateien! :)",
"restart_message": "Bin gleich wieder da :D", "restart_message": "Bin gleich wieder da :D",
"shutdown_message": "Trauert nicht um mich, es war eine logische Entscheidung. Das Wohl von Vielen, es wiegt schwerer als das Wohl von Wenigen oder eines Einzelnen. Ich war es und ich werde es immer sein, euer Freund. Lebt lange und in Frieden :)" "shutdown_message": "Trauert nicht um mich, es war eine logische Entscheidung. Das Wohl von Vielen, es wiegt schwerer als das Wohl von Wenigen oder eines Einzelnen. Ich war es und ich werde es immer sein, euer Freund. Lebt lange und in Frieden :)",
"synced_message": "Der Sync wurde abgeschlossen."
} }
} }
} }

View File

@ -1,10 +1,10 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
""" """
bot Keksdose bot bot sh-edraft.de Discord bot
~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~
Discord bot for the Keksdose discord Server Discord bot for customers of sh-edraft.de
:copyright: (c) 2022 - 2023 sh-edraft.de :copyright: (c) 2022 - 2023 sh-edraft.de
:license: MIT, see LICENSE for more details. :license: MIT, see LICENSE for more details.
@ -15,7 +15,7 @@ __title__ = "bot_api"
__author__ = "Sven Heidemann" __author__ = "Sven Heidemann"
__license__ = "MIT" __license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.4" __version__ = "1.2.8"
from collections import namedtuple from collections import namedtuple
@ -23,4 +23,4 @@ from collections import namedtuple
# imports: # imports:
VersionInfo = namedtuple("VersionInfo", "major minor micro") VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="4") version_info = VersionInfo(major="1", minor="2", micro="8")

View File

@ -1,10 +1,10 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
""" """
bot Keksdose bot bot sh-edraft.de Discord bot
~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~
Discord bot for the Keksdose discord Server Discord bot for customers of sh-edraft.de
:copyright: (c) 2022 - 2023 sh-edraft.de :copyright: (c) 2022 - 2023 sh-edraft.de
:license: MIT, see LICENSE for more details. :license: MIT, see LICENSE for more details.
@ -15,7 +15,7 @@ __title__ = "bot_api.abc"
__author__ = "Sven Heidemann" __author__ = "Sven Heidemann"
__license__ = "MIT" __license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.4" __version__ = "1.2.8"
from collections import namedtuple from collections import namedtuple
@ -23,4 +23,4 @@ from collections import namedtuple
# imports: # imports:
VersionInfo = namedtuple("VersionInfo", "major minor micro") VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="4") version_info = VersionInfo(major="1", minor="2", micro="8")

View File

@ -114,3 +114,7 @@ class AuthServiceABC(ABC):
@abstractmethod @abstractmethod
async def reset_password_async(self, rp_dto: ResetPasswordDTO): async def reset_password_async(self, rp_dto: ResetPasswordDTO):
pass pass
@abstractmethod
async def resend_confirmation_email_by_mail(self, mail: str):
pass

View File

@ -16,8 +16,8 @@ from werkzeug.exceptions import NotFound
from bot_api.configuration.api_settings import ApiSettings from bot_api.configuration.api_settings import ApiSettings
from bot_api.configuration.authentication_settings import AuthenticationSettings from bot_api.configuration.authentication_settings import AuthenticationSettings
from bot_api.exception.service_error_code_enum import ServiceErrorCode from bot_core.exception.service_error_code_enum import ServiceErrorCode
from bot_api.exception.service_exception import ServiceException from bot_core.exception.service_exception import ServiceException
from bot_api.logging.api_logger import ApiLogger from bot_api.logging.api_logger import ApiLogger
from bot_api.model.error_dto import ErrorDTO from bot_api.model.error_dto import ErrorDTO
from bot_api.route.route import Route from bot_api.route.route import Route
@ -149,7 +149,10 @@ class Api(Flask):
return response return response
def start(self): def start(self):
self._logger.info(__name__, f"Starting API {self._api_settings.host}:{self._api_settings.port}") self._logger.info(
__name__,
f"Starting API {self._api_settings.host}:{self._api_settings.port}",
)
self._register_routes() self._register_routes()
self.secret_key = CredentialManager.decrypt(self._auth_settings.secret_key) self.secret_key = CredentialManager.decrypt(self._auth_settings.secret_key)
# from waitress import serve # from waitress import serve

View File

@ -48,4 +48,4 @@ class ApiModule(ModuleABC):
services.add_transient(GraphQLController) services.add_transient(GraphQLController)
# cpl-discord # cpl-discord
self._dc.add_event(DiscordEventTypesEnum.on_ready.value, BotApiOnReadyEvent) services.add_transient(DiscordEventTypesEnum.on_ready.value, BotApiOnReadyEvent)

View File

@ -3,8 +3,8 @@
"Name": "bot-api", "Name": "bot-api",
"Version": { "Version": {
"Major": "1", "Major": "1",
"Minor": "1", "Minor": "2",
"Micro": "4" "Micro": "8"
}, },
"Author": "", "Author": "",
"AuthorEmail": "", "AuthorEmail": "",

@ -0,0 +1 @@
Subproject commit 12ffcbcd9b88612251a1e23cb6724e21562f74b8

View File

@ -1,10 +1,10 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
""" """
bot Keksdose bot bot sh-edraft.de Discord bot
~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~
Discord bot for the Keksdose discord Server Discord bot for customers of sh-edraft.de
:copyright: (c) 2022 - 2023 sh-edraft.de :copyright: (c) 2022 - 2023 sh-edraft.de
:license: MIT, see LICENSE for more details. :license: MIT, see LICENSE for more details.
@ -15,7 +15,7 @@ __title__ = "bot_api.configuration"
__author__ = "Sven Heidemann" __author__ = "Sven Heidemann"
__license__ = "MIT" __license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.4" __version__ = "1.2.8"
from collections import namedtuple from collections import namedtuple
@ -23,4 +23,4 @@ from collections import namedtuple
# imports # imports
VersionInfo = namedtuple("VersionInfo", "major minor micro") VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="4") version_info = VersionInfo(major="1", minor="2", micro="8")

View File

@ -1,10 +1,10 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
""" """
bot Keksdose bot bot sh-edraft.de Discord bot
~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~
Discord bot for the Keksdose discord Server Discord bot for customers of sh-edraft.de
:copyright: (c) 2022 - 2023 sh-edraft.de :copyright: (c) 2022 - 2023 sh-edraft.de
:license: MIT, see LICENSE for more details. :license: MIT, see LICENSE for more details.
@ -15,7 +15,7 @@ __title__ = "bot_api.controller"
__author__ = "Sven Heidemann" __author__ = "Sven Heidemann"
__license__ = "MIT" __license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.4" __version__ = "1.2.8"
from collections import namedtuple from collections import namedtuple
@ -23,4 +23,4 @@ from collections import namedtuple
# imports: # imports:
VersionInfo = namedtuple("VersionInfo", "major minor micro") VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="4") version_info = VersionInfo(major="1", minor="2", micro="8")

View File

@ -14,7 +14,10 @@ from bot_api.model.reset_password_dto import ResetPasswordDTO
from bot_api.model.token_dto import TokenDTO from bot_api.model.token_dto import TokenDTO
from bot_api.model.update_auth_user_dto import UpdateAuthUserDTO from bot_api.model.update_auth_user_dto import UpdateAuthUserDTO
from bot_api.route.route import Route from bot_api.route.route import Route
from bot_core.configuration.feature_flags_enum import FeatureFlagsEnum
from bot_core.configuration.feature_flags_settings import FeatureFlagsSettings
from bot_data.model.auth_role_enum import AuthRoleEnum from bot_data.model.auth_role_enum import AuthRoleEnum
from bot_data.model.technician_config import TechnicianConfig
class AuthController: class AuthController:
@ -30,6 +33,7 @@ class AuthController:
mail_settings: EMailClientSettings, mail_settings: EMailClientSettings,
mailer: EMailClientABC, mailer: EMailClientABC,
auth_service: AuthServiceABC, auth_service: AuthServiceABC,
technician_config: TechnicianConfig,
): ):
self._config = config self._config = config
self._env = env self._env = env
@ -39,6 +43,7 @@ class AuthController:
self._mail_settings = mail_settings self._mail_settings = mail_settings
self._mailer = mailer self._mailer = mailer
self._auth_service = auth_service self._auth_service = auth_service
self._technician_config = technician_config
@Route.get(f"{BasePath}/users") @Route.get(f"{BasePath}/users")
@Route.authorize(role=AuthRoleEnum.admin) @Route.authorize(role=AuthRoleEnum.admin)
@ -70,10 +75,20 @@ class AuthController:
@Route.post(f"{BasePath}/register") @Route.post(f"{BasePath}/register")
async def register(self): async def register(self):
if not FeatureFlagsSettings.get_flag_from_dict(
self._technician_config.feature_flags, FeatureFlagsEnum.basic_registration
):
return
dto: AuthUserDTO = JSONProcessor.process(AuthUserDTO, request.get_json(force=True, silent=True)) dto: AuthUserDTO = JSONProcessor.process(AuthUserDTO, request.get_json(force=True, silent=True))
self._auth_service.add_auth_user(dto) self._auth_service.add_auth_user(dto)
return "", 200 return "", 200
@Route.post(f"{BasePath}/resend-confirmation-email-by-mail/<mail>")
async def resend_confirmation_email_by_user_id(self, mail: str):
await self._auth_service.resend_confirmation_email_by_mail(mail)
return "", 200
@Route.post(f"{BasePath}/register-by-id/<id>") @Route.post(f"{BasePath}/register-by-id/<id>")
async def register_id(self, id: str): async def register_id(self, id: str):
result = await self._auth_service.confirm_email_async(id) result = await self._auth_service.confirm_email_async(id)
@ -81,6 +96,11 @@ class AuthController:
@Route.post(f"{BasePath}/login") @Route.post(f"{BasePath}/login")
async def login(self) -> Response: async def login(self) -> Response:
if not FeatureFlagsSettings.get_flag_from_dict(
self._technician_config.feature_flags, FeatureFlagsEnum.basic_login
):
return jsonify({})
dto: AuthUserDTO = JSONProcessor.process(AuthUserDTO, request.get_json(force=True, silent=True)) dto: AuthUserDTO = JSONProcessor.process(AuthUserDTO, request.get_json(force=True, silent=True))
result = await self._auth_service.login_async(dto) result = await self._auth_service.login_async(dto)
return jsonify(result.to_dict()) return jsonify(result.to_dict())
@ -100,6 +120,11 @@ class AuthController:
@Route.post(f"{BasePath}/forgot-password/<email>") @Route.post(f"{BasePath}/forgot-password/<email>")
async def forgot_password(self, email: str): async def forgot_password(self, email: str):
if not FeatureFlagsSettings.get_flag_from_dict(
self._technician_config.feature_flags, FeatureFlagsEnum.basic_login
):
return "", 409
await self._auth_service.forgot_password_async(email) await self._auth_service.forgot_password_async(email)
return "", 200 return "", 200
@ -110,6 +135,11 @@ class AuthController:
@Route.post(f"{BasePath}/reset-password") @Route.post(f"{BasePath}/reset-password")
async def reset_password(self): async def reset_password(self):
if not FeatureFlagsSettings.get_flag_from_dict(
self._technician_config.feature_flags, FeatureFlagsEnum.basic_login
):
return "", 409
dto: ResetPasswordDTO = JSONProcessor.process(ResetPasswordDTO, request.get_json(force=True, silent=True)) dto: ResetPasswordDTO = JSONProcessor.process(ResetPasswordDTO, request.get_json(force=True, silent=True))
await self._auth_service.reset_password_async(dto) await self._auth_service.reset_password_async(dto)
return "", 200 return "", 200

View File

@ -16,6 +16,7 @@ from bot_api.api import Api
from bot_api.configuration.discord_authentication_settings import ( from bot_api.configuration.discord_authentication_settings import (
DiscordAuthenticationSettings, DiscordAuthenticationSettings,
) )
from bot_core.exception.service_exception import ServiceException
from bot_api.logging.api_logger import ApiLogger from bot_api.logging.api_logger import ApiLogger
from bot_api.model.auth_user_dto import AuthUserDTO from bot_api.model.auth_user_dto import AuthUserDTO
from bot_api.route.route import Route from bot_api.route.route import Route
@ -90,5 +91,10 @@ class AuthDiscordController:
AuthRoleEnum.normal, AuthRoleEnum.normal,
) )
result = await self._auth_service.login_discord_async(dto, response["id"]) try:
return jsonify(result.to_dict()) result = await self._auth_service.login_discord_async(dto, response["id"])
return jsonify(result.to_dict())
except ServiceException as e:
r = jsonify({"email": dto.email})
r.status_code = 403
return r

View File

@ -12,6 +12,9 @@ from bot_api.logging.api_logger import ApiLogger
from bot_api.model.settings_dto import SettingsDTO from bot_api.model.settings_dto import SettingsDTO
from bot_api.model.version_dto import VersionDTO from bot_api.model.version_dto import VersionDTO
from bot_api.route.route import Route from bot_api.route.route import Route
from bot_core.configuration.feature_flags_enum import FeatureFlagsEnum
from bot_core.configuration.feature_flags_settings import FeatureFlagsSettings
from bot_data.model.technician_config import TechnicianConfig
class GuiController: class GuiController:
@ -82,3 +85,11 @@ class GuiController:
) )
self._mailer.send_mail(mail) self._mailer.send_mail(mail)
return "", 200 return "", 200
@Route.get(f"{BasePath}/has-feature-flag/<flag>")
async def has_feature_flag(self, flag: str):
settings: TechnicianConfig = self._config.get_configuration(TechnicianConfig)
return {
"key": flag,
"value": FeatureFlagsSettings.get_flag_from_dict(settings.feature_flags, FeatureFlagsEnum(flag)),
}

View File

@ -1,10 +1,10 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
""" """
bot Keksdose bot bot sh-edraft.de Discord bot
~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~
Discord bot for the Keksdose discord Server Discord bot for customers of sh-edraft.de
:copyright: (c) 2022 - 2023 sh-edraft.de :copyright: (c) 2022 - 2023 sh-edraft.de
:license: MIT, see LICENSE for more details. :license: MIT, see LICENSE for more details.
@ -15,7 +15,7 @@ __title__ = "bot_api.event"
__author__ = "Sven Heidemann" __author__ = "Sven Heidemann"
__license__ = "MIT" __license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.4" __version__ = "1.2.8"
from collections import namedtuple from collections import namedtuple
@ -23,4 +23,4 @@ from collections import namedtuple
# imports: # imports:
VersionInfo = namedtuple("VersionInfo", "major minor micro") VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="4") version_info = VersionInfo(major="1", minor="2", micro="8")

View File

@ -1,10 +1,10 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
""" """
bot Keksdose bot bot sh-edraft.de Discord bot
~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~
Discord bot for the Keksdose discord Server Discord bot for customers of sh-edraft.de
:copyright: (c) 2022 - 2023 sh-edraft.de :copyright: (c) 2022 - 2023 sh-edraft.de
:license: MIT, see LICENSE for more details. :license: MIT, see LICENSE for more details.
@ -15,7 +15,7 @@ __title__ = "bot_api.filter"
__author__ = "Sven Heidemann" __author__ = "Sven Heidemann"
__license__ = "MIT" __license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.4" __version__ = "1.2.8"
from collections import namedtuple from collections import namedtuple
@ -23,4 +23,4 @@ from collections import namedtuple
# imports: # imports:
VersionInfo = namedtuple("VersionInfo", "major minor micro") VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="4") version_info = VersionInfo(major="1", minor="2", micro="8")

View File

@ -1,10 +1,10 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
""" """
bot Keksdose bot bot sh-edraft.de Discord bot
~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~
Discord bot for the Keksdose discord Server Discord bot for customers of sh-edraft.de
:copyright: (c) 2022 - 2023 sh-edraft.de :copyright: (c) 2022 - 2023 sh-edraft.de
:license: MIT, see LICENSE for more details. :license: MIT, see LICENSE for more details.
@ -15,7 +15,7 @@ __title__ = "bot_api.filter.discord"
__author__ = "Sven Heidemann" __author__ = "Sven Heidemann"
__license__ = "MIT" __license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.4" __version__ = "1.2.8"
from collections import namedtuple from collections import namedtuple
@ -23,4 +23,4 @@ from collections import namedtuple
# imports: # imports:
VersionInfo = namedtuple("VersionInfo", "major minor micro") VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="4") version_info = VersionInfo(major="1", minor="2", micro="8")

View File

@ -1,10 +1,10 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
""" """
bot Keksdose bot bot sh-edraft.de Discord bot
~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~
Discord bot for the Keksdose discord Server Discord bot for customers of sh-edraft.de
:copyright: (c) 2022 - 2023 sh-edraft.de :copyright: (c) 2022 - 2023 sh-edraft.de
:license: MIT, see LICENSE for more details. :license: MIT, see LICENSE for more details.
@ -15,7 +15,7 @@ __title__ = "bot_api.logging"
__author__ = "Sven Heidemann" __author__ = "Sven Heidemann"
__license__ = "MIT" __license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.4" __version__ = "1.2.8"
from collections import namedtuple from collections import namedtuple
@ -23,4 +23,4 @@ from collections import namedtuple
# imports: # imports:
VersionInfo = namedtuple("VersionInfo", "major minor micro") VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="4") version_info = VersionInfo(major="1", minor="2", micro="8")

View File

@ -1,10 +1,10 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
""" """
bot Keksdose bot bot sh-edraft.de Discord bot
~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~
Discord bot for the Keksdose discord Server Discord bot for customers of sh-edraft.de
:copyright: (c) 2022 - 2023 sh-edraft.de :copyright: (c) 2022 - 2023 sh-edraft.de
:license: MIT, see LICENSE for more details. :license: MIT, see LICENSE for more details.
@ -15,7 +15,7 @@ __title__ = "bot_api.model"
__author__ = "Sven Heidemann" __author__ = "Sven Heidemann"
__license__ = "MIT" __license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.4" __version__ = "1.2.8"
from collections import namedtuple from collections import namedtuple
@ -23,4 +23,4 @@ from collections import namedtuple
# imports: # imports:
VersionInfo = namedtuple("VersionInfo", "major minor micro") VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="4") version_info = VersionInfo(major="1", minor="2", micro="8")

View File

@ -1,10 +1,10 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
""" """
bot Keksdose bot bot sh-edraft.de Discord bot
~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~
Discord bot for the Keksdose discord Server Discord bot for customers of sh-edraft.de
:copyright: (c) 2022 - 2023 sh-edraft.de :copyright: (c) 2022 - 2023 sh-edraft.de
:license: MIT, see LICENSE for more details. :license: MIT, see LICENSE for more details.
@ -15,7 +15,7 @@ __title__ = "bot_api.model.discord"
__author__ = "Sven Heidemann" __author__ = "Sven Heidemann"
__license__ = "MIT" __license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.4" __version__ = "1.2.8"
from collections import namedtuple from collections import namedtuple
@ -23,4 +23,4 @@ from collections import namedtuple
# imports: # imports:
VersionInfo = namedtuple("VersionInfo", "major minor micro") VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="4") version_info = VersionInfo(major="1", minor="2", micro="8")

View File

@ -1,10 +1,7 @@
import traceback
from typing import Optional from typing import Optional
from cpl_core.console import Console
from bot_api.abc.dto_abc import DtoABC from bot_api.abc.dto_abc import DtoABC
from bot_api.exception.service_error_code_enum import ServiceErrorCode from bot_core.exception.service_error_code_enum import ServiceErrorCode
class ErrorDTO(DtoABC): class ErrorDTO(DtoABC):

View File

@ -27,4 +27,8 @@ class TokenDTO(DtoABC):
self._first_login = values["firstLogin"] self._first_login = values["firstLogin"]
def to_dict(self) -> dict: def to_dict(self) -> dict:
return {"token": self._token, "refreshToken": self._refresh_token, "firstLogin": self._first_login} return {
"token": self._token,
"refreshToken": self._refresh_token,
"firstLogin": self._first_login,
}

View File

@ -1,10 +1,10 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
""" """
bot Keksdose bot bot sh-edraft.de Discord bot
~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~
Discord bot for the Keksdose discord Server Discord bot for customers of sh-edraft.de
:copyright: (c) 2022 - 2023 sh-edraft.de :copyright: (c) 2022 - 2023 sh-edraft.de
:license: MIT, see LICENSE for more details. :license: MIT, see LICENSE for more details.
@ -15,7 +15,7 @@ __title__ = "bot_api.route"
__author__ = "Sven Heidemann" __author__ = "Sven Heidemann"
__license__ = "MIT" __license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.4" __version__ = "1.2.8"
from collections import namedtuple from collections import namedtuple
@ -23,4 +23,4 @@ from collections import namedtuple
# imports: # imports:
VersionInfo = namedtuple("VersionInfo", "major minor micro") VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="4") version_info = VersionInfo(major="1", minor="2", micro="8")

View File

@ -8,8 +8,8 @@ from flask import request, jsonify
from flask_cors import cross_origin from flask_cors import cross_origin
from bot_api.abc.auth_service_abc import AuthServiceABC from bot_api.abc.auth_service_abc import AuthServiceABC
from bot_api.exception.service_error_code_enum import ServiceErrorCode from bot_core.exception.service_error_code_enum import ServiceErrorCode
from bot_api.exception.service_exception import ServiceException from bot_core.exception.service_exception import ServiceException
from bot_api.model.error_dto import ErrorDTO from bot_api.model.error_dto import ErrorDTO
from bot_data.abc.auth_user_repository_abc import AuthUserRepositoryABC from bot_data.abc.auth_user_repository_abc import AuthUserRepositoryABC
from bot_data.model.auth_role_enum import AuthRoleEnum from bot_data.model.auth_role_enum import AuthRoleEnum
@ -25,7 +25,12 @@ class Route:
@classmethod @classmethod
@ServiceProviderABC.inject @ServiceProviderABC.inject
def init_authorize(cls, env: ApplicationEnvironmentABC, auth_users: AuthUserRepositoryABC, auth: AuthServiceABC): def init_authorize(
cls,
env: ApplicationEnvironmentABC,
auth_users: AuthUserRepositoryABC,
auth: AuthServiceABC,
):
cls._auth_users = auth_users cls._auth_users = auth_users
cls._auth = auth cls._auth = auth
cls._env = env.environment_name cls._env = env.environment_name
@ -52,7 +57,13 @@ class Route:
return user return user
@classmethod @classmethod
def authorize(cls, f: Callable = None, role: AuthRoleEnum = None, skip_in_dev=False, by_api_key=False): def authorize(
cls,
f: Callable = None,
role: AuthRoleEnum = None,
skip_in_dev=False,
by_api_key=False,
):
if f is None: if f is None:
return functools.partial(cls.authorize, role=role, skip_in_dev=skip_in_dev, by_api_key=by_api_key) return functools.partial(cls.authorize, role=role, skip_in_dev=skip_in_dev, by_api_key=by_api_key)

View File

@ -1,10 +1,10 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
""" """
bot Keksdose bot bot sh-edraft.de Discord bot
~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~
Discord bot for the Keksdose discord Server Discord bot for customers of sh-edraft.de
:copyright: (c) 2022 - 2023 sh-edraft.de :copyright: (c) 2022 - 2023 sh-edraft.de
:license: MIT, see LICENSE for more details. :license: MIT, see LICENSE for more details.
@ -15,7 +15,7 @@ __title__ = "bot_api.service"
__author__ = "Sven Heidemann" __author__ = "Sven Heidemann"
__license__ = "MIT" __license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.4" __version__ = "1.2.8"
from collections import namedtuple from collections import namedtuple
@ -23,4 +23,4 @@ from collections import namedtuple
# imports # imports
VersionInfo = namedtuple("VersionInfo", "major minor micro") VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="4") version_info = VersionInfo(major="1", minor="2", micro="8")

View File

@ -1,6 +1,5 @@
import hashlib import hashlib
import re import re
import textwrap
import uuid import uuid
from datetime import datetime, timedelta, timezone from datetime import datetime, timedelta, timezone
from threading import Thread from threading import Thread
@ -19,8 +18,8 @@ from flask import request
from bot_api.abc.auth_service_abc import AuthServiceABC from bot_api.abc.auth_service_abc import AuthServiceABC
from bot_api.configuration.authentication_settings import AuthenticationSettings from bot_api.configuration.authentication_settings import AuthenticationSettings
from bot_api.configuration.frontend_settings import FrontendSettings from bot_api.configuration.frontend_settings import FrontendSettings
from bot_api.exception.service_error_code_enum import ServiceErrorCode from bot_core.exception.service_error_code_enum import ServiceErrorCode
from bot_api.exception.service_exception import ServiceException from bot_core.exception.service_exception import ServiceException
from bot_api.filter.auth_user_select_criteria import AuthUserSelectCriteria from bot_api.filter.auth_user_select_criteria import AuthUserSelectCriteria
from bot_api.logging.api_logger import ApiLogger from bot_api.logging.api_logger import ApiLogger
from bot_api.model.auth_user_dto import AuthUserDTO from bot_api.model.auth_user_dto import AuthUserDTO
@ -172,11 +171,7 @@ class AuthService(AuthServiceABC):
mail.add_header("Content-Transfer-Encoding: quoted-printable") mail.add_header("Content-Transfer-Encoding: quoted-printable")
mail.add_receiver(str(email)) mail.add_receiver(str(email))
mail.subject = subject mail.subject = subject
mail.body = textwrap.dedent( mail.body = f"{message}\r\n{self._t.transform('api.mail.automatic_mail').format(self._environment.application_name, self._environment.environment_name, self._environment.host_name)}"
f"""{message}
{self._t.transform('api.mail.automatic_mail').format(self._environment.application_name, self._environment.environment_name, self._environment.host_name)}
"""
)
thr = Thread(target=self._mailer.send_mail, args=[mail]) thr = Thread(target=self._mailer.send_mail, args=[mail])
thr.start() thr.start()
@ -599,3 +594,12 @@ class AuthService(AuthServiceABC):
user.forgot_password_id = None user.forgot_password_id = None
self._auth_users.update_auth_user(user) self._auth_users.update_auth_user(user)
self._db.save_changes() self._db.save_changes()
async def resend_confirmation_email_by_mail(self, mail: str):
user = self._auth_users.find_auth_user_by_email(mail)
if user is None:
raise ServiceException(ServiceErrorCode.InvalidUser, f"User not found")
if user.confirmation_id is None:
raise ServiceException(ServiceErrorCode.DataAlreadyExists, f"User already confirmed")
self._send_confirmation_id_to_user(user)

View File

@ -4,8 +4,8 @@ from cpl_discord.service import DiscordBotServiceABC
from cpl_query.extension import List from cpl_query.extension import List
from bot_api.abc.auth_service_abc import AuthServiceABC from bot_api.abc.auth_service_abc import AuthServiceABC
from bot_api.exception.service_error_code_enum import ServiceErrorCode from bot_core.exception.service_error_code_enum import ServiceErrorCode
from bot_api.exception.service_exception import ServiceException from bot_core.exception.service_exception import ServiceException
from bot_api.filter.discord.server_select_criteria import ServerSelectCriteria from bot_api.filter.discord.server_select_criteria import ServerSelectCriteria
from bot_api.model.discord.server_dto import ServerDTO from bot_api.model.discord.server_dto import ServerDTO
from bot_api.model.discord.server_filtered_result_dto import ServerFilteredResultDTO from bot_api.model.discord.server_filtered_result_dto import ServerFilteredResultDTO

View File

@ -1,10 +1,10 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
""" """
bot Keksdose bot bot sh-edraft.de Discord bot
~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~
Discord bot for the Keksdose discord Server Discord bot for customers of sh-edraft.de
:copyright: (c) 2022 - 2023 sh-edraft.de :copyright: (c) 2022 - 2023 sh-edraft.de
:license: MIT, see LICENSE for more details. :license: MIT, see LICENSE for more details.
@ -15,7 +15,7 @@ __title__ = "bot_api.transformer"
__author__ = "Sven Heidemann" __author__ = "Sven Heidemann"
__license__ = "MIT" __license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.4" __version__ = "1.2.8"
from collections import namedtuple from collections import namedtuple
@ -23,4 +23,4 @@ from collections import namedtuple
# imports: # imports:
VersionInfo = namedtuple("VersionInfo", "major minor micro") VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="4") version_info = VersionInfo(major="1", minor="2", micro="8")

View File

@ -10,7 +10,7 @@ from bot_api.model.user_dto import UserDTO
from bot_data.model.auth_role_enum import AuthRoleEnum from bot_data.model.auth_role_enum import AuthRoleEnum
from bot_data.model.auth_user import AuthUser from bot_data.model.auth_user import AuthUser
from bot_data.model.user import User from bot_data.model.user import User
from modules.permission.abc.permission_service_abc import PermissionServiceABC from bot_core.abc.permission_service_abc import PermissionServiceABC
class AuthUserTransformer(TransformerABC): class AuthUserTransformer(TransformerABC):
@ -35,21 +35,37 @@ class AuthUserTransformer(TransformerABC):
@ServiceProviderABC.inject @ServiceProviderABC.inject
def _is_technician(user: User, bot: DiscordBotServiceABC, permissions: PermissionServiceABC): def _is_technician(user: User, bot: DiscordBotServiceABC, permissions: PermissionServiceABC):
guild = bot.get_guild(user.server.discord_id) guild = bot.get_guild(user.server.discord_id)
if guild is None:
return permissions.is_member_technician_by_id(user.discord_id)
member = guild.get_member(user.discord_id) member = guild.get_member(user.discord_id)
if member is None:
return permissions.is_member_technician_by_id(user.discord_id)
return permissions.is_member_technician(member) return permissions.is_member_technician(member)
@staticmethod @staticmethod
@ServiceProviderABC.inject @ServiceProviderABC.inject
def _is_admin(user: User, bot: DiscordBotServiceABC, permissions: PermissionServiceABC): def _is_admin(user: User, bot: DiscordBotServiceABC, permissions: PermissionServiceABC):
guild = bot.get_guild(user.server.discord_id) guild = bot.get_guild(user.server.discord_id)
if guild is None:
return False
member = guild.get_member(user.discord_id) member = guild.get_member(user.discord_id)
if member is None:
return False
return permissions.is_member_admin(member) return permissions.is_member_admin(member)
@staticmethod @staticmethod
@ServiceProviderABC.inject @ServiceProviderABC.inject
def _is_moderator(user: User, bot: DiscordBotServiceABC, permissions: PermissionServiceABC): def _is_moderator(user: User, bot: DiscordBotServiceABC, permissions: PermissionServiceABC):
guild = bot.get_guild(user.server.discord_id) guild = bot.get_guild(user.server.discord_id)
if guild is None:
return False
member = guild.get_member(user.discord_id) member = guild.get_member(user.discord_id)
if member is None:
return False
return permissions.is_member_moderator(member) return permissions.is_member_moderator(member)
@classmethod @classmethod

View File

@ -1,10 +1,10 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
""" """
bot Keksdose bot bot sh-edraft.de Discord bot
~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~
Discord bot for the Keksdose discord Server Discord bot for customers of sh-edraft.de
:copyright: (c) 2022 - 2023 sh-edraft.de :copyright: (c) 2022 - 2023 sh-edraft.de
:license: MIT, see LICENSE for more details. :license: MIT, see LICENSE for more details.
@ -15,7 +15,7 @@ __title__ = "bot_core"
__author__ = "Sven Heidemann" __author__ = "Sven Heidemann"
__license__ = "MIT" __license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.4" __version__ = "1.2.8"
from collections import namedtuple from collections import namedtuple
@ -23,4 +23,4 @@ from collections import namedtuple
# imports # imports
VersionInfo = namedtuple("VersionInfo", "major minor micro") VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="4") version_info = VersionInfo(major="1", minor="2", micro="8")

View File

@ -1,10 +1,10 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
""" """
bot Keksdose bot bot sh-edraft.de Discord bot
~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~
Discord bot for the Keksdose discord Server Discord bot for customers of sh-edraft.de
:copyright: (c) 2022 - 2023 sh-edraft.de :copyright: (c) 2022 - 2023 sh-edraft.de
:license: MIT, see LICENSE for more details. :license: MIT, see LICENSE for more details.
@ -15,7 +15,7 @@ __title__ = "bot_core.abc"
__author__ = "Sven Heidemann" __author__ = "Sven Heidemann"
__license__ = "MIT" __license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.4" __version__ = "1.2.8"
from collections import namedtuple from collections import namedtuple
@ -23,4 +23,4 @@ from collections import namedtuple
# imports: # imports:
VersionInfo = namedtuple("VersionInfo", "major minor micro") VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="4") version_info = VersionInfo(major="1", minor="2", micro="8")

View File

@ -48,6 +48,16 @@ class ClientUtilsABC(ABC):
def get_auto_complete_list(self, _l: List, current: str, select: Callable = None) -> List: def get_auto_complete_list(self, _l: List, current: str, select: Callable = None) -> List:
pass pass
@abstractmethod
def update_user_message_xp_count_by_hour(
self,
created_at: datetime,
user: User,
settings: ServerConfig,
is_reaction: bool = False,
):
pass
@abstractmethod @abstractmethod
def is_message_xp_count_by_hour_higher_that_max_message_count_per_hour( def is_message_xp_count_by_hour_higher_that_max_message_count_per_hour(
self, self,
@ -64,10 +74,18 @@ class ClientUtilsABC(ABC):
@abstractmethod @abstractmethod
async def react_to_message_by_auto_role_rule( async def react_to_message_by_auto_role_rule(
self, discord_channel_id: int, discord_message_id: int, rule: AutoRoleRule, guild: discord.Guild self,
discord_channel_id: int,
discord_message_id: int,
rule: AutoRoleRule,
guild: discord.Guild,
): ):
pass pass
@abstractmethod @abstractmethod
async def check_default_role(self, member: Union[discord.User, discord.Member]): async def check_default_role(self, member: Union[discord.User, discord.Member]):
pass pass
@abstractmethod
async def set_maintenance_mode(self, state: bool):
pass

View File

@ -0,0 +1,25 @@
from abc import ABC, abstractmethod
import discord
class PermissionServiceABC(ABC):
@abstractmethod
def __init__(self):
pass
@abstractmethod
def is_member_admin(self, member: discord.Member) -> bool:
pass
@abstractmethod
def is_member_moderator(self, member: discord.Member) -> bool:
pass
@abstractmethod
def is_member_technician(self, member: discord.Member) -> bool:
pass
@abstractmethod
def is_member_technician_by_id(self, member_id: int) -> bool:
pass

View File

@ -0,0 +1,33 @@
import asyncio
from abc import abstractmethod
from cpl_core.configuration import ConfigurationABC
from cpl_core.dependency_injection import ServiceProviderABC
from cpl_discord.service import DiscordBotServiceABC
from discord.ext import commands
from bot_core.environment_variables import MAINTENANCE
from bot_core.logging.task_logger import TaskLogger
class TaskABC(commands.Cog):
@abstractmethod
def __init__(self):
commands.Cog.__init__(self)
@ServiceProviderABC.inject
def _is_maintenance(self, config: ConfigurationABC) -> bool:
return config.get_configuration(MAINTENANCE) is True
@ServiceProviderABC.inject
async def _wait_until_ready(self, config: ConfigurationABC, logger: TaskLogger, bot: DiscordBotServiceABC):
logger.debug(__name__, f"Waiting before ready {type(self).__name__}")
await bot.wait_until_ready()
async def wait():
is_ready = config.get_configuration("IS_READY") is True
if not is_ready:
await asyncio.sleep(1)
await wait()
await wait()

View File

@ -3,8 +3,8 @@
"Name": "bot-core", "Name": "bot-core",
"Version": { "Version": {
"Major": "1", "Major": "1",
"Minor": "1", "Minor": "2",
"Micro": "4" "Micro": "8"
}, },
"Author": "Sven Heidemann", "Author": "Sven Heidemann",
"AuthorEmail": "sven.heidemann@sh-edraft.de", "AuthorEmail": "sven.heidemann@sh-edraft.de",

View File

@ -1,10 +1,10 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
""" """
bot Keksdose bot bot sh-edraft.de Discord bot
~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~
Discord bot for the Keksdose discord Server Discord bot for customers of sh-edraft.de
:copyright: (c) 2022 - 2023 sh-edraft.de :copyright: (c) 2022 - 2023 sh-edraft.de
:license: MIT, see LICENSE for more details. :license: MIT, see LICENSE for more details.
@ -15,7 +15,7 @@ __title__ = "bot_core.configuration"
__author__ = "Sven Heidemann" __author__ = "Sven Heidemann"
__license__ = "MIT" __license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.4" __version__ = "1.2.8"
from collections import namedtuple from collections import namedtuple
@ -23,4 +23,4 @@ from collections import namedtuple
# imports: # imports:
VersionInfo = namedtuple("VersionInfo", "major minor micro") VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="4") version_info = VersionInfo(major="1", minor="2", micro="8")

View File

@ -15,8 +15,17 @@ class FeatureFlagsEnum(Enum):
database_module = "DatabaseModule" database_module = "DatabaseModule"
level_module = "LevelModule" level_module = "LevelModule"
moderator_module = "ModeratorModule" moderator_module = "ModeratorModule"
permission_module = "PermissionModule" short_role_name_module = "ShortRoleNameModule"
steam_special_offers_module = "SteamSpecialOffersModule"
# features # features
api_only = "ApiOnly" api_only = "ApiOnly"
presence = "Presence" presence = "Presence"
version_in_presence = "VersionInPresence" version_in_presence = "VersionInPresence"
game_server = "GameServer"
sync_xp = "SyncXp"
short_role_name = "ShortRoleName"
technician_full_access = "TechnicianFullAccess"
steam_special_offers = "SteamSpecialOffers"
scheduled_events = "ScheduledEvents"
basic_registration = "BasicRegistration"
basic_login = "BasicLogin"

View File

@ -16,12 +16,21 @@ class FeatureFlagsSettings(ConfigurationModelABC):
FeatureFlagsEnum.data_module.value: True, # 03.10.2022 #56 FeatureFlagsEnum.data_module.value: True, # 03.10.2022 #56
FeatureFlagsEnum.database_module.value: True, # 02.10.2022 #48 FeatureFlagsEnum.database_module.value: True, # 02.10.2022 #48
FeatureFlagsEnum.moderator_module.value: False, # 02.10.2022 #48 FeatureFlagsEnum.moderator_module.value: False, # 02.10.2022 #48
FeatureFlagsEnum.permission_module.value: True, # 02.10.2022 #48
FeatureFlagsEnum.config_module.value: True, # 19.07.2023 #127 FeatureFlagsEnum.config_module.value: True, # 19.07.2023 #127
FeatureFlagsEnum.short_role_name_module.value: True, # 28.09.2023 #378
FeatureFlagsEnum.steam_special_offers_module.value: True, # 11.10.2023 #188
# features # features
FeatureFlagsEnum.api_only.value: False, # 13.10.2022 #70 FeatureFlagsEnum.api_only.value: False, # 13.10.2022 #70
FeatureFlagsEnum.presence.value: True, # 03.10.2022 #56 FeatureFlagsEnum.presence.value: True, # 03.10.2022 #56
FeatureFlagsEnum.version_in_presence.value: False, # 21.03.2023 #253 FeatureFlagsEnum.version_in_presence.value: False, # 21.03.2023 #253
FeatureFlagsEnum.game_server.value: False, # 25.09.2023 #366
FeatureFlagsEnum.sync_xp.value: False, # 25.09.2023 #366
FeatureFlagsEnum.short_role_name.value: False, # 28.09.2023 #378
FeatureFlagsEnum.technician_full_access.value: False, # 03.10.2023 #393
FeatureFlagsEnum.steam_special_offers.value: False, # 11.10.2023 #188
FeatureFlagsEnum.scheduled_events.value: False, # 14.11.2023 #410
FeatureFlagsEnum.basic_registration.value: False, # 19.11.2023 #440
FeatureFlagsEnum.basic_login.value: False, # 19.11.2023 #440
} }
def __init__(self, **kwargs: dict): def __init__(self, **kwargs: dict):

View File

@ -1,10 +1,10 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
""" """
bot Keksdose bot bot sh-edraft.de Discord bot
~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~
Discord bot for the Keksdose discord Server Discord bot for customers of sh-edraft.de
:copyright: (c) 2022 - 2023 sh-edraft.de :copyright: (c) 2022 - 2023 sh-edraft.de
:license: MIT, see LICENSE for more details. :license: MIT, see LICENSE for more details.
@ -15,7 +15,7 @@ __title__ = "bot_core.core_extension"
__author__ = "Sven Heidemann" __author__ = "Sven Heidemann"
__license__ = "MIT" __license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de" __copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.4" __version__ = "1.2.8"
from collections import namedtuple from collections import namedtuple
@ -23,4 +23,4 @@ from collections import namedtuple
# imports: # imports:
VersionInfo = namedtuple("VersionInfo", "major minor micro") VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="4") version_info = VersionInfo(major="1", minor="2", micro="8")

View File

@ -9,7 +9,7 @@ from bot_core.configuration.feature_flags_enum import FeatureFlagsEnum
from bot_core.configuration.feature_flags_settings import FeatureFlagsSettings from bot_core.configuration.feature_flags_settings import FeatureFlagsSettings
from bot_core.helper.command_checks import CommandChecks from bot_core.helper.command_checks import CommandChecks
from bot_core.helper.event_checks import EventChecks from bot_core.helper.event_checks import EventChecks
from modules.permission.abc.permission_service_abc import PermissionServiceABC from bot_core.abc.permission_service_abc import PermissionServiceABC
class CoreExtension(ApplicationExtensionABC): class CoreExtension(ApplicationExtensionABC):

Some files were not shown because too many files have changed in this diff Show More