Formatted stuff #405

This commit is contained in:
2023-10-15 11:30:29 +02:00
parent 3a7daf8b42
commit be6361f619
226 changed files with 1083 additions and 3252 deletions

View File

@@ -24,11 +24,7 @@ class FilterABC(ABC):
sig = signature(f)
for param in sig.parameters.items():
parameter = param[1]
if (
parameter.name == "self"
or parameter.name == "cls"
or parameter.annotation == Parameter.empty
):
if parameter.name == "self" or parameter.name == "cls" or parameter.annotation == Parameter.empty:
continue
if issubclass(parameter.annotation, FilterABC):
@@ -38,9 +34,7 @@ class FilterABC(ABC):
@staticmethod
@ServiceProviderABC.inject
def get_collection_filter(
filter_type: type, values: dict, services: ServiceProviderABC
):
def get_collection_filter(filter_type: type, values: dict, services: ServiceProviderABC):
filter: FilterABC = services.get_service(filter_type)
filter.from_dict(values)
return filter

View File

@@ -38,14 +38,10 @@ class QueryABC(ObjectType):
def __init__(self, name: str):
ObjectType.__init__(self, name)
def add_collection(
self, name: str, get_collection: Callable, filter_type: type = None
):
def add_collection(self, name: str, get_collection: Callable, filter_type: type = None):
def wrapper(*args, **kwargs):
if filter_type is not None and "filter" in kwargs:
kwargs["filter"] = FilterABC.get_collection_filter(
filter_type, kwargs["filter"]
)
kwargs["filter"] = FilterABC.get_collection_filter(filter_type, kwargs["filter"])
else:
kwargs["filter"] = None
@@ -98,10 +94,7 @@ class QueryABC(ObjectType):
u: User = u
guild = bot.get_guild(u.server.discord_id)
member = guild.get_member(u.discord_id)
if (
permissions.is_member_moderator(member)
and u.server.id == element.server.id
):
if permissions.is_member_moderator(member) and u.server.id == element.server.id:
access = True
break
@@ -111,10 +104,7 @@ class QueryABC(ObjectType):
u: User = u
guild = bot.get_guild(u.server.discord_id)
member = guild.get_member(u.discord_id)
if (
permissions.is_member_moderator(member)
and u.server.id == element.server.id
):
if permissions.is_member_moderator(member) and u.server.id == element.server.id:
access = True
break
@@ -124,10 +114,7 @@ class QueryABC(ObjectType):
u: User = u
guild = bot.get_guild(u.server.discord_id)
member = guild.get_member(u.discord_id)
if (
permissions.is_member_moderator(member)
and u.server.id == element.auto_role.server.id
):
if permissions.is_member_moderator(member) and u.server.id == element.auto_role.server.id:
access = True
break
@@ -212,18 +199,11 @@ class QueryABC(ObjectType):
u: User = u
guild = bot.get_guild(u.server.discord_id)
member = guild.get_member(u.discord_id)
if (
permissions.is_member_moderator(member)
and u.server.id == element.server.id
):
if permissions.is_member_moderator(member) and u.server.id == element.server.id:
access = True
break
elif (
type(element) == dict
and "key" in element
and element["key"] in [e.value for e in FeatureFlagsEnum]
):
elif type(element) == dict and "key" in element and element["key"] in [e.value for e in FeatureFlagsEnum]:
for u in user.users:
u: User = u
guild = bot.get_guild(u.server.discord_id)
@@ -235,9 +215,7 @@ class QueryABC(ObjectType):
return access
@ServiceProviderABC.inject
def _can_user_mutate_data(
self, server: Server, permission: UserRoleEnum, services: ServiceProviderABC
):
def _can_user_mutate_data(self, server: Server, permission: UserRoleEnum, services: ServiceProviderABC):
permissions: PermissionService = services.get_service(PermissionService)
bot: DiscordBotServiceABC = services.get_service(DiscordBotServiceABC)
@@ -246,9 +224,7 @@ class QueryABC(ObjectType):
return
member = bot.get_guild(server.discord_id).get_member(
auth_user.users.where(lambda x: x.server.id == server.id)
.single()
.discord_id
auth_user.users.where(lambda x: x.server.id == server.id).single().discord_id
)
check_perm = lambda x: True
@@ -261,9 +237,7 @@ class QueryABC(ObjectType):
check_perm = lambda x: permissions.is_member_technician(x)
if not check_perm(member):
ex = ServiceException(
ServiceErrorCode.Forbidden, f"User not allowed to mutate data"
)
ex = ServiceException(ServiceErrorCode.Forbidden, f"User not allowed to mutate data")
raise ex
# @FilterABC.resolve_filter_annotation

View File

@@ -55,16 +55,10 @@ class AchievementFilter(FilterABC):
query = query.where(lambda x: x.name == self._name or self._name in x.name)
if self._description is not None:
query = query.where(
lambda x: x.description == self._description
or self._description in x.description
)
query = query.where(lambda x: x.description == self._description or self._description in x.description)
if self._attribute is not None:
query = query.where(
lambda x: x.attribute == self._attribute
or self._attribute in x.attribute
)
query = query.where(lambda x: x.attribute == self._attribute or self._attribute in x.attribute)
if self._operator is not None:
query = query.where(lambda x: x.operator == self._operator)
@@ -73,9 +67,7 @@ class AchievementFilter(FilterABC):
query = query.where(lambda x: x.value == self._value)
if self._server is not None:
servers = self._server.filter(query.select(lambda x: x.server)).select(
lambda x: x.id
)
servers = self._server.filter(query.select(lambda x: x.server)).select(lambda x: x.id)
query = query.where(lambda x: x.server.id in servers)
return query

View File

@@ -46,26 +46,21 @@ class AutoRoleFilter(FilterABC):
if self._channel_id is not None:
query = query.where(
lambda x: x.discord_channel_id == self._channel_id
or str(self._channel_id) in str(x.discord_channel_id)
lambda x: x.discord_channel_id == self._channel_id or str(self._channel_id) in str(x.discord_channel_id)
)
if self._channel_name is not None:
query = query.where(
lambda x: x.discord_channel_name == self._channel_name
or self._channel_name in x.discord_channel_name
lambda x: x.discord_channel_name == self._channel_name or self._channel_name in x.discord_channel_name
)
if self._message_id is not None:
query = query.where(
lambda x: x.discord_message_id == self._message_id
or str(self._message_id) in str(x.discord_message_id)
lambda x: x.discord_message_id == self._message_id or str(self._message_id) in str(x.discord_message_id)
)
if self._server is not None:
servers = self._server.filter(query.select(lambda x: x.server)).select(
lambda x: x.id
)
servers = self._server.filter(query.select(lambda x: x.server)).select(lambda x: x.id)
query = query.where(lambda x: x.server.id in servers)
return query

View File

@@ -57,9 +57,7 @@ class AutoRoleRuleFilter(FilterABC):
query = query.where(get_role_name)
if self._auto_role is not None:
auto_roles = self._auto_role.filter(
query.select(lambda x: x.game_server)
).select(lambda x: x.id)
auto_roles = self._auto_role.filter(query.select(lambda x: x.game_server)).select(lambda x: x.id)
query = query.where(lambda x: x.game_server.id in auto_roles)
return query

View File

@@ -38,15 +38,10 @@ class ClientFilter(FilterABC):
query = query.where(lambda x: x.id == self._discord_id)
if self._name is not None:
query = query.where(
lambda x: self._name.lower() == x.name.lower()
or self._name.lower() in x.name.lower()
)
query = query.where(lambda x: self._name.lower() == x.name.lower() or self._name.lower() in x.name.lower())
if self._server is not None:
servers = self._server.filter(query.select(lambda x: x.server)).select(
lambda x: x.id
)
servers = self._server.filter(query.select(lambda x: x.server)).select(lambda x: x.id)
query = query.where(lambda x: x.server.id in servers)
return query

View File

@@ -33,15 +33,10 @@ class LevelFilter(FilterABC):
query = query.where(lambda x: x.id == self._id)
if self._name is not None:
query = query.where(
lambda x: self._name.lower() == x.name.lower()
or self._name.lower() in x.name.lower()
)
query = query.where(lambda x: self._name.lower() == x.name.lower() or self._name.lower() in x.name.lower())
if self._server is not None:
servers = self._server.filter(query.select(lambda x: x.server)).select(
lambda x: x.id
)
servers = self._server.filter(query.select(lambda x: x.server)).select(lambda x: x.id)
query = query.where(lambda x: x.server.id in servers)
return query

View File

@@ -32,8 +32,7 @@ class ServerFilter(FilterABC):
if self._discord_id is not None:
query = query.where(
lambda x: x.discord_id == self._discord_id
or str(self._discord_id) in str(x.discord_id)
lambda x: x.discord_id == self._discord_id or str(self._discord_id) in str(x.discord_id)
)
if self._name is not None:
@@ -41,8 +40,7 @@ class ServerFilter(FilterABC):
def where_guild(x: Guild):
guild = bot.get_guild(x.discord_id)
return guild is not None and (
self._name.lower() == guild.name.lower()
or self._name.lower() in guild.name.lower()
self._name.lower() == guild.name.lower() or self._name.lower() in guild.name.lower()
)
query = query.where(where_guild)

View File

@@ -46,10 +46,7 @@ class ShortRoleNameFilter(FilterABC):
query = query.where(lambda x: x.id == self._id)
if self._short_name is not None:
query = query.where(
lambda x: x.short_name == self._short_name
or self._short_name in x.short_name
)
query = query.where(lambda x: x.short_name == self._short_name or self._short_name in x.short_name)
if self._role_id is not None:
query = query.where(lambda x: x.role_id == self._role_id)
@@ -67,9 +64,7 @@ class ShortRoleNameFilter(FilterABC):
query = query.where(lambda x: x.position.value == self._position.value)
if self._server is not None:
servers = self._server.filter(query.select(lambda x: x.server)).select(
lambda x: x.id
)
servers = self._server.filter(query.select(lambda x: x.server)).select(lambda x: x.id)
query = query.where(lambda x: x.server.id in servers)
return query

View File

@@ -73,8 +73,7 @@ class UserFilter(FilterABC):
if self._discord_id is not None:
query = query.where(
lambda x: x.discord_id == self._discord_id
or str(self._discord_id) in str(x.discord_id)
lambda x: x.discord_id == self._discord_id or str(self._discord_id) in str(x.discord_id)
)
if self._name is not None:
@@ -82,9 +81,7 @@ class UserFilter(FilterABC):
def _get_member(user: User):
guild = self._bot.get_guild(user.server.discord_id)
member = guild.get_member(user.discord_id)
return member is not None and (
member.name == self._name or self._name in member.name
)
return member is not None and (member.name == self._name or self._name in member.name)
query = query.where(_get_member)
@@ -92,30 +89,20 @@ class UserFilter(FilterABC):
query = query.where(lambda x: x.xp == self._xp)
if self._ontime is not None:
query = query.where(
lambda x: self._client_utils.get_ontime_for_user(x) == self._ontime
)
query = query.where(lambda x: self._client_utils.get_ontime_for_user(x) == self._ontime)
if self._level is not None:
levels = self._level.filter(
query.select(lambda x: self._levels.get_level(x))
).select(lambda x: x.id)
levels = self._level.filter(query.select(lambda x: self._levels.get_level(x))).select(lambda x: x.id)
query = query.where(lambda x: self._levels.get_level(x).id in levels)
if self._server is not None:
servers = self._server.filter(query.select(lambda x: x.server)).select(
lambda x: x.id
)
servers = self._server.filter(query.select(lambda x: x.server)).select(lambda x: x.id)
query = query.where(lambda x: x.server.id in servers)
if self._left_server is not None:
def _has_user_left_server(user: User):
active_join = (
self._user_joined_servers.find_active_user_joined_server_by_user_id(
user.id
)
)
active_join = self._user_joined_servers.find_active_user_joined_server_by_user_id(user.id)
return (active_join is None) == self._left_server
query = query.where(_has_user_left_server)

View File

@@ -42,9 +42,7 @@ class UserJoinedGameServerFilter(FilterABC):
query = query.where(lambda x: x.game_server == self._game_server)
if self._user is not None:
users = self._user.filter(query.select(lambda x: x.user)).select(
lambda x: x.id
)
users = self._user.filter(query.select(lambda x: x.user)).select(lambda x: x.id)
query = query.where(lambda x: x.user.id in users)
return query

View File

@@ -43,21 +43,13 @@ class UserJoinedServerFilter(FilterABC):
query = query.where(lambda x: x.id == self._id)
if self._user is not None:
users = self._user.filter(query.select(lambda x: x.user)).select(
lambda x: x.id
)
users = self._user.filter(query.select(lambda x: x.user)).select(lambda x: x.id)
query = query.where(lambda x: x.user.id in users)
if self._joined_on is not None:
query = query.where(
lambda x: x.joined_on == self._joined_on
or self._joined_on in x.joined_on
)
query = query.where(lambda x: x.joined_on == self._joined_on or self._joined_on in x.joined_on)
if self._leaved_on is not None:
query = query.where(
lambda x: x.leaved_on == self._leaved_on
or self._leaved_on in x.leaved_on
)
query = query.where(lambda x: x.leaved_on == self._leaved_on or self._leaved_on in x.leaved_on)
return query

View File

@@ -46,9 +46,7 @@ class UserJoinedVoiceChannelFilter(FilterABC):
if "leavedOn" in values:
self._leaved_on = values["leavedOn"]
def filter(
self, query: List[UserJoinedVoiceChannel]
) -> List[UserJoinedVoiceChannel]:
def filter(self, query: List[UserJoinedVoiceChannel]) -> List[UserJoinedVoiceChannel]:
if self._id is not None:
query = query.where(lambda x: x.id == self._id)
@@ -64,21 +62,13 @@ class UserJoinedVoiceChannelFilter(FilterABC):
query = query.where(get_channel_name)
if self._user is not None:
users = self._user.filter(query.select(lambda x: x.user)).select(
lambda x: x.id
)
users = self._user.filter(query.select(lambda x: x.user)).select(lambda x: x.id)
query = query.where(lambda x: x.user.id in users)
if self._joined_on is not None:
query = query.where(
lambda x: x.joined_on == self._joined_on
or self._joined_on in x.joined_on
)
query = query.where(lambda x: x.joined_on == self._joined_on or self._joined_on in x.joined_on)
if self._leaved_on is not None:
query = query.where(
lambda x: x.leaved_on == self._leaved_on
or self._leaved_on in x.leaved_on
)
query = query.where(lambda x: x.leaved_on == self._leaved_on or self._leaved_on in x.leaved_on)
return query

View File

@@ -43,21 +43,14 @@ class UserWarningFilter(FilterABC):
query = query.where(lambda x: x.id == self._id)
if self._user is not None:
users = self._user.filter(query.select(lambda x: x.user)).select(
lambda x: x.id
)
users = self._user.filter(query.select(lambda x: x.user)).select(lambda x: x.id)
query = query.where(lambda x: x.id in users)
if self._description is not None:
query = query.where(
lambda x: x.description == self._description
or self._description in x.description
)
query = query.where(lambda x: x.description == self._description or self._description in x.description)
if self._author is not None:
users = self._author.filter(query.select(lambda x: x.author)).select(
lambda x: x.id
)
users = self._author.filter(query.select(lambda x: x.author)).select(lambda x: x.id)
query = query.where(lambda x: x.id in users)
return query

View File

@@ -95,14 +95,10 @@ class GraphQLModule(ModuleABC):
def __init__(self, dc: DiscordCollectionABC):
ModuleABC.__init__(self, dc, FeatureFlagsEnum.data_module)
def configure_configuration(
self, config: ConfigurationABC, env: ApplicationEnvironmentABC
):
def configure_configuration(self, config: ConfigurationABC, env: ApplicationEnvironmentABC):
pass
def configure_services(
self, services: ServiceCollectionABC, env: ApplicationEnvironmentABC
):
def configure_services(self, services: ServiceCollectionABC, env: ApplicationEnvironmentABC):
services.add_singleton(Schema)
services.add_singleton(GraphQLService)
services.add_singleton(Query)

View File

@@ -55,26 +55,16 @@ class AchievementMutation(QueryABC):
and a.server.id == server.id
)
return (
self._achievements.get_achievements_by_server_id(achievement.server.id)
.where(get_new_achievement)
.last()
)
return self._achievements.get_achievements_by_server_id(achievement.server.id).where(get_new_achievement).last()
def resolve_update_achievement(self, *_, input: dict):
achievement = self._achievements.get_achievement_by_id(input["id"])
self._can_user_mutate_data(achievement.server, UserRoleEnum.moderator)
achievement.name = input["name"] if "name" in input else achievement.name
achievement.description = (
input["description"] if "description" in input else achievement.description
)
achievement.attribute = (
input["attribute"] if "attribute" in input else achievement.attribute
)
achievement.operator = (
input["operator"] if "operator" in input else achievement.operator
)
achievement.description = input["description"] if "description" in input else achievement.description
achievement.attribute = input["attribute"] if "attribute" in input else achievement.attribute
achievement.operator = input["operator"] if "operator" in input else achievement.operator
achievement.value = input["value"] if "value" in input else achievement.value
self._achievements.update_achievement(achievement)

View File

@@ -42,22 +42,14 @@ class AutoRoleMutation(QueryABC):
and x.discord_message_id == int(input["messageId"])
)
return (
self._auto_roles.get_auto_roles_by_server_id(auto_role.server.id)
.where(get_new)
.last()
)
return self._auto_roles.get_auto_roles_by_server_id(auto_role.server.id).where(get_new).last()
def resolve_update_auto_role(self, *_, input: dict):
auto_role = self._auto_roles.get_auto_role_by_id(input["id"])
self._can_user_mutate_data(auto_role.server, UserRoleEnum.moderator)
auto_role.discord_channel_id = (
input["channelId"] if "channelId" in input else auto_role.discord_channel_id
)
auto_role.discord_message_id = (
input["messageId"] if "messageId" in input else auto_role.discord_message_id
)
auto_role.discord_channel_id = input["channelId"] if "channelId" in input else auto_role.discord_channel_id
auto_role.discord_message_id = input["messageId"] if "messageId" in input else auto_role.discord_message_id
self._auto_roles.update_auto_role(auto_role)
self._db.save_changes()

View File

@@ -36,9 +36,7 @@ class AutoRoleRuleMutation(QueryABC):
input["emojiName"],
input["roleId"],
)
self._can_user_mutate_data(
auto_role_rule.auto_role.server, UserRoleEnum.moderator
)
self._can_user_mutate_data(auto_role_rule.auto_role.server, UserRoleEnum.moderator)
self._auto_roles.add_auto_role_rule(auto_role_rule)
self._db.save_changes()
@@ -58,26 +56,14 @@ class AutoRoleRuleMutation(QueryABC):
self._bot.get_guild(auto_role_rule.auto_role.server.discord_id),
)
)
return (
self._auto_roles.get_auto_role_rules_by_auto_role_id(
auto_role_rule.auto_role.id
)
.where(get_new)
.last()
)
return self._auto_roles.get_auto_role_rules_by_auto_role_id(auto_role_rule.auto_role.id).where(get_new).last()
def resolve_update_auto_role_rule(self, *_, input: dict):
auto_role_rule = self._auto_roles.get_auto_role_rule_by_id(input["id"])
self._can_user_mutate_data(
auto_role_rule.auto_role.server, UserRoleEnum.moderator
)
self._can_user_mutate_data(auto_role_rule.auto_role.server, UserRoleEnum.moderator)
auto_role_rule.emoji_name = (
input["emojiName"] if "emojiName" in input else auto_role_rule.emoji_name
)
auto_role_rule.role_id = (
input["roleId"] if "roleId" in input else auto_role_rule.role_id
)
auto_role_rule.emoji_name = input["emojiName"] if "emojiName" in input else auto_role_rule.emoji_name
auto_role_rule.role_id = input["roleId"] if "roleId" in input else auto_role_rule.role_id
self._auto_roles.update_auto_role_rule(auto_role_rule)
self._db.save_changes()
@@ -95,9 +81,7 @@ class AutoRoleRuleMutation(QueryABC):
def resolve_delete_auto_role_rule(self, *_, id: int):
auto_role_rule = self._auto_roles.get_auto_role_rule_by_id(id)
self._can_user_mutate_data(
auto_role_rule.auto_role.server, UserRoleEnum.moderator
)
self._can_user_mutate_data(auto_role_rule.auto_role.server, UserRoleEnum.moderator)
self._auto_roles.delete_auto_role_rule(auto_role_rule)
self._db.save_changes()

View File

@@ -54,11 +54,7 @@ class LevelMutation(QueryABC):
)
self._bot.loop.create_task(self._level_seeder.seed())
return (
self._levels.get_levels_by_server_id(level.server.id)
.where(get_new_level)
.last()
)
return self._levels.get_levels_by_server_id(level.server.id).where(get_new_level).last()
def resolve_update_level(self, *_, input: dict):
level = self._levels.get_level_by_id(input["id"])
@@ -67,9 +63,7 @@ class LevelMutation(QueryABC):
level.name = input["name"] if "name" in input else level.name
level.color = input["color"] if "color" in input else level.color
level.min_xp = input["minXp"] if "minXp" in input else level.min_xp
level.permissions = (
input["permissions"] if "permissions" in input else level.permissions
)
level.permissions = input["permissions"] if "permissions" in input else level.permissions
self._levels.update_level(level)
self._db.save_changes()

View File

@@ -41,44 +41,28 @@ class ServerConfigMutation(QueryABC):
raise ValueError("Id not set")
server_config = self._server_configs.get_server_config_by_id(int(input["id"]))
self._can_user_mutate_data(
Route.get_user().users[0].server, UserRoleEnum.technician
)
self._can_user_mutate_data(Route.get_user().users[0].server, UserRoleEnum.technician)
server_config.message_delete_timer = (
input["messageDeleteTimer"]
if "messageDeleteTimer" in input
else server_config.message_delete_timer
input["messageDeleteTimer"] if "messageDeleteTimer" in input else server_config.message_delete_timer
)
server_config.notification_chat_id = (
input["notificationChatId"]
if "notificationChatId" in input
else server_config.notification_chat_id
input["notificationChatId"] if "notificationChatId" in input else server_config.notification_chat_id
)
server_config.max_voice_state_hours = (
input["maxVoiceStateHours"]
if "maxVoiceStateHours" in input
else server_config.max_voice_state_hours
input["maxVoiceStateHours"] if "maxVoiceStateHours" in input else server_config.max_voice_state_hours
)
server_config.xp_per_message = (
input["xpPerMessage"]
if "xpPerMessage" in input
else server_config.xp_per_message
input["xpPerMessage"] if "xpPerMessage" in input else server_config.xp_per_message
)
server_config.xp_per_reaction = (
input["xpPerReaction"]
if "xpPerReaction" in input
else server_config.xp_per_reaction
input["xpPerReaction"] if "xpPerReaction" in input else server_config.xp_per_reaction
)
server_config.max_message_xp_per_hour = (
input["maxMessageXpPerHour"]
if "maxMessageXpPerHour" in input
else server_config.max_message_xp_per_hour
input["maxMessageXpPerHour"] if "maxMessageXpPerHour" in input else server_config.max_message_xp_per_hour
)
server_config.xp_per_ontime_hour = (
input["xpPerOntimeHour"]
if "xpPerOntimeHour" in input
else server_config.xp_per_ontime_hour
input["xpPerOntimeHour"] if "xpPerOntimeHour" in input else server_config.xp_per_ontime_hour
)
server_config.xp_per_event_participation = (
input["xpPerEventParticipation"]
@@ -86,29 +70,19 @@ class ServerConfigMutation(QueryABC):
else server_config.xp_per_event_participation
)
server_config.xp_per_achievement = (
input["xpPerAchievement"]
if "xpPerAchievement" in input
else server_config.xp_per_achievement
input["xpPerAchievement"] if "xpPerAchievement" in input else server_config.xp_per_achievement
)
server_config.xp_for_birthday = (
input["xpForBirthday"]
if "xpForBirthday" in input
else server_config.xp_for_birthday
input["xpForBirthday"] if "xpForBirthday" in input else server_config.xp_for_birthday
)
server_config.afk_command_channel_id = (
input["afkCommandChannelId"]
if "afkCommandChannelId" in input
else server_config.afk_command_channel_id
input["afkCommandChannelId"] if "afkCommandChannelId" in input else server_config.afk_command_channel_id
)
server_config.help_voice_channel_id = (
input["helpVoiceChannelId"]
if "helpVoiceChannelId" in input
else server_config.help_voice_channel_id
input["helpVoiceChannelId"] if "helpVoiceChannelId" in input else server_config.help_voice_channel_id
)
server_config.team_channel_id = (
input["teamChannelId"]
if "teamChannelId" in input
else server_config.team_channel_id
input["teamChannelId"] if "teamChannelId" in input else server_config.team_channel_id
)
server_config.login_message_channel_id = (
input["loginMessageChannelId"]
@@ -116,9 +90,7 @@ class ServerConfigMutation(QueryABC):
else server_config.login_message_channel_id
)
server_config.default_role_id = (
input["defaultRoleId"]
if "defaultRoleId" in input
else server_config.default_role_id
input["defaultRoleId"] if "defaultRoleId" in input else server_config.default_role_id
)
server_config.short_role_name_only_set_highest_role = (
input["shortRoleNameOnlySetHighestRole"]
@@ -150,33 +122,25 @@ class ServerConfigMutation(QueryABC):
if "moderatorRoleIds" in input:
team_role_ids.extend(
[
ServerTeamRoleIdsConfig(
x, TeamMemberTypeEnum.moderator, server_config.server.id
)
ServerTeamRoleIdsConfig(x, TeamMemberTypeEnum.moderator, server_config.server.id)
for x in input["moderatorRoleIds"]
]
)
else:
team_role_ids.extend(
server_config.team_role_ids.where(
lambda x: x.team_member_type == TeamMemberTypeEnum.moderator
)
server_config.team_role_ids.where(lambda x: x.team_member_type == TeamMemberTypeEnum.moderator)
)
if "adminRoleIds" in input:
team_role_ids.extend(
[
ServerTeamRoleIdsConfig(
x, TeamMemberTypeEnum.admin, server_config.server.id
)
ServerTeamRoleIdsConfig(x, TeamMemberTypeEnum.admin, server_config.server.id)
for x in input["adminRoleIds"]
]
)
else:
team_role_ids.extend(
server_config.team_role_ids.where(
lambda x: x.team_member_type == TeamMemberTypeEnum.admin
)
server_config.team_role_ids.where(lambda x: x.team_member_type == TeamMemberTypeEnum.admin)
)
self._server_configs.update_server_config(server_config)
@@ -188,15 +152,11 @@ class ServerConfigMutation(QueryABC):
self._update_team_role_ids(server_config)
self._db.save_changes()
self._bot.loop.create_task(
self._config_service.reload_server_config(server_config.server)
)
self._bot.loop.create_task(self._config_service.reload_server_config(server_config.server))
return server_config
def _update_afk_channel_ids(self, new_config: ServerConfig):
old_config = self._server_configs.get_server_config_by_server(
new_config.server.id
)
old_config = self._server_configs.get_server_config_by_server(new_config.server.id)
for channel_id in old_config.afk_channel_ids:
if channel_id in new_config.afk_channel_ids:
continue
@@ -214,13 +174,9 @@ class ServerConfigMutation(QueryABC):
)
def _update_team_role_ids(self, new_config: ServerConfig):
old_config = self._server_configs.get_server_config_by_server(
new_config.server.id
)
old_config = self._server_configs.get_server_config_by_server(new_config.server.id)
for role_id in old_config.team_role_ids:
if role_id.role_id in new_config.team_role_ids.select(
lambda x: int(x.role_id)
):
if role_id.role_id in new_config.team_role_ids.select(lambda x: int(x.role_id)):
continue
self._server_configs.delete_server_team_role_id_config(role_id)
@@ -232,9 +188,7 @@ class ServerConfigMutation(QueryABC):
raise ValueError(f"Invalid roleId")
for role_id in new_config.team_role_ids:
if role_id.role_id in old_config.team_role_ids.select(
lambda x: str(x.role_id)
):
if role_id.role_id in old_config.team_role_ids.select(lambda x: str(x.role_id)):
continue
self._server_configs.add_server_team_role_id_config(role_id)

View File

@@ -41,9 +41,7 @@ class ShortRoleNameMutation(QueryABC):
server,
)
result = self._short_role_names.find_short_role_names_by_role_id(
short_role_name.role_id
)
result = self._short_role_names.find_short_role_names_by_role_id(short_role_name.role_id)
if result.count() > 0:
raise ValueError("Short name for role already exists")
@@ -58,9 +56,7 @@ class ShortRoleNameMutation(QueryABC):
)
return (
self._short_role_names.get_short_role_names_by_server_id(
short_role_name.server.id
)
self._short_role_names.get_short_role_names_by_server_id(short_role_name.server.id)
.where(get_new_short_role_name)
.last()
)
@@ -69,15 +65,9 @@ class ShortRoleNameMutation(QueryABC):
short_role_name = self._short_role_names.get_short_role_name_by_id(input["id"])
self._can_user_mutate_data(short_role_name.server, UserRoleEnum.moderator)
short_role_name.short_name = (
input["shortName"] if "shortName" in input else short_role_name.short_name
)
short_role_name.role_id = (
input["roleId"] if "roleId" in input else short_role_name.role_id
)
short_role_name.position = (
input["position"] if "position" in input else short_role_name.position
)
short_role_name.short_name = input["shortName"] if "shortName" in input else short_role_name.short_name
short_role_name.role_id = input["roleId"] if "roleId" in input else short_role_name.role_id
short_role_name.position = input["position"] if "position" in input else short_role_name.position
self._short_role_names.update_short_role_name(short_role_name)
self._db.save_changes()

View File

@@ -43,9 +43,7 @@ class TechnicianConfigMutation(QueryABC):
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
)
self._can_user_mutate_data(Route.get_user().users[0].server, UserRoleEnum.technician)
technician_config.help_command_reference_url = (
input["helpCommandReferenceUrl"]
@@ -53,19 +51,13 @@ class TechnicianConfigMutation(QueryABC):
else technician_config.help_command_reference_url
)
technician_config.wait_for_restart = (
input["waitForRestart"]
if "waitForRestart" in input
else technician_config.wait_for_restart
input["waitForRestart"] if "waitForRestart" in input else technician_config.wait_for_restart
)
technician_config.wait_for_shutdown = (
input["waitForShutdown"]
if "waitForShutdown" in input
else technician_config.wait_for_shutdown
input["waitForShutdown"] if "waitForShutdown" in input else technician_config.wait_for_shutdown
)
technician_config.cache_max_messages = (
input["cacheMaxMessages"]
if "cacheMaxMessages" in input
else 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 = (
@@ -83,9 +75,7 @@ class TechnicianConfigMutation(QueryABC):
technician_config.feature_flags[old_flag] = False
technician_config.ping_urls = (
List(str, input["pingURLs"])
if "pingURLs" in input
else technician_config.ping_urls
List(str, input["pingURLs"]) if "pingURLs" in input else technician_config.ping_urls
)
technician_config.technician_ids = (
List(int).extend([int(x) for x in input["technicianIds"]])
@@ -110,17 +100,13 @@ class TechnicianConfigMutation(QueryABC):
if url in new_config.ping_urls:
continue
self._technician_configs.delete_technician_ping_url_config(
TechnicianPingUrlConfig(url)
)
self._technician_configs.delete_technician_ping_url_config(TechnicianPingUrlConfig(url))
for url in new_config.ping_urls:
if url in old_config.ping_urls:
continue
self._technician_configs.add_technician_ping_url_config(
TechnicianPingUrlConfig(url)
)
self._technician_configs.add_technician_ping_url_config(TechnicianPingUrlConfig(url))
def _update_technician_ids(self, new_config: TechnicianConfig):
old_config = self._technician_configs.get_technician_config()
@@ -128,9 +114,7 @@ class TechnicianConfigMutation(QueryABC):
if technician_id in new_config.technician_ids:
continue
self._technician_configs.delete_technician_id_config(
TechnicianIdConfig(technician_id)
)
self._technician_configs.delete_technician_id_config(TechnicianIdConfig(technician_id))
for technician_id in new_config.technician_ids:
user = self._bot.get_user(technician_id)
@@ -141,6 +125,4 @@ class TechnicianConfigMutation(QueryABC):
if technician_id in old_config.technician_ids:
continue
self._technician_configs.add_technician_id_config(
TechnicianIdConfig(technician_id)
)
self._technician_configs.add_technician_id_config(TechnicianIdConfig(technician_id))

View File

@@ -63,9 +63,7 @@ class UserJoinedGameServerMutation(QueryABC):
def _get_api_key_str(self, api_key: ApiKey) -> str:
return hashlib.sha256(
f"{api_key.identifier}:{api_key.key}+{self._auth_settings.secret_key}".encode(
"utf-8"
)
f"{api_key.identifier}:{api_key.key}+{self._auth_settings.secret_key}".encode("utf-8")
).hexdigest()
def _get_api_key(self) -> Optional[ApiKey]:
@@ -84,19 +82,13 @@ class UserJoinedGameServerMutation(QueryABC):
game_ident = self._user_game_idents.get_user_game_ident_by_ident(input["ident"])
user = game_ident.user
settings: ServerConfig = self._config.get_configuration(
f"ServerConfig_{user.server.discord_id}"
)
if not FeatureFlagsSettings.get_flag_from_dict(
settings.feature_flags, FeatureFlagsEnum.game_server
):
settings: ServerConfig = self._config.get_configuration(f"ServerConfig_{user.server.discord_id}")
if not FeatureFlagsSettings.get_flag_from_dict(settings.feature_flags, FeatureFlagsEnum.game_server):
raise Exception("Feature not activated")
self._can_user_mutate_data(user.server, UserRoleEnum.admin)
active = self._user_joined_game_servers.find_active_user_joined_game_server_by_user_id(
user.id
)
active = self._user_joined_game_servers.find_active_user_joined_game_server_by_user_id(user.id)
if active is not None:
self._logger.debug(
__name__,
@@ -108,38 +100,26 @@ class UserJoinedGameServerMutation(QueryABC):
self._user_joined_game_servers.add_user_joined_game_server(new)
self._db.save_changes()
return self._user_joined_game_servers.get_active_user_joined_game_server_by_user_id(
user.id
)
return self._user_joined_game_servers.get_active_user_joined_game_server_by_user_id(user.id)
def resolve_user_left(self, *_, input: dict):
game_ident = self._user_game_idents.find_user_game_ident_by_ident(
input["ident"]
)
game_ident = self._user_game_idents.find_user_game_ident_by_ident(input["ident"])
if game_ident is None:
return
user = game_ident.user
settings: ServerConfig = self._config.get_configuration(
f"ServerConfig_{user.server.discord_id}"
)
if not FeatureFlagsSettings.get_flag_from_dict(
settings.feature_flags, FeatureFlagsEnum.game_server
):
settings: ServerConfig = self._config.get_configuration(f"ServerConfig_{user.server.discord_id}")
if not FeatureFlagsSettings.get_flag_from_dict(settings.feature_flags, FeatureFlagsEnum.game_server):
raise Exception("Feature not activated")
self._can_user_mutate_data(user.server, UserRoleEnum.admin)
active = self._user_joined_game_servers.find_active_user_joined_game_server_by_user_id(
user.id
)
active = self._user_joined_game_servers.find_active_user_joined_game_server_by_user_id(user.id)
if active is None:
return
active.leaved_on = datetime.now()
settings: ServerConfig = self._config.get_configuration(
f"ServerConfig_{user.server.discord_id}"
)
settings: ServerConfig = self._config.get_configuration(f"ServerConfig_{user.server.discord_id}")
ontime = round((active.leaved_on - active.joined_on).total_seconds() / 3600, 2)
old_xp = user.xp

View File

@@ -48,9 +48,7 @@ class UserMutation(QueryABC):
auth_user = Route.get_user()
member = self._bot.get_guild(user.server.discord_id).get_member(
auth_user.users.where(lambda x: x.server.id == user.server.id)
.single()
.discord_id
auth_user.users.where(lambda x: x.server.id == user.server.id).single().discord_id
)
if member.id != user.discord_id:
self._can_user_mutate_data(user.server, UserRoleEnum.moderator)
@@ -64,19 +62,9 @@ class UserMutation(QueryABC):
if "userWarnings" in input:
self._update_user_warning(user, input["userWarnings"])
user.xp = (
new_xp
if new_xp is not None
else input["xp"]
if "xp" in input
else user.xp
)
user.xp = new_xp if new_xp is not None else input["xp"] if "xp" in input else user.xp
user.birthday = (
datetime.strptime(input["birthday"], "%d.%m.%Y")
if "birthday" in input
else user.birthday
)
user.birthday = datetime.strptime(input["birthday"], "%d.%m.%Y") if "birthday" in input else user.birthday
self._users.update_user(user)
self._db.save_changes()
@@ -88,23 +76,15 @@ class UserMutation(QueryABC):
def _update_user_warning(self, user: User, new_warnings: dict):
old_warnings = self._user_warnings.get_user_warnings_by_user_id(user.id)
for warning in old_warnings:
if warning.id in [
int(x["id"]) if "id" in x else None for x in new_warnings
]:
if warning.id in [int(x["id"]) if "id" in x else None for x in new_warnings]:
continue
self._user_warning_service.remove_warnings(warning.id)
for warning in new_warnings:
if "id" in warning and int(warning["id"]) in old_warnings.select(
lambda x: x.id
):
if "id" in warning and int(warning["id"]) in old_warnings.select(lambda x: x.id):
continue
member = self._bot.get_guild(user.server.discord_id).get_member(
user.discord_id
)
member = self._bot.get_guild(user.server.discord_id).get_member(user.discord_id)
author = self._users.get_user_by_id(int(warning["author"]))
self._user_warning_service.add_warnings(
member, warning["description"], author.discord_id
)
self._user_warning_service.add_warnings(member, warning["description"], author.discord_id)

View File

@@ -9,9 +9,7 @@ class AchievementQuery(DataQueryWithHistoryABC):
self,
db: DatabaseContextABC,
):
DataQueryWithHistoryABC.__init__(
self, "Achievement", "AchievementsHistory", AchievementHistory, db
)
DataQueryWithHistoryABC.__init__(self, "Achievement", "AchievementsHistory", AchievementHistory, db)
self.set_field("id", lambda x, *_: x.id)
self.set_field("name", lambda x, *_: x.name)

View File

@@ -18,9 +18,7 @@ class AutoRoleQuery(DataQueryWithHistoryABC):
servers: ServerRepositoryABC,
db: DatabaseContextABC,
):
DataQueryWithHistoryABC.__init__(
self, "AutoRole", "AutoRolesHistory", AutoRoleHistory, db
)
DataQueryWithHistoryABC.__init__(self, "AutoRole", "AutoRolesHistory", AutoRoleHistory, db)
self._bot = bot
self._auto_role_rules = auto_role_rules
@@ -33,9 +31,7 @@ class AutoRoleQuery(DataQueryWithHistoryABC):
self.set_field("server", self.resolve_server)
self.add_collection(
"autoRoleRule",
lambda x, *_: self._auto_role_rules.get_auto_role_rules_by_auto_role_id(
x.id
),
lambda x, *_: self._auto_role_rules.get_auto_role_rules_by_auto_role_id(x.id),
AutoRoleFilter,
)

View File

@@ -14,9 +14,7 @@ class AutoRoleRuleQuery(DataQueryWithHistoryABC):
auto_roles: AutoRoleRepositoryABC,
db: DatabaseContextABC,
):
DataQueryWithHistoryABC.__init__(
self, "AutoRoleRule", "AutoRoleRulesHistory", AutoRoleRuleHistory, db
)
DataQueryWithHistoryABC.__init__(self, "AutoRoleRule", "AutoRoleRulesHistory", AutoRoleRuleHistory, db)
self._bot = bot
self._auto_roles = auto_roles

View File

@@ -8,9 +8,7 @@ from bot_graphql.abc.data_query_with_history_abc import DataQueryWithHistoryABC
class ClientQuery(DataQueryWithHistoryABC):
def __init__(self, bot: DiscordBotServiceABC, db: DatabaseContextABC):
DataQueryWithHistoryABC.__init__(
self, "Client", "ClientsHistory", ClientHistory, db
)
DataQueryWithHistoryABC.__init__(self, "Client", "ClientsHistory", ClientHistory, db)
self._bot = bot

View File

@@ -21,9 +21,7 @@ class GuildQuery(QueryABC):
self.set_field("roles", lambda g, *_: g.roles.order_by(lambda x: x.position))
self.set_field(
"emojis",
lambda g, *_: List(discord.Emoji, g.emojis).order_by_descending(
lambda x: x.created_at
),
lambda g, *_: List(discord.Emoji, g.emojis).order_by_descending(lambda x: x.created_at),
)
def _resolve_channels(self, g: Guild, *_, filter=None):

View File

@@ -7,9 +7,7 @@ from bot_graphql.abc.data_query_with_history_abc import DataQueryWithHistoryABC
class KnownUserQuery(DataQueryWithHistoryABC):
def __init__(self, db: DatabaseContextABC):
DataQueryWithHistoryABC.__init__(
self, "KnownUser", "KnownUsersHistory", KnownUserHistory, db
)
DataQueryWithHistoryABC.__init__(self, "KnownUser", "KnownUsersHistory", KnownUserHistory, db)
self.set_field("id", self.resolve_id)
self.set_field("discordId", self.resolve_discord_id)

View File

@@ -7,9 +7,7 @@ from bot_graphql.abc.data_query_with_history_abc import DataQueryWithHistoryABC
class LevelQuery(DataQueryWithHistoryABC):
def __init__(self, db: DatabaseContextABC):
DataQueryWithHistoryABC.__init__(
self, "Level", "LevelsHistory", LevelHistory, db
)
DataQueryWithHistoryABC.__init__(self, "Level", "LevelsHistory", LevelHistory, db)
self.set_field("id", self.resolve_id)
self.set_field("name", self.resolve_name)

View File

@@ -8,25 +8,15 @@ from bot_graphql.abc.data_query_with_history_abc import DataQueryWithHistoryABC
class ServerConfigQuery(DataQueryWithHistoryABC):
def __init__(self, db: DatabaseContextABC):
DataQueryWithHistoryABC.__init__(
self, "ServerConfig", "CFG_ServerHistory", ServerConfigHistory, db
)
DataQueryWithHistoryABC.__init__(self, "ServerConfig", "CFG_ServerHistory", ServerConfigHistory, db)
self.set_field("id", lambda config, *_: config.id)
self.set_field(
"messageDeleteTimer", lambda config, *_: config.message_delete_timer
)
self.set_field(
"notificationChatId", lambda config, *_: config.notification_chat_id
)
self.set_field(
"maxVoiceStateHours", lambda config, *_: config.max_voice_state_hours
)
self.set_field("messageDeleteTimer", lambda config, *_: config.message_delete_timer)
self.set_field("notificationChatId", lambda config, *_: config.notification_chat_id)
self.set_field("maxVoiceStateHours", lambda config, *_: config.max_voice_state_hours)
self.set_field("xpPerMessage", lambda config, *_: config.xp_per_message)
self.set_field("xpPerReaction", lambda config, *_: config.xp_per_reaction)
self.set_field(
"maxMessageXpPerHour", lambda config, *_: config.max_message_xp_per_hour
)
self.set_field("maxMessageXpPerHour", lambda config, *_: config.max_message_xp_per_hour)
self.set_field("xpPerOntimeHour", lambda config, *_: config.xp_per_ontime_hour)
self.set_field(
"xpPerEventParticipation",
@@ -34,16 +24,10 @@ class ServerConfigQuery(DataQueryWithHistoryABC):
)
self.set_field("xpPerAchievement", lambda config, *_: config.xp_per_achievement)
self.set_field("xpForBirthday", lambda config, *_: config.xp_for_birthday)
self.set_field(
"afkCommandChannelId", lambda config, *_: config.afk_command_channel_id
)
self.set_field(
"helpVoiceChannelId", lambda config, *_: config.help_voice_channel_id
)
self.set_field("afkCommandChannelId", lambda config, *_: config.afk_command_channel_id)
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("loginMessageChannelId", lambda config, *_: config.login_message_channel_id)
self.set_field("defaultRoleId", lambda config, *_: config.default_role_id)
self.set_field(
"shortRoleNameOnlySetHighestRole",
@@ -57,10 +41,7 @@ class ServerConfigQuery(DataQueryWithHistoryABC):
"featureFlag",
lambda config, *_: List(
any,
[
{"key": x, "value": config.feature_flags[x]}
for x in config.feature_flags
],
[{"key": x, "value": config.feature_flags[x]} for x in config.feature_flags],
),
)
self.set_field("afkChannelIds", lambda config, *_: config.afk_channel_ids)

View File

@@ -45,9 +45,7 @@ class ServerQuery(DataQueryWithHistoryABC):
short_role_names: ShortRoleNameRepositoryABC,
server_configs: ServerConfigRepositoryABC,
):
DataQueryWithHistoryABC.__init__(
self, "Server", "ServersHistory", ServerHistory, db
)
DataQueryWithHistoryABC.__init__(self, "Server", "ServersHistory", ServerHistory, db)
self._config = config
self._bot = bot
@@ -94,9 +92,7 @@ class ServerQuery(DataQueryWithHistoryABC):
)
self.add_collection(
"shortRoleName",
lambda server, *_: short_role_names.get_short_role_names_by_server_id(
server.id
),
lambda server, *_: short_role_names.get_short_role_names_by_server_id(server.id),
ShortRoleNameFilter,
)
self.set_field(
@@ -105,9 +101,7 @@ class ServerQuery(DataQueryWithHistoryABC):
)
self.set_field(
"hasFeatureFlag",
lambda server, *_, **kwargs: self._resolve_has_feature_flag(
server, *_, **kwargs
),
lambda server, *_, **kwargs: self._resolve_has_feature_flag(server, *_, **kwargs),
)
@staticmethod
@@ -127,14 +121,10 @@ class ServerQuery(DataQueryWithHistoryABC):
return server.icon_url
def _resolve_has_feature_flag(self, server: Server, *_, **kwargs):
settings: ServerConfig = self._config.get_configuration(
f"ServerConfig_{server.discord_id}"
)
settings: ServerConfig = self._config.get_configuration(f"ServerConfig_{server.discord_id}")
if "flag" not in kwargs:
return False
return {
"key": kwargs["flag"],
"value": FeatureFlagsSettings.get_flag_from_dict(
settings.feature_flags, FeatureFlagsEnum(kwargs["flag"])
),
"value": FeatureFlagsSettings.get_flag_from_dict(settings.feature_flags, FeatureFlagsEnum(kwargs["flag"])),
}

View File

@@ -9,9 +9,7 @@ class ShortRoleNameQuery(DataQueryWithHistoryABC):
self,
db: DatabaseContextABC,
):
DataQueryWithHistoryABC.__init__(
self, "ShortRoleName", "ShortRoleNamesHistory", ShortRoleNameHistory, db
)
DataQueryWithHistoryABC.__init__(self, "ShortRoleName", "ShortRoleNamesHistory", ShortRoleNameHistory, db)
self.set_field("id", lambda x, *_: x.id)
self.set_field("shortName", lambda x, *_: x.short_name)

View File

@@ -18,9 +18,6 @@ class TechnicianConfigHistoryQuery(HistoryQueryABC):
"featureFlag",
lambda config, *_: List(
any,
[
{"key": x, "value": config.feature_flags[x]}
for x in config.feature_flags
],
[{"key": x, "value": config.feature_flags[x]} for x in config.feature_flags],
),
)

View File

@@ -31,10 +31,7 @@ class TechnicianConfigQuery(DataQueryWithHistoryABC):
"featureFlag",
lambda config, *_: List(
any,
[
{"key": x, "value": config.feature_flags[x]}
for x in config.feature_flags
],
[{"key": x, "value": config.feature_flags[x]} for x in config.feature_flags],
),
)
self.set_field("pingURLs", lambda config, *_: config.ping_urls)

View File

@@ -66,16 +66,12 @@ class UserQuery(DataQueryWithHistoryABC):
)
self.add_collection(
"joinedVoiceChannel",
lambda user, *_: self._ujvs.get_user_joined_voice_channels_by_user_id(
user.id
),
lambda user, *_: self._ujvs.get_user_joined_voice_channels_by_user_id(user.id),
UserJoinedVoiceChannelFilter,
)
self.add_collection(
"userJoinedGameServer",
lambda user, *_: self._user_joined_game_server.get_user_joined_game_servers_by_user_id(
user.id
),
lambda user, *_: self._user_joined_game_server.get_user_joined_game_servers_by_user_id(user.id),
UserJoinedGameServerFilter,
)
self.add_collection(

View File

@@ -9,9 +9,7 @@ class UserWarningQuery(DataQueryWithHistoryABC):
self,
db: DatabaseContextABC,
):
DataQueryWithHistoryABC.__init__(
self, "UserWarning", "UserWarningsHistory", UserWarningsHistory, db
)
DataQueryWithHistoryABC.__init__(self, "UserWarning", "UserWarningsHistory", UserWarningsHistory, db)
self.set_field("id", lambda x, *_: x.id)
self.set_field("user", lambda x, *_: x.user)

View File

@@ -62,9 +62,7 @@ class Query(QueryABC):
):
QueryABC.__init__(self, "Query")
self.add_collection(
"autoRole", lambda *_: auto_roles.get_auto_roles(), AutoRoleFilter
)
self.add_collection("autoRole", lambda *_: auto_roles.get_auto_roles(), AutoRoleFilter)
self.add_collection(
"autoRoleRule",
lambda *_: auto_roles.get_auto_role_rules(),
@@ -91,9 +89,7 @@ class Query(QueryABC):
UserJoinedGameServerFilter,
)
self.add_collection("user", lambda *_: users.get_users(), UserFilter)
self.add_collection(
"achievement", lambda *_: achievements.get_achievements(), AchievementFilter
)
self.add_collection("achievement", lambda *_: achievements.get_achievements(), AchievementFilter)
self.add_collection(
"shortRoleName",
lambda *_: short_role_names.get_short_role_names(),
@@ -105,24 +101,14 @@ class Query(QueryABC):
UserWarningFilter,
)
self.set_field(
"technicianConfig", lambda *_: technician_config.get_technician_config()
)
self.set_field("technicianConfig", lambda *_: technician_config.get_technician_config())
self.set_field(
"achievementAttributes", lambda *_: achievement_service.get_attributes()
)
self.set_field(
"achievementOperators", lambda *_: achievement_service.get_operators()
)
self.set_field("achievementAttributes", lambda *_: achievement_service.get_attributes())
self.set_field("achievementOperators", lambda *_: achievement_service.get_operators())
self.set_field(
"shortRoleNamePositions",
lambda *_: [x.value for x in ShortRoleNamePositionEnum],
)
self.set_field(
"possibleFeatureFlags", lambda *_: [e.value for e in FeatureFlagsEnum]
)
self.set_field(
"discord", lambda *_: Discord(bot.guilds, List(any).extend(bot.users))
)
self.set_field("possibleFeatureFlags", lambda *_: [e.value for e in FeatureFlagsEnum])
self.set_field("discord", lambda *_: Discord(bot.guilds, List(any).extend(bot.users)))

View File

@@ -10,9 +10,7 @@ from bot_graphql.query import Query
class Schema:
def __init__(self, query: Query, mutation: Mutation, queries: list[QueryABC]):
type_defs = load_schema_from_path(
os.path.join(os.path.dirname(os.path.realpath(__file__)), "graphql/")
)
type_defs = load_schema_from_path(os.path.join(os.path.dirname(os.path.realpath(__file__)), "graphql/"))
self._schema = make_executable_schema(type_defs, query, mutation, *queries)
@property