Added default role handling #360

This commit is contained in:
Sven Heidemann 2023-09-24 16:43:16 +02:00
parent 3c0719f50e
commit 9e0905d49e
13 changed files with 30 additions and 8 deletions

View File

@ -4,7 +4,7 @@ from bot_data.db_context import DBContext
class DefaultRoleMigration(MigrationABC): class DefaultRoleMigration(MigrationABC):
name = "1.1.3_ConfigMigration" name = "1.1.3_DefaultRoleMigration"
def __init__(self, logger: DatabaseLogger, db: DBContext): def __init__(self, logger: DatabaseLogger, db: DBContext):
MigrationABC.__init__(self) MigrationABC.__init__(self)

View File

@ -247,6 +247,7 @@ class ServerConfig(TableABC, ConfigurationModelABC):
`HelpVoiceChannelId`, `HelpVoiceChannelId`,
`TeamChannelId`, `TeamChannelId`,
`LoginMessageChannelId`, `LoginMessageChannelId`,
`DefaultRoleId`,
`FeatureFlags`, `FeatureFlags`,
`ServerId` `ServerId`
) VALUES ( ) VALUES (
@ -263,6 +264,7 @@ class ServerConfig(TableABC, ConfigurationModelABC):
{self._help_voice_channel_id}, {self._help_voice_channel_id},
{self._team_channel_id}, {self._team_channel_id},
{self._login_message_channel_id}, {self._login_message_channel_id},
{self._default_role_id},
'{json.dumps(self._feature_flags)}', '{json.dumps(self._feature_flags)}',
{self._server.id} {self._server.id}
); );
@ -287,6 +289,7 @@ class ServerConfig(TableABC, ConfigurationModelABC):
`HelpVoiceChannelId` = {self._help_voice_channel_id}, `HelpVoiceChannelId` = {self._help_voice_channel_id},
`TeamChannelId` = {self._team_channel_id}, `TeamChannelId` = {self._team_channel_id},
`LoginMessageChannelId` = {self._login_message_channel_id}, `LoginMessageChannelId` = {self._login_message_channel_id},
`DefaultRoleId` = {self._default_role_id},
`FeatureFlags` = '{json.dumps(self._feature_flags)}', `FeatureFlags` = '{json.dumps(self._feature_flags)}',
`ServerId` = {self._server.id} `ServerId` = {self._server.id}
WHERE `Id` = {self._id}; WHERE `Id` = {self._id};

View File

@ -67,10 +67,10 @@ class ServerConfigRepositoryService(ServerConfigRepositoryABC):
result[14], result[14],
json.loads(result[15]), json.loads(result[15]),
self._servers.get_server_by_id(result[16]), self._servers.get_server_by_id(result[16]),
self._get_afk_channel_ids(result[17]), self._get_afk_channel_ids(result[16]),
self._get_team_role_ids(result[18]), self._get_team_role_ids(result[16]),
result[19], result[17],
result[20], result[18],
id=result[0], id=result[0],
) )

View File

@ -44,6 +44,7 @@ type ServerConfigHistory implements HistoryTableQuery {
helpVoiceChannelId: String helpVoiceChannelId: String
teamChannelId: String teamChannelId: String
loginMessageChannelId: String loginMessageChannelId: String
defaultRoleId: String
featureFlagCount: Int featureFlagCount: Int
featureFlags: [FeatureFlag] featureFlags: [FeatureFlag]
@ -92,6 +93,7 @@ input ServerConfigInput {
helpVoiceChannelId: String helpVoiceChannelId: String
teamChannelId: String teamChannelId: String
loginMessageChannelId: String loginMessageChannelId: String
defaultRoleId: String
featureFlags: [FeatureFlagInput] featureFlags: [FeatureFlagInput]
afkChannelIds: [String] afkChannelIds: [String]

View File

@ -89,6 +89,9 @@ class ServerConfigMutation(QueryABC):
if "loginMessageChannelId" in input if "loginMessageChannelId" in input
else server_config.login_message_channel_id 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 = ( server_config.feature_flags = (
dict(zip([x["key"] for x in input["featureFlags"]], [x["value"] for x in input["featureFlags"]])) dict(zip([x["key"] for x in input["featureFlags"]], [x["value"] for x in input["featureFlags"]]))
if "featureFlags" in input if "featureFlags" in input

View File

@ -1,6 +1,6 @@
{ {
"name": "kdb-web", "name": "kdb-web",
"version": "1.1.1", "version": "1.1.dev360",
"scripts": { "scripts": {
"ng": "ng", "ng": "ng",
"update-version": "ts-node update-version.ts", "update-version": "ts-node update-version.ts",

View File

@ -16,6 +16,7 @@ export interface ServerConfig extends DataWithHistory {
helpVoiceChannelId?: string; helpVoiceChannelId?: string;
teamChannelId?: string; teamChannelId?: string;
loginMessageChannelId?: string; loginMessageChannelId?: string;
defaultRoleId?: string;
featureFlags: FeatureFlag[]; featureFlags: FeatureFlag[];
afkChannelIds: string[]; afkChannelIds: string[];
moderatorRoleIds: string[]; moderatorRoleIds: string[];

View File

@ -211,6 +211,7 @@ export class Mutations {
$helpVoiceChannelId: String, $helpVoiceChannelId: String,
$teamChannelId: String, $teamChannelId: String,
$loginMessageChannelId: String, $loginMessageChannelId: String,
$defaultRoleId: String,
$featureFlags: [FeatureFlagInput], $featureFlags: [FeatureFlagInput],
$afkChannelIds: [String], $afkChannelIds: [String],
$moderatorRoleIds: [String], $moderatorRoleIds: [String],
@ -232,6 +233,7 @@ export class Mutations {
helpVoiceChannelId: $helpVoiceChannelId, helpVoiceChannelId: $helpVoiceChannelId,
teamChannelId: $teamChannelId, teamChannelId: $teamChannelId,
loginMessageChannelId: $loginMessageChannelId, loginMessageChannelId: $loginMessageChannelId,
defaultRoleId: $defaultRoleId,
featureFlags: $featureFlags, featureFlags: $featureFlags,
afkChannelIds: $afkChannelIds, afkChannelIds: $afkChannelIds,
moderatorRoleIds: $moderatorRoleIds, moderatorRoleIds: $moderatorRoleIds,

View File

@ -424,6 +424,7 @@ export class Queries {
helpVoiceChannelId helpVoiceChannelId
teamChannelId teamChannelId
loginMessageChannelId loginMessageChannelId
defaultRoleId
featureFlags { featureFlags {
key key
value value

View File

@ -114,6 +114,14 @@
</div> </div>
</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> <div class="content-divider"></div>
<app-config-list [options]="voiceChannels" optionLabel="name" optionValue="id" translationKey="view.server.config.bot.afk_channels" <app-config-list [options]="voiceChannels" optionLabel="name" optionValue="id" translationKey="view.server.config.bot.afk_channels"
[(data)]="config.afkChannelIds"></app-config-list> [(data)]="config.afkChannelIds"></app-config-list>

View File

@ -118,6 +118,7 @@ export class ConfigComponent implements OnInit {
helpVoiceChannelId: this.config.helpVoiceChannelId, helpVoiceChannelId: this.config.helpVoiceChannelId,
teamChannelId: this.config.teamChannelId, teamChannelId: this.config.teamChannelId,
loginMessageChannelId: this.config.loginMessageChannelId, loginMessageChannelId: this.config.loginMessageChannelId,
defaultRoleId: this.config.defaultRoleId,
featureFlags: this.config.featureFlags, featureFlags: this.config.featureFlags,
afkChannelIds: this.config.afkChannelIds, afkChannelIds: this.config.afkChannelIds,
moderatorRoleIds: this.config.moderatorRoleIds, moderatorRoleIds: this.config.moderatorRoleIds,

View File

@ -415,6 +415,7 @@
"header": "Bot Konfiguration", "header": "Bot Konfiguration",
"help_voice_channel_id": "Sprachkanal für Hilfsbenachrichtung", "help_voice_channel_id": "Sprachkanal für Hilfsbenachrichtung",
"login_message_channel_id": "Kanal für die Nachricht vom Bot nach Start", "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_message_xp_per_hour": "Maximale XP pro Stunde durch Nachrichten",
"max_voice_state_hours": "Maximale Stunden für eine ontime nach Bot neustart", "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", "message_delete_timer": "Zeit bis zum löschen einer Botnachricht in sekunden",

View File

@ -2,6 +2,6 @@
"WebVersion": { "WebVersion": {
"Major": "1", "Major": "1",
"Minor": "1", "Minor": "1",
"Micro": "1" "Micro": "dev360"
} }
} }