Compare commits
	
		
			3 Commits
		
	
	
		
			1.1.2
			...
			9e0905d49e
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 9e0905d49e | |||
| 3c0719f50e | |||
| 77d3668a06 | 
| @@ -4,7 +4,7 @@ | ||||
|     "Version": { | ||||
|       "Major": "1", | ||||
|       "Minor": "1", | ||||
|       "Micro": "2" | ||||
|       "Micro": "3" | ||||
|     }, | ||||
|     "Author": "Sven Heidemann", | ||||
|     "AuthorEmail": "sven.heidemann@sh-edraft.de", | ||||
|   | ||||
| @@ -12,6 +12,7 @@ from bot_data.migration.auto_role_migration import AutoRoleMigration | ||||
| from bot_data.migration.config_feature_flags_migration import ConfigFeatureFlagsMigration | ||||
| from bot_data.migration.config_migration import ConfigMigration | ||||
| from bot_data.migration.db_history_migration import DBHistoryMigration | ||||
| from bot_data.migration.default_role_migration import DefaultRoleMigration | ||||
| from bot_data.migration.initial_migration import InitialMigration | ||||
| from bot_data.migration.level_migration import LevelMigration | ||||
| from bot_data.migration.remove_stats_migration import RemoveStatsMigration | ||||
| @@ -48,3 +49,4 @@ class StartupMigrationExtension(StartupExtensionABC): | ||||
|         services.add_transient(MigrationABC, AchievementsMigration)  # 14.06.2023 #268 - 1.1.0 | ||||
|         services.add_transient(MigrationABC, ConfigMigration)  # 19.07.2023 #127 - 1.1.0 | ||||
|         services.add_transient(MigrationABC, ConfigFeatureFlagsMigration)  # 15.08.2023 #334 - 1.1.0 | ||||
|         services.add_transient(MigrationABC, DefaultRoleMigration)  # 24.09.2023 #360 - 1.1.3 | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
|     "Version": { | ||||
|       "Major": "1", | ||||
|       "Minor": "1", | ||||
|       "Micro": "2" | ||||
|       "Micro": "3" | ||||
|     }, | ||||
|     "Author": "", | ||||
|     "AuthorEmail": "", | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
|     "Version": { | ||||
|       "Major": "1", | ||||
|       "Minor": "1", | ||||
|       "Micro": "2" | ||||
|       "Micro": "3" | ||||
|     }, | ||||
|     "Author": "Sven Heidemann", | ||||
|     "AuthorEmail": "sven.heidemann@sh-edraft.de", | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
|     "Version": { | ||||
|       "Major": "1", | ||||
|       "Minor": "1", | ||||
|       "Micro": "2" | ||||
|       "Micro": "3" | ||||
|     }, | ||||
|     "Author": "Sven Heidemann", | ||||
|     "AuthorEmail": "sven.heidemann@sh-edraft.de", | ||||
|   | ||||
							
								
								
									
										34
									
								
								kdb-bot/src/bot_data/migration/default_role_migration.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								kdb-bot/src/bot_data/migration/default_role_migration.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,34 @@ | ||||
| from bot_core.logging.database_logger import DatabaseLogger | ||||
| from bot_data.abc.migration_abc import MigrationABC | ||||
| from bot_data.db_context import DBContext | ||||
|  | ||||
|  | ||||
| class DefaultRoleMigration(MigrationABC): | ||||
|     name = "1.1.3_DefaultRoleMigration" | ||||
|  | ||||
|     def __init__(self, logger: DatabaseLogger, db: DBContext): | ||||
|         MigrationABC.__init__(self) | ||||
|         self._logger = logger | ||||
|         self._db = db | ||||
|         self._cursor = db.cursor | ||||
|  | ||||
|     def upgrade(self): | ||||
|         self._logger.debug(__name__, "Running upgrade") | ||||
|  | ||||
|         self._cursor.execute( | ||||
|             str( | ||||
|                 f""" | ||||
|                     ALTER TABLE CFG_Server | ||||
|                     ADD DefaultRoleId BIGINT NULL AFTER LoginMessageChannelId; | ||||
|                 """ | ||||
|             ) | ||||
|         ) | ||||
|  | ||||
|     def downgrade(self): | ||||
|         self._cursor.execute( | ||||
|             str( | ||||
|                 f""" | ||||
|                     ALTER TABLE CFG_Server DROP COLUMN DefaultRoleId; | ||||
|                 """ | ||||
|             ) | ||||
|         ) | ||||
| @@ -26,6 +26,7 @@ class ServerConfig(TableABC, ConfigurationModelABC): | ||||
|         help_voice_channel_id: int, | ||||
|         team_channel_id: int, | ||||
|         login_message_channel_id: int, | ||||
|         default_role_id: int, | ||||
|         feature_flags: dict[FeatureFlagsEnum], | ||||
|         server: Server, | ||||
|         afk_channel_ids: List[int], | ||||
| @@ -48,6 +49,7 @@ class ServerConfig(TableABC, ConfigurationModelABC): | ||||
|         self._help_voice_channel_id = help_voice_channel_id | ||||
|         self._team_channel_id = team_channel_id | ||||
|         self._login_message_channel_id = login_message_channel_id | ||||
|         self._default_role_id = default_role_id | ||||
|         self._feature_flags = feature_flags | ||||
|         self._server = server | ||||
|         self._afk_channel_ids = afk_channel_ids | ||||
| @@ -165,6 +167,14 @@ class ServerConfig(TableABC, ConfigurationModelABC): | ||||
|     def login_message_channel_id(self, value: int): | ||||
|         self._login_message_channel_id = value | ||||
|  | ||||
|     @property | ||||
|     def default_role_id(self) -> int: | ||||
|         return self._default_role_id | ||||
|  | ||||
|     @default_role_id.setter | ||||
|     def default_role_id(self, value: int): | ||||
|         self._default_role_id = value | ||||
|  | ||||
|     @property | ||||
|     def feature_flags(self) -> dict[FeatureFlagsEnum]: | ||||
|         return self._feature_flags | ||||
| @@ -237,6 +247,7 @@ class ServerConfig(TableABC, ConfigurationModelABC): | ||||
|                     `HelpVoiceChannelId`, | ||||
|                     `TeamChannelId`, | ||||
|                     `LoginMessageChannelId`, | ||||
|                     `DefaultRoleId`, | ||||
|                     `FeatureFlags`, | ||||
|                     `ServerId` | ||||
|                 ) VALUES ( | ||||
| @@ -253,6 +264,7 @@ class ServerConfig(TableABC, ConfigurationModelABC): | ||||
|                     {self._help_voice_channel_id}, | ||||
|                     {self._team_channel_id}, | ||||
|                     {self._login_message_channel_id}, | ||||
|                     {self._default_role_id}, | ||||
|                     '{json.dumps(self._feature_flags)}', | ||||
|                     {self._server.id} | ||||
|                 ); | ||||
| @@ -277,6 +289,7 @@ class ServerConfig(TableABC, ConfigurationModelABC): | ||||
|                 `HelpVoiceChannelId` = {self._help_voice_channel_id}, | ||||
|                 `TeamChannelId` = {self._team_channel_id}, | ||||
|                 `LoginMessageChannelId` = {self._login_message_channel_id}, | ||||
|                 `DefaultRoleId` = {self._default_role_id}, | ||||
|                 `FeatureFlags` = '{json.dumps(self._feature_flags)}', | ||||
|                 `ServerId` = {self._server.id} | ||||
|                 WHERE `Id` = {self._id}; | ||||
|   | ||||
| @@ -17,6 +17,7 @@ class ServerConfigHistory(HistoryTableABC): | ||||
|         help_voice_channel_id: int, | ||||
|         team_channel_id: int, | ||||
|         login_message_channel_id: int, | ||||
|         default_role_id: int, | ||||
|         feature_flags: dict[str], | ||||
|         server_id: int, | ||||
|         deleted: bool, | ||||
| @@ -40,6 +41,7 @@ class ServerConfigHistory(HistoryTableABC): | ||||
|         self._help_voice_channel_id = help_voice_channel_id | ||||
|         self._team_channel_id = team_channel_id | ||||
|         self._login_message_channel_id = login_message_channel_id | ||||
|         self._default_role_id = default_role_id | ||||
|         self._feature_flags = feature_flags | ||||
|         self._server_id = server_id | ||||
|  | ||||
| @@ -99,6 +101,10 @@ class ServerConfigHistory(HistoryTableABC): | ||||
|     def login_message_channel_id(self) -> int: | ||||
|         return self._login_message_channel_id | ||||
|  | ||||
|     @property | ||||
|     def default_role_id(self) -> int: | ||||
|         return self._default_role_id | ||||
|  | ||||
|     @property | ||||
|     def feature_flags(self) -> dict[str]: | ||||
|         return self._feature_flags | ||||
|   | ||||
| @@ -64,12 +64,13 @@ class ServerConfigRepositoryService(ServerConfigRepositoryABC): | ||||
|             result[11], | ||||
|             result[12], | ||||
|             result[13], | ||||
|             json.loads(result[14]), | ||||
|             self._servers.get_server_by_id(result[15]), | ||||
|             self._get_afk_channel_ids(result[15]), | ||||
|             self._get_team_role_ids(result[15]), | ||||
|             result[16], | ||||
|             result[14], | ||||
|             json.loads(result[15]), | ||||
|             self._servers.get_server_by_id(result[16]), | ||||
|             self._get_afk_channel_ids(result[16]), | ||||
|             self._get_team_role_ids(result[16]), | ||||
|             result[17], | ||||
|             result[18], | ||||
|             id=result[0], | ||||
|         ) | ||||
|  | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
|     "Version": { | ||||
|       "Major": "1", | ||||
|       "Minor": "1", | ||||
|       "Micro": "2" | ||||
|       "Micro": "3" | ||||
|     }, | ||||
|     "Author": "Sven Heidemann", | ||||
|     "AuthorEmail": "sven.heidemann@sh-edraft.de", | ||||
|   | ||||
| @@ -13,6 +13,7 @@ type ServerConfig implements TableWithHistoryQuery { | ||||
|     helpVoiceChannelId: String | ||||
|     teamChannelId: String | ||||
|     loginMessageChannelId: String | ||||
|     defaultRoleId: String | ||||
|     featureFlagCount: Int | ||||
|     featureFlags: [FeatureFlag] | ||||
|  | ||||
| @@ -43,6 +44,7 @@ type ServerConfigHistory implements HistoryTableQuery { | ||||
|     helpVoiceChannelId: String | ||||
|     teamChannelId: String | ||||
|     loginMessageChannelId: String | ||||
|     defaultRoleId: String | ||||
|     featureFlagCount: Int | ||||
|     featureFlags: [FeatureFlag] | ||||
|  | ||||
| @@ -91,6 +93,7 @@ input ServerConfigInput { | ||||
|     helpVoiceChannelId: String | ||||
|     teamChannelId: String | ||||
|     loginMessageChannelId: String | ||||
|     defaultRoleId: String | ||||
|     featureFlags: [FeatureFlagInput] | ||||
|  | ||||
|     afkChannelIds: [String] | ||||
|   | ||||
| @@ -89,6 +89,9 @@ class ServerConfigMutation(QueryABC): | ||||
|             if "loginMessageChannelId" in input | ||||
|             else server_config.login_message_channel_id | ||||
|         ) | ||||
|         server_config.default_role_id = ( | ||||
|             input["defaultRoleId"] if "defaultRoleId" in input else server_config.default_role_id | ||||
|         ) | ||||
|         server_config.feature_flags = ( | ||||
|             dict(zip([x["key"] for x in input["featureFlags"]], [x["value"] for x in input["featureFlags"]])) | ||||
|             if "featureFlags" in input | ||||
|   | ||||
| @@ -24,6 +24,7 @@ class ServerConfigQuery(DataQueryWithHistoryABC): | ||||
|         self.set_field("helpVoiceChannelId", lambda config, *_: config.help_voice_channel_id) | ||||
|         self.set_field("teamChannelId", lambda config, *_: config.team_channel_id) | ||||
|         self.set_field("loginMessageChannelId", lambda config, *_: config.login_message_channel_id) | ||||
|         self.set_field("defaultRoleId", lambda config, *_: config.default_role_id) | ||||
|         self.add_collection( | ||||
|             "featureFlag", | ||||
|             lambda config, *_: List(any, [{"key": x, "value": config.feature_flags[x]} for x in config.feature_flags]), | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
|     "Version": { | ||||
|       "Major": "1", | ||||
|       "Minor": "1", | ||||
|       "Micro": "2" | ||||
|       "Micro": "3" | ||||
|     }, | ||||
|     "Author": "Sven Heidemann", | ||||
|     "AuthorEmail": "sven.heidemann@sh-edraft.de", | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
|     "Version": { | ||||
|       "Major": "1", | ||||
|       "Minor": "1", | ||||
|       "Micro": "2" | ||||
|       "Micro": "3" | ||||
|     }, | ||||
|     "Author": "", | ||||
|     "AuthorEmail": "", | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
|     "Version": { | ||||
|       "Major": "1", | ||||
|       "Minor": "1", | ||||
|       "Micro": "2" | ||||
|       "Micro": "3" | ||||
|     }, | ||||
|     "Author": "", | ||||
|     "AuthorEmail": "", | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
|     "Version": { | ||||
|       "Major": "1", | ||||
|       "Minor": "1", | ||||
|       "Micro": "2" | ||||
|       "Micro": "3" | ||||
|     }, | ||||
|     "Author": "", | ||||
|     "AuthorEmail": "", | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
|     "Version": { | ||||
|       "Major": "1", | ||||
|       "Minor": "1", | ||||
|       "Micro": "2" | ||||
|       "Micro": "3" | ||||
|     }, | ||||
|     "Author": "", | ||||
|     "AuthorEmail": "", | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
|     "Version": { | ||||
|       "Major": "1", | ||||
|       "Minor": "1", | ||||
|       "Micro": "2" | ||||
|       "Micro": "3" | ||||
|     }, | ||||
|     "Author": "Sven Heidemann", | ||||
|     "AuthorEmail": "sven.heidemann@sh-edraft.de", | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
|     "Version": { | ||||
|       "Major": "1", | ||||
|       "Minor": "1", | ||||
|       "Micro": "2" | ||||
|       "Micro": "3" | ||||
|     }, | ||||
|     "Author": "", | ||||
|     "AuthorEmail": "", | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
|     "Version": { | ||||
|       "Major": "1", | ||||
|       "Minor": "1", | ||||
|       "Micro": "2" | ||||
|       "Micro": "3" | ||||
|     }, | ||||
|     "Author": "", | ||||
|     "AuthorEmail": "", | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
|     "Version": { | ||||
|       "Major": "1", | ||||
|       "Minor": "1", | ||||
|       "Micro": "2" | ||||
|       "Micro": "3" | ||||
|     }, | ||||
|     "Author": "", | ||||
|     "AuthorEmail": "", | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
|     "Version": { | ||||
|       "Major": "1", | ||||
|       "Minor": "1", | ||||
|       "Micro": "2" | ||||
|       "Micro": "3" | ||||
|     }, | ||||
|     "Author": "Sven Heidemann", | ||||
|     "AuthorEmail": "sven.heidemann@sh-edraft.de", | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
|     "Version": { | ||||
|       "Major": "1", | ||||
|       "Minor": "1", | ||||
|       "Micro": "2" | ||||
|       "Micro": "3" | ||||
|     }, | ||||
|     "Author": "Sven Heidemann", | ||||
|     "AuthorEmail": "sven.heidemann@sh-edraft.de", | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
|     "Version": { | ||||
|       "Major": "1", | ||||
|       "Minor": "1", | ||||
|       "Micro": "2" | ||||
|       "Micro": "3" | ||||
|     }, | ||||
|     "Author": "Sven Heidemann", | ||||
|     "AuthorEmail": "sven.heidemann@sh-edraft.de", | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
|     "Version": { | ||||
|       "Major": "1", | ||||
|       "Minor": "1", | ||||
|       "Micro": "2" | ||||
|       "Micro": "3" | ||||
|     }, | ||||
|     "Author": "Sven Heidemann", | ||||
|     "AuthorEmail": "sven.heidemann@sh-edraft.de", | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| { | ||||
|     "name": "kdb-web", | ||||
|     "version": "1.1.1", | ||||
|     "version": "1.1.dev360", | ||||
|     "scripts": { | ||||
|         "ng": "ng", | ||||
|         "update-version": "ts-node update-version.ts", | ||||
| @@ -51,4 +51,4 @@ | ||||
|         "tslib": "^2.4.1", | ||||
|         "typescript": "~4.9.5" | ||||
|     } | ||||
| } | ||||
| } | ||||
| @@ -16,6 +16,7 @@ export interface ServerConfig extends DataWithHistory { | ||||
|   helpVoiceChannelId?: string; | ||||
|   teamChannelId?: string; | ||||
|   loginMessageChannelId?: string; | ||||
|   defaultRoleId?: string; | ||||
|   featureFlags: FeatureFlag[]; | ||||
|   afkChannelIds: string[]; | ||||
|   moderatorRoleIds: string[]; | ||||
|   | ||||
| @@ -211,6 +211,7 @@ export class Mutations { | ||||
|       $helpVoiceChannelId: String, | ||||
|       $teamChannelId: String, | ||||
|       $loginMessageChannelId: String, | ||||
|       $defaultRoleId: String, | ||||
|       $featureFlags: [FeatureFlagInput], | ||||
|       $afkChannelIds: [String], | ||||
|       $moderatorRoleIds: [String], | ||||
| @@ -232,6 +233,7 @@ export class Mutations { | ||||
|             helpVoiceChannelId: $helpVoiceChannelId, | ||||
|             teamChannelId: $teamChannelId, | ||||
|             loginMessageChannelId: $loginMessageChannelId, | ||||
|             defaultRoleId: $defaultRoleId, | ||||
|             featureFlags: $featureFlags, | ||||
|             afkChannelIds: $afkChannelIds, | ||||
|             moderatorRoleIds: $moderatorRoleIds, | ||||
|   | ||||
| @@ -424,6 +424,7 @@ export class Queries { | ||||
|           helpVoiceChannelId | ||||
|           teamChannelId | ||||
|           loginMessageChannelId | ||||
|           defaultRoleId | ||||
|           featureFlags { | ||||
|             key | ||||
|             value | ||||
|   | ||||
| @@ -114,6 +114,14 @@ | ||||
|       </div> | ||||
|     </div> | ||||
|  | ||||
|     <div class="content-row"> | ||||
|       <div class="content-column"> | ||||
|         <div class="content-data-name">{{'view.server.config.bot.login_message_channel_id' | translate}}:</div> | ||||
|         <p-dropdown class="content-data-value" [options]="roles ?? []" optionLabel="name" optionValue="id" [(ngModel)]="config.defaultRoleId" | ||||
|                     placeholder="{{'view.server.config.bot.default_role_id' | translate}}"></p-dropdown> | ||||
|       </div> | ||||
|     </div> | ||||
|  | ||||
|     <div class="content-divider"></div> | ||||
|     <app-config-list [options]="voiceChannels" optionLabel="name" optionValue="id" translationKey="view.server.config.bot.afk_channels" | ||||
|                      [(data)]="config.afkChannelIds"></app-config-list> | ||||
|   | ||||
| @@ -118,6 +118,7 @@ export class ConfigComponent implements OnInit { | ||||
|         helpVoiceChannelId: this.config.helpVoiceChannelId, | ||||
|         teamChannelId: this.config.teamChannelId, | ||||
|         loginMessageChannelId: this.config.loginMessageChannelId, | ||||
|         defaultRoleId: this.config.defaultRoleId, | ||||
|         featureFlags: this.config.featureFlags, | ||||
|         afkChannelIds: this.config.afkChannelIds, | ||||
|         moderatorRoleIds: this.config.moderatorRoleIds, | ||||
|   | ||||
| @@ -415,6 +415,7 @@ | ||||
|           "header": "Bot Konfiguration", | ||||
|           "help_voice_channel_id": "Sprachkanal für Hilfsbenachrichtung", | ||||
|           "login_message_channel_id": "Kanal für die Nachricht vom Bot nach Start", | ||||
|           "default_role_id": "Standardrolle des Servers", | ||||
|           "max_message_xp_per_hour": "Maximale XP pro Stunde durch Nachrichten", | ||||
|           "max_voice_state_hours": "Maximale Stunden für eine ontime nach Bot neustart", | ||||
|           "message_delete_timer": "Zeit bis zum löschen einer Botnachricht in sekunden", | ||||
|   | ||||
| @@ -2,6 +2,6 @@ | ||||
|     "WebVersion": { | ||||
|         "Major": "1", | ||||
|         "Minor": "1", | ||||
|         "Micro": "1" | ||||
|         "Micro": "dev360" | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user