9 Commits

Author SHA1 Message Date
34d83a472c Merge pull request 'Fixed permission check' (#396) from dev into master
Some checks reported warnings
Deploy dev on push / on-push-deploy_sh-edraft (push) Has been cancelled
Reviewed-on: sh-edraft.de/kd_discord_bot#396
2023-10-02 16:33:05 +02:00
3fd25418bf Merge branch 'master' into dev
Some checks reported warnings
Deploy dev on push / on-push-deploy_sh-edraft (push) Has been cancelled
2023-10-02 16:32:52 +02:00
b175b07e35 Fixed permission check
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 3m22s
2023-10-02 16:32:35 +02:00
06e6d7a0cf Merge pull request 'dev' (#395) from dev into master
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 3m28s
Reviewed-on: sh-edraft.de/kd_discord_bot#395
2023-10-02 16:15:39 +02:00
ec8f15fd72 Merge branch 'master' into dev
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 3m18s
2023-10-02 16:15:33 +02:00
65a09c428d Merge pull request '#393' (#394) from #393 into dev
All checks were successful
Deploy dev on push / on-push-deploy_sh-edraft (push) Successful in 4m24s
Reviewed-on: sh-edraft.de/kd_discord_bot#394
2023-10-02 16:08:44 +02:00
1125c83d13 Improved permission check #393 2023-10-02 16:08:22 +02:00
76d94c0f60 Cleaned and fixed permission service #393 2023-10-02 15:46:54 +02:00
eb3eb24e81 Added technician check to frontend #393 2023-10-02 15:11:34 +02:00
109 changed files with 276 additions and 259 deletions

View File

@@ -5,7 +5,7 @@ volumes:
services:
kdb_bot_staging_1:
image: sh-edraft.de/kdb-bot:1.1.10
image: sh-edraft.de/kdb-bot:1.1.9
restart: unless-stopped
depends_on:
- kdb_db_staging_1
@@ -32,7 +32,7 @@ services:
memory: 1024M
kdb_web_staging_1:
image: sh-edraft.de/kdb-web:1.1.10
image: sh-edraft.de/kdb-web:1.1.9
depends_on:
- kdb_bot_staging_1
networks:

View File

@@ -5,7 +5,7 @@ volumes:
services:
kdb_bot_prod_1:
image: sh-edraft.de/kdb-bot:1.1.10
image: sh-edraft.de/kdb-bot:1.1.9
restart: unless-stopped
depends_on:
- kdb_db_prod_1
@@ -31,7 +31,7 @@ services:
memory: 1024M
kdb_web_prod_1:
image: sh-edraft.de/kdb-web:1.1.10
image: sh-edraft.de/kdb-web:1.1.9
depends_on:
- kdb_bot_prod_1
networks:

View File

@@ -15,7 +15,7 @@ __title__ = "bot"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports:
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -4,7 +4,7 @@
"Version": {
"Major": "1",
"Minor": "1",
"Micro": "10"
"Micro": "9"
},
"Author": "Sven Heidemann",
"AuthorEmail": "sven.heidemann@sh-edraft.de",

View File

@@ -15,7 +15,7 @@ __title__ = "bot.extension"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports:
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -15,7 +15,7 @@ __title__ = "bot_api"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports:
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -15,7 +15,7 @@ __title__ = "bot_api.abc"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports:
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -4,7 +4,7 @@
"Version": {
"Major": "1",
"Minor": "1",
"Micro": "10"
"Micro": "9"
},
"Author": "",
"AuthorEmail": "",

View File

@@ -15,7 +15,7 @@ __title__ = "bot_api.configuration"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -15,7 +15,7 @@ __title__ = "bot_api.controller"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports:
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -15,7 +15,7 @@ __title__ = "bot_api.event"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports:
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -15,7 +15,7 @@ __title__ = "bot_api.exception"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports:
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -15,7 +15,7 @@ __title__ = "bot_api.filter"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports:
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -15,7 +15,7 @@ __title__ = "bot_api.filter.discord"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports:
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -15,7 +15,7 @@ __title__ = "bot_api.logging"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports:
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -15,7 +15,7 @@ __title__ = "bot_api.model"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports:
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -15,7 +15,7 @@ __title__ = "bot_api.model.discord"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports:
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -15,7 +15,7 @@ __title__ = "bot_api.route"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports:
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -15,7 +15,7 @@ __title__ = "bot_api.service"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -15,7 +15,7 @@ __title__ = "bot_api.transformer"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports:
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -15,7 +15,7 @@ __title__ = "bot_core"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -15,7 +15,7 @@ __title__ = "bot_core.abc"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports:
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -4,7 +4,7 @@
"Version": {
"Major": "1",
"Minor": "1",
"Micro": "10"
"Micro": "9"
},
"Author": "Sven Heidemann",
"AuthorEmail": "sven.heidemann@sh-edraft.de",

View File

@@ -15,7 +15,7 @@ __title__ = "bot_core.configuration"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports:
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -26,7 +26,7 @@ class FeatureFlagsSettings(ConfigurationModelABC):
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.technician_full_access.value: False, # 02.10.2023 #393
}
def __init__(self, **kwargs: dict):

View File

@@ -15,7 +15,7 @@ __title__ = "bot_core.core_extension"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports:
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -15,7 +15,7 @@ __title__ = "bot_core.events"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports:
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -15,7 +15,7 @@ __title__ = "bot_core.exception"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports:
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -15,7 +15,7 @@ __title__ = "bot_core.helper"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports:
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -15,7 +15,7 @@ __title__ = "bot_core.logging"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -15,7 +15,7 @@ __title__ = "bot_core.pipes"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -15,7 +15,7 @@ __title__ = "bot_core.service"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports:
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -7,6 +7,7 @@ from bot_data.abc.technician_config_repository_abc import TechnicianConfigReposi
from bot_data.model.server import Server
from bot_data.model.technician_config import TechnicianConfig
from bot_data.service.server_config_seeder import ServerConfigSeeder
from bot_data.service.technician_config_seeder import TechnicianConfigSeeder
class ConfigService:
@@ -16,6 +17,7 @@ class ConfigService:
services: ServiceProviderABC,
technician_config_repo: TechnicianConfigRepositoryABC,
server_config_repo: ServerConfigRepositoryABC,
tech_seeder: TechnicianConfigSeeder,
server_seeder: ServerConfigSeeder,
):
self._config = config
@@ -23,9 +25,13 @@ class ConfigService:
self._technician_config_repo = technician_config_repo
self._server_config_repo = server_config_repo
self._tech_seeder = tech_seeder
self._server_seeder = server_seeder
def reload_technician_config(self):
async def reload_technician_config(self):
if not self._technician_config_repo.does_technician_config_exists():
await self._tech_seeder.seed()
technician_config = self._technician_config_repo.get_technician_config()
self._config.add_configuration(TechnicianConfig, technician_config)
self._config.add_configuration(FeatureFlagsSettings, FeatureFlagsSettings(**technician_config.feature_flags))

View File

@@ -15,7 +15,7 @@ __title__ = "bot_data"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -15,7 +15,7 @@ __title__ = "bot_data.abc"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -4,7 +4,7 @@
"Version": {
"Major": "1",
"Minor": "1",
"Micro": "10"
"Micro": "9"
},
"Author": "Sven Heidemann",
"AuthorEmail": "sven.heidemann@sh-edraft.de",

View File

@@ -15,7 +15,7 @@ __title__ = "bot_data.migration"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -15,7 +15,7 @@ __title__ = "bot_data.model"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -15,7 +15,7 @@ __title__ = "bot_data.service"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -15,7 +15,7 @@ __title__ = "bot_graphql"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -15,7 +15,7 @@ __title__ = "bot_graphql.abc"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports:
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -1,6 +1,7 @@
from typing import Callable
from ariadne import ObjectType
from cpl_core.configuration import ConfigurationABC
from cpl_core.dependency_injection import ServiceProviderABC
from cpl_core.type import T
from cpl_discord.service import DiscordBotServiceABC
@@ -10,6 +11,7 @@ from bot_api.exception.service_error_code_enum import ServiceErrorCode
from bot_api.exception.service_exception import ServiceException
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.achievement import Achievement
from bot_data.model.auth_role_enum import AuthRoleEnum
from bot_data.model.auth_user import AuthUser
@@ -75,7 +77,12 @@ class QueryABC(ObjectType):
def get_services(services: ServiceProviderABC) -> ServiceProviderABC:
return services
@ServiceProviderABC.inject
def get_config(config: ConfigurationABC) -> ConfigurationABC:
return config
services = get_services()
config = get_config()
permissions: PermissionService = services.get_service(PermissionService)
bot: DiscordBotServiceABC = services.get_service(DiscordBotServiceABC)
@@ -84,6 +91,13 @@ class QueryABC(ObjectType):
for u in user.users:
guild = bot.get_guild(u.server.discord_id)
settings: ServerConfig = config.get_configuration(f"ServerConfig_{guild.id}")
if not FeatureFlagsSettings.get_flag_from_dict(
settings.feature_flags, FeatureFlagsEnum.technician_full_access
):
continue
if permissions.is_member_technician(guild.get_member(u.discord_id)):
return True
@@ -216,23 +230,40 @@ class QueryABC(ObjectType):
@ServiceProviderABC.inject
def _can_user_mutate_data(self, server: Server, permission: UserRoleEnum, services: ServiceProviderABC):
@ServiceProviderABC.inject
def get_config(config: ConfigurationABC) -> ConfigurationABC:
return config
config = get_config()
permissions: PermissionService = services.get_service(PermissionService)
bot: DiscordBotServiceABC = services.get_service(DiscordBotServiceABC)
auth_user = Route.get_user()
if auth_user == "system" or auth_user.auth_role == AuthRoleEnum.admin:
if auth_user == "system":
return
member = bot.get_guild(server.discord_id).get_member(
auth_user.users.where(lambda x: x.server.id == server.id).single().discord_id
)
settings: ServerConfig = config.get_configuration(f"ServerConfig_{member.guild.id}")
technician_full_access_flag = FeatureFlagsSettings.get_flag_from_dict(
settings.feature_flags, FeatureFlagsEnum.technician_full_access
)
check_perm = lambda x: True
check_perm = lambda x: False
match permission:
case UserRoleEnum.moderator:
check_perm = lambda x: permissions.is_member_moderator(x)
check_perm = (
lambda x: technician_full_access_flag
and permissions.is_member_technician(x)
or permissions.is_member_moderator(x)
)
case UserRoleEnum.admin:
check_perm = lambda x: permissions.is_member_admin(x)
check_perm = (
lambda x: technician_full_access_flag
and permissions.is_member_technician(x)
or permissions.is_member_admin(x)
)
case UserRoleEnum.technician:
check_perm = lambda x: permissions.is_member_technician(x)

View File

@@ -4,7 +4,7 @@
"Version": {
"Major": "1",
"Minor": "1",
"Micro": "10"
"Micro": "9"
},
"Author": "Sven Heidemann",
"AuthorEmail": "sven.heidemann@sh-edraft.de",

View File

@@ -15,7 +15,7 @@ __title__ = "bot_graphql.filter"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports:
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -15,7 +15,7 @@ __title__ = "bot_graphql.model"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -15,7 +15,7 @@ __title__ = "bot_graphql.mutations"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports:
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -13,6 +13,7 @@ from bot_data.model.server_team_role_ids_config import ServerTeamRoleIdsConfig
from bot_data.model.team_member_type_enum import TeamMemberTypeEnum
from bot_data.model.user_role_enum import UserRoleEnum
from bot_graphql.abc.query_abc import QueryABC
from modules.permission.abc.permission_service_abc import PermissionServiceABC
class ServerConfigMutation(QueryABC):
@@ -24,6 +25,7 @@ class ServerConfigMutation(QueryABC):
server_configs: ServerConfigRepositoryABC,
db: DatabaseContextABC,
config_service: ConfigService,
permissions: PermissionServiceABC,
):
QueryABC.__init__(self, "ServerConfigMutation")
@@ -33,6 +35,7 @@ class ServerConfigMutation(QueryABC):
self._server_configs = server_configs
self._db = db
self._config_service = config_service
self._permissions = permissions
self.set_field("updateServerConfig", self.resolve_update_server_config)

View File

@@ -11,7 +11,6 @@ from bot_data.model.technician_config import TechnicianConfig
from bot_data.model.technician_id_config import TechnicianIdConfig
from bot_data.model.technician_ping_url_config import TechnicianPingUrlConfig
from bot_data.model.user_role_enum import UserRoleEnum
from bot_data.service.technician_config_seeder import TechnicianConfigSeeder
from bot_graphql.abc.query_abc import QueryABC
@@ -24,7 +23,6 @@ class TechnicianConfigMutation(QueryABC):
technician_configs: TechnicianConfigRepositoryABC,
db: DatabaseContextABC,
config_service: ConfigService,
tech_seeder: TechnicianConfigSeeder,
):
QueryABC.__init__(self, "TechnicianConfigMutation")
@@ -34,14 +32,10 @@ class TechnicianConfigMutation(QueryABC):
self._technician_configs = technician_configs
self._db = db
self._config_service = config_service
self._tech_seeder = tech_seeder
self.set_field("updateTechnicianConfig", self.resolve_update_technician_config)
def resolve_update_technician_config(self, *_, input: dict):
if not self._technician_configs.does_technician_config_exists():
self._bot.loop.create_task(self._tech_seeder.seed())
technician_config = self._technician_configs.get_technician_config()
self._can_user_mutate_data(Route.get_user().users[0].server, UserRoleEnum.technician)
@@ -59,16 +53,11 @@ class TechnicianConfigMutation(QueryABC):
technician_config.cache_max_messages = (
input["cacheMaxMessages"] if "cacheMaxMessages" in input else technician_config.cache_max_messages
)
old_feature_flags = technician_config.feature_flags
technician_config.feature_flags = (
dict(zip([x["key"] for x in input["featureFlags"]], [x["value"] for x in input["featureFlags"]]))
if "featureFlags" in input
else technician_config.feature_flags
)
for old_flag in old_feature_flags:
if old_flag not in technician_config.feature_flags:
technician_config.feature_flags[old_flag] = False
technician_config.ping_urls = (
List(str, input["pingURLs"]) if "pingURLs" in input else technician_config.ping_urls
)
@@ -86,7 +75,6 @@ class TechnicianConfigMutation(QueryABC):
self._update_technician_ids(technician_config)
self._db.save_changes()
self._config_service.reload_technician_config()
return technician_config
def _update_ping_urls(self, new_config: TechnicianConfig):
@@ -121,3 +109,5 @@ class TechnicianConfigMutation(QueryABC):
continue
self._technician_configs.add_technician_id_config(TechnicianIdConfig(technician_id))
self._bot.loop.create_task(self._config_service.reload_technician_config())

View File

@@ -15,7 +15,7 @@ __title__ = "bot_graphql.queries"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports:
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -15,7 +15,7 @@ __title__ = "bot_graphql.queries.discord"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports:
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -15,7 +15,7 @@ __title__ = "modules.achievements"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -4,7 +4,7 @@
"Version": {
"Major": "1",
"Minor": "1",
"Micro": "10"
"Micro": "9"
},
"Author": "Sven Heidemann",
"AuthorEmail": "sven.heidemann@sh-edraft.de",

View File

@@ -15,7 +15,7 @@ __title__ = "modules.achievements.commands"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -15,7 +15,7 @@ __title__ = "modules.achievements.events"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -15,7 +15,7 @@ __title__ = "modules.achievements.model"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -15,7 +15,7 @@ __title__ = "modules.auto_role"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports:
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -4,7 +4,7 @@
"Version": {
"Major": "1",
"Minor": "1",
"Micro": "10"
"Micro": "9"
},
"Author": "",
"AuthorEmail": "",

View File

@@ -15,7 +15,7 @@ __title__ = "modules.auto_role.command"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports:
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -15,7 +15,7 @@ __title__ = "modules.auto_role.events"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports:
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -15,7 +15,7 @@ __title__ = "modules.auto_role.helper"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports:
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -15,7 +15,7 @@ __title__ = "modules.base"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -4,7 +4,7 @@
"Version": {
"Major": "1",
"Minor": "1",
"Micro": "10"
"Micro": "9"
},
"Author": "",
"AuthorEmail": "",

View File

@@ -15,7 +15,7 @@ __title__ = "modules.base.command"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -15,7 +15,7 @@ __title__ = "modules.base.events"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports:
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -31,17 +31,6 @@ class BaseOnVoiceStateUpdateEventHelpChannel(OnVoiceStateUpdateABC):
self._logger.info(__name__, f"Module {type(self)} loaded")
async def _notify_team(self, member: discord.Member):
self._logger.debug(__name__, f"Notify team that a member needs help")
settings: ServerConfig = self._config.get_configuration(f"ServerConfig_{member.guild.id}")
channel = member.guild.get_channel(settings.team_channel_id)
await self._message_service.send_channel_message(
channel,
self._t.transform("modules.base.member_joined_help_voice_channel").format(member.mention),
is_persistent=True,
)
self._logger.trace(__name__, f"Notified team that a member need help")
@EventChecks.check_is_ready()
async def on_voice_state_update(
self,
@@ -55,6 +44,14 @@ class BaseOnVoiceStateUpdateEventHelpChannel(OnVoiceStateUpdateABC):
if after.channel is None or after.channel.id != settings.help_voice_channel_id:
return
await self._notify_team(member)
mods = [
*self._permissions.get_admins(member.guild.id),
*self._permissions.get_moderators(member.guild.id),
]
for a in mods:
await self._message_service.send_dm_message(
self._t.transform("modules.base.member_joined_help_voice_channel").format(member.mention),
a,
)
self._logger.debug(__name__, f"Module {type(self)} stopped")

View File

@@ -15,7 +15,7 @@ __title__ = "modules.base.forms"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -15,7 +15,7 @@ __title__ = "modules.base.helper"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports:
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -15,7 +15,7 @@ __title__ = "modules.base.model"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports:
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -15,7 +15,7 @@ __title__ = "modules.base.service"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -15,7 +15,7 @@ __title__ = "modules.base.thread"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -15,7 +15,7 @@ __title__ = "modules.boot_log"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports:
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -4,7 +4,7 @@
"Version": {
"Major": "1",
"Minor": "1",
"Micro": "10"
"Micro": "9"
},
"Author": "",
"AuthorEmail": "",

View File

@@ -67,7 +67,7 @@ class BootLogOnReadyEvent(OnReadyABC):
server_config: ServerConfig = self._config.get_configuration(f"ServerConfig_{g.id}")
if server_config is None:
self._logger.error(__name__, f"Config ServerConfig_{g.id} not found!")
self._logger.error(__name__, f"Config {type(self).__name__}_{g.id} not found!")
return
if not FeatureFlagsSettings.get_flag_from_dict(

View File

@@ -15,7 +15,7 @@ __title__ = "modules.config"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -4,7 +4,7 @@
"Version": {
"Major": "1",
"Minor": "1",
"Micro": "10"
"Micro": "9"
},
"Author": "",
"AuthorEmail": "",

View File

@@ -19,4 +19,4 @@ class ConfigExtension(ApplicationExtensionABC):
logger: LoggerABC = services.get_service(LoggerABC)
logger.debug(__name__, "Config extension started")
config: ConfigService = services.get_service(ConfigService)
config.reload_technician_config()
await config.reload_technician_config()

View File

@@ -15,7 +15,7 @@ __title__ = "modules.config.events"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -15,7 +15,7 @@ __title__ = "modules.config.service"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports:
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -15,7 +15,7 @@ __title__ = "modules.database"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports:
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -4,7 +4,7 @@
"Version": {
"Major": "1",
"Minor": "1",
"Micro": "10"
"Micro": "9"
},
"Author": "Sven Heidemann",
"AuthorEmail": "sven.heidemann@sh-edraft.de",

View File

@@ -15,7 +15,7 @@ __title__ = "modules.level"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports:
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -15,7 +15,7 @@ __title__ = "modules.level.command"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -15,7 +15,7 @@ __title__ = "modules.level.configuration"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -15,7 +15,7 @@ __title__ = "modules.level.events"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports:
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -4,7 +4,7 @@
"Version": {
"Major": "1",
"Minor": "1",
"Micro": "10"
"Micro": "9"
},
"Author": "",
"AuthorEmail": "",

View File

@@ -15,7 +15,7 @@ __title__ = "modules.level.service"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -15,7 +15,7 @@ __title__ = "modules.permission"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports:
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -15,7 +15,7 @@ __title__ = "modules.permission.abc"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -8,6 +8,14 @@ class PermissionServiceABC(ABC):
def __init__(self):
pass
@abstractmethod
def get_admins(self, g_id: int) -> list[discord.Member]:
pass
@abstractmethod
def get_moderators(self, g_id: int) -> list[discord.Member]:
pass
@abstractmethod
def is_member_admin(self, member: discord.Member) -> bool:
pass

View File

@@ -4,7 +4,7 @@
"Version": {
"Major": "1",
"Minor": "1",
"Micro": "10"
"Micro": "9"
},
"Author": "",
"AuthorEmail": "",

View File

@@ -17,6 +17,6 @@ class PermissionModule(ModuleABC):
pass
def configure_services(self, services: ServiceCollectionABC, env: ApplicationEnvironmentABC):
services.add_transient(PermissionServiceABC, PermissionService)
services.add_singleton(PermissionServiceABC, PermissionService)
# commands
# events

View File

@@ -15,7 +15,7 @@ __title__ = "modules.permission.service"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -6,6 +6,7 @@ from cpl_discord.service import DiscordBotServiceABC
from bot_data.abc.server_config_repository_abc import ServerConfigRepositoryABC
from bot_data.abc.server_repository_abc import ServerRepositoryABC
from bot_data.abc.technician_config_repository_abc import TechnicianConfigRepositoryABC
from bot_data.model.server_team_role_ids_config import ServerTeamRoleIdsConfig
from bot_data.model.team_member_type_enum import TeamMemberTypeEnum
from modules.permission.abc.permission_service_abc import PermissionServiceABC
@@ -28,47 +29,29 @@ class PermissionService(PermissionServiceABC):
self._server_configs = server_configs
self._technician_configs = technician_configs
def _has_member_role(self, member: discord.Member, team_member_type: TeamMemberTypeEnum) -> bool:
if member is None or member.guild is None:
return False
def _team_role_members(self, guild_id: int, team_role_type: TeamMemberTypeEnum):
guild = self._bot.get_guild(guild_id)
server = self._servers.get_server_by_discord_id(guild_id)
config = self._server_configs.get_server_config_by_server(server.id)
admins = []
for role_id in config.team_role_ids.where(lambda x: x.team_member_type == team_role_type):
role_id: ServerTeamRoleIdsConfig = role_id
admins = guild.get_role(role_id.role_id).members
self._logger.debug(__name__, f"Checking is member {member.name} {team_member_type.value}")
return admins
try:
server = self._servers.get_server_by_discord_id(member.guild.id)
config = self._server_configs.get_server_config_by_server(server.id)
roles = config.team_role_ids.where(lambda x: x.team_member_type == team_member_type).select(
lambda x: member.guild.get_role(x.role_id)
)
for role in roles:
if role not in member.roles:
continue
def get_admins(self, g_id: int) -> list[discord.Member]:
return self._team_role_members(g_id, TeamMemberTypeEnum.admin)
return True
except Exception as e:
self._logger.error(__name__, "Permission check failed", e)
return False
def get_moderators(self, g_id: int) -> list[discord.Member]:
return self._team_role_members(g_id, TeamMemberTypeEnum.moderator)
def is_member_admin(self, member: discord.Member) -> bool:
return self._has_member_role(member, TeamMemberTypeEnum.admin)
return member in self.get_admins(member.guild.id)
def is_member_moderator(self, member: discord.Member) -> bool:
return self._has_member_role(member, TeamMemberTypeEnum.moderator) or self._has_member_role(
member, TeamMemberTypeEnum.admin
)
return member in self.get_admins(member.guild.id) or member in self.get_moderators(member.guild.id)
def is_member_technician(self, member: discord.Member) -> bool:
if member is None or member.guild is None:
return False
self._logger.debug(__name__, f"Checking is member {member.name} technician")
try:
tech_config = self._technician_configs.get_technician_config()
if member.id in tech_config.technician_ids:
return True
except Exception as e:
self._logger.error(__name__, "Permission check failed", e)
return False
config = self._technician_configs.get_technician_config()
return str(member.id) in config.technician_ids.select(lambda x: str(x))

View File

@@ -15,7 +15,7 @@ __title__ = "modules.short_role_name"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -15,7 +15,7 @@ __title__ = "modules.short_role_name.events"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -15,7 +15,7 @@ __title__ = "modules.short_role_name.service"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -15,7 +15,7 @@ __title__ = "modules.technician"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports:
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -15,7 +15,7 @@ __title__ = "modules.technician.command"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
__version__ = "1.1.10"
__version__ = "1.1.9"
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports:
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="1", minor="1", micro="10")
version_info = VersionInfo(major="1", minor="1", micro="9")

View File

@@ -4,7 +4,7 @@
"Version": {
"Major": "1",
"Minor": "1",
"Micro": "10"
"Micro": "9"
},
"Author": "",
"AuthorEmail": "",

View File

@@ -4,7 +4,7 @@
"Version": {
"Major": "1",
"Minor": "1",
"Micro": "10"
"Micro": "9"
},
"Author": "Sven Heidemann",
"AuthorEmail": "sven.heidemann@sh-edraft.de",

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