Finished auto role filter #162

This commit is contained in:
2023-02-07 18:53:28 +01:00
parent eb58c34c4d
commit 3f7cfc47af
8 changed files with 62 additions and 23 deletions

View File

@@ -1,13 +1,14 @@
from datetime import datetime
from typing import Optional
from cpl_core.database import TableABC
from bot_data.model.auto_role import AutoRole
class AutoRoleRule(TableABC):
def __init__(
self,
auto_role_id: int,
auto_role: AutoRole,
discord_emoji_name: str,
discord_role_id: int,
created_at: datetime = None,
@@ -15,7 +16,7 @@ class AutoRoleRule(TableABC):
id=0,
):
self._auto_role_rule_id = id
self._auto_role_id = auto_role_id
self._auto_role = auto_role
self._discord_emoji_name = discord_emoji_name
self._discord_role_id = discord_role_id
@@ -28,8 +29,8 @@ class AutoRoleRule(TableABC):
return self._auto_role_rule_id
@property
def auto_role_id(self) -> int:
return self._auto_role_id
def auto_role(self) -> AutoRole:
return self._auto_role
@property
def emoji_name(self) -> str:
@@ -72,7 +73,7 @@ class AutoRoleRule(TableABC):
INSERT INTO `AutoRoleRules` (
`AutoRoleId`, `DiscordEmojiName`, `DiscordRoleId`, `CreatedAt`, `LastModifiedAt`
) VALUES (
{self._auto_role_id},
{self._auto_role},
'{self._discord_emoji_name}',
{self._discord_role_id},
'{self._created_at}',
@@ -86,7 +87,7 @@ class AutoRoleRule(TableABC):
return str(
f"""
UPDATE `AutoRoleRules`
SET `AutoRoleId` = {self._auto_role_id},
SET `AutoRoleId` = {self._auto_role},
`DiscordEmojiName` = {self._discord_emoji_name},
`DiscordRoleId` = {self._discord_role_id},
`LastModifiedAt` = '{self._modified_at}'

View File

@@ -105,14 +105,20 @@ class AutoRoleRepositoryService(AutoRoleRepositoryABC):
self._logger.trace(__name__, f"Send SQL command: {AutoRoleRule.get_select_all_string()}")
results = self._context.select(AutoRoleRule.get_select_all_string())
for result in results:
auto_role_rules.append(AutoRoleRule(result[1], result[2], result[3], result[4], result[5], id=result[0]))
auto_role_rules.append(
AutoRoleRule(
self.get_auto_role_by_id(result[1]), result[2], result[3], result[4], result[5], id=result[0]
)
)
return auto_role_rules
def get_auto_role_rule_by_id(self, id: int) -> AutoRoleRule:
self._logger.trace(__name__, f"Send SQL command: {AutoRoleRule.get_select_by_id_string(id)}")
result = self._context.select(AutoRoleRule.get_select_by_id_string(id))[0]
return AutoRoleRule(result[1], result[2], result[3], result[4], result[5], id=result[0])
return AutoRoleRule(
self.get_auto_role_by_id(result[1]), result[2], result[3], result[4], result[5], id=result[0]
)
def get_auto_role_rules_by_auto_role_id(self, id: int) -> List[AutoRoleRule]:
auto_role_rules = List(AutoRoleRule)
@@ -122,7 +128,11 @@ class AutoRoleRepositoryService(AutoRoleRepositoryABC):
)
results = self._context.select(AutoRoleRule.get_select_by_auto_role_id_string(id))
for result in results:
auto_role_rules.append(AutoRoleRule(result[1], result[2], result[3], result[4], result[5], id=result[0]))
auto_role_rules.append(
AutoRoleRule(
self.get_auto_role_by_id(result[1]), result[2], result[3], result[4], result[5], id=result[0]
)
)
return auto_role_rules