Finished auto role filter #162
This commit is contained in:
@@ -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}'
|
||||
|
@@ -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
|
||||
|
||||
|
Reference in New Issue
Block a user