Changed from snake to camel case #162

This commit is contained in:
Sven Heidemann 2023-02-08 19:05:32 +01:00
parent 1dfe7edcba
commit 5d470be583
45 changed files with 323 additions and 266 deletions

View File

@ -2,6 +2,7 @@ from abc import ABC, abstractmethod
from typing import Optional from typing import Optional
from cpl_query.extension import List from cpl_query.extension import List
from bot_data.model.user_joined_server import UserJoinedServer from bot_data.model.user_joined_server import UserJoinedServer
@ -18,6 +19,10 @@ class UserJoinedServerRepositoryABC(ABC):
def get_user_joined_server_by_id(self, id: int) -> UserJoinedServer: def get_user_joined_server_by_id(self, id: int) -> UserJoinedServer:
pass pass
@abstractmethod
def get_user_joined_server_by_server_id(self, server_id: int) -> UserJoinedServer:
pass
@abstractmethod @abstractmethod
def get_user_joined_servers_by_user_id(self, user_id: int) -> list[UserJoinedServer]: def get_user_joined_servers_by_user_id(self, user_id: int) -> list[UserJoinedServer]:
pass pass

View File

@ -1,10 +1,8 @@
from datetime import datetime from datetime import datetime
from typing import Optional
from cpl_core.database import TableABC from cpl_core.database import TableABC
from bot_data.model.user import User from bot_data.model.user import User
from bot_data.model.server import Server
class UserJoinedServer(TableABC): class UserJoinedServer(TableABC):
@ -69,6 +67,15 @@ class UserJoinedServer(TableABC):
""" """
) )
@staticmethod
def get_select_by_server_id_string(id: int) -> str:
return str(
f"""
SELECT * FROM `UserJoinedServers`
WHERE `ServerId` = {id};
"""
)
@staticmethod @staticmethod
def get_select_by_user_id_string(id: int) -> str: def get_select_by_user_id_string(id: int) -> str:
return str( return str(

View File

@ -57,6 +57,21 @@ class UserJoinedServerRepositoryService(UserJoinedServerRepositoryABC):
id=result[0], id=result[0],
) )
def get_user_joined_server_by_server_id(self, server_id: int) -> UserJoinedServer:
self._logger.trace(
__name__,
f"Send SQL command: {UserJoinedServer.get(id)}",
)
result = self._context.select(UserJoinedServer.get_select_by_id_string(id))[0]
return UserJoinedServer(
self._users.get_user_by_id(result[1]),
result[2],
result[3],
result[4],
result[5],
id=result[0],
)
def get_user_joined_servers_by_user_id(self, user_id: int) -> List[UserJoinedServer]: def get_user_joined_servers_by_user_id(self, user_id: int) -> List[UserJoinedServer]:
joins = List(UserJoinedServer) joins = List(UserJoinedServer)
self._logger.trace( self._logger.trace(

View File

@ -34,7 +34,7 @@ class QueryABC(ObjectType):
return self._resolve_collection(get_collection(*args), *args, **kwargs) return self._resolve_collection(get_collection(*args), *args, **kwargs)
self.set_field(f"{name}s", wrapper) self.set_field(f"{name}s", wrapper)
self.set_field(f"{name}_count", lambda *args: get_collection(*args).count()) self.set_field(f"{name}Count", lambda *args: get_collection(*args).count())
# @FilterABC.resolve_filter_annotation # @FilterABC.resolve_filter_annotation
def _resolve_collection(self, collection: List, *_, filter: FilterABC = None, page: Page = None, sort: Sort = None): def _resolve_collection(self, collection: List, *_, filter: FilterABC = None, page: Page = None, sort: Sort = None):

View File

@ -24,14 +24,14 @@ class AutoRoleFilter(FilterABC):
if "id" in values: if "id" in values:
self._id = int(values["id"]) self._id = int(values["id"])
if "channel_id" in values: if "channelId" in values:
self._channel_id = int(values["channel_id"]) self._channel_id = int(values["channelId"])
if "channel_name" in values: if "channelName" in values:
self._channel_name = values["channel_name"] self._channel_name = values["channelName"]
if "message_id" in values: if "messageId" in values:
self._message_id = int(values["message_id"]) self._message_id = int(values["messageId"])
if "server" in values: if "server" in values:
from bot_graphql.filter.server_filter import ServerFilter from bot_graphql.filter.server_filter import ServerFilter

View File

@ -22,16 +22,16 @@ class AutoRoleRuleFilter(FilterABC):
if "id" in values: if "id" in values:
self._id = int(values["id"]) self._id = int(values["id"])
if "emoji_name" in values: if "emojiName" in values:
self._emoji_name = values["emoji_name"] self._emoji_name = values["emojiName"]
if "role_id" in values: if "roleId" in values:
self._role_id = int(values["role_id"]) self._role_id = int(values["roleId"])
if "role_name" in values: if "roleName" in values:
self._role_name = values["role_name"] self._role_name = values["roleName"]
if "auto_role" in values: if "autoRole" in values:
from bot_graphql.filter.auto_role_filter import AutoRoleFilter from bot_graphql.filter.auto_role_filter import AutoRoleFilter
self._auto_role: AutoRoleFilter = self._services.get_service(AutoRoleFilter) self._auto_role: AutoRoleFilter = self._services.get_service(AutoRoleFilter)

View File

@ -17,8 +17,8 @@ class ClientFilter(FilterABC):
if "id" in values: if "id" in values:
self._id = int(values["id"]) self._id = int(values["id"])
if "discord_id" in values: if "discordId" in values:
self._id = int(values["discord_id"]) self._id = int(values["discordId"])
if "name" in values: if "name" in values:
self._name = values["name"] self._name = values["name"]

View File

@ -10,11 +10,11 @@ class Page(FilterABC):
self._page_size = None self._page_size = None
def from_dict(self, values: dict): def from_dict(self, values: dict):
if "page_index" in values: if "pageIndex" in values:
self._page_index = int(values["page_index"]) self._page_index = int(values["pageIndex"])
if "page_size" in values: if "pageSize" in values:
self._page_size = int(values["page_size"]) self._page_size = int(values["pageSize"])
def filter(self, query: List, *args) -> List: def filter(self, query: List, *args) -> List:
if self._page_size is not None and self._page_index is not None: if self._page_size is not None and self._page_index is not None:

View File

@ -19,8 +19,8 @@ class ServerFilter(FilterABC):
if "id" in values: if "id" in values:
self._id = int(values["id"]) self._id = int(values["id"])
if "discord_id" in values: if "discordId" in values:
self._discord_id = int(values["discord_id"]) self._discord_id = int(values["discordId"])
if "name" in values: if "name" in values:
self._name = values["name"] self._name = values["name"]

View File

@ -10,11 +10,11 @@ class Sort(FilterABC):
self._sort_column = None self._sort_column = None
def from_dict(self, values: dict): def from_dict(self, values: dict):
if "sort_direction" in values: if "sortDirection" in values:
self._sort_direction = values["sort_direction"] self._sort_direction = values["sortDirection"]
if "sort_column" in values: if "sortColumn" in values:
self._sort_column = values["sort_column"] self._sort_column = values["sortColumn"]
def filter(self, query: List, *args) -> List: def filter(self, query: List, *args) -> List:
return query return query

View File

@ -37,8 +37,8 @@ class UserFilter(FilterABC):
if "id" in values: if "id" in values:
self._id = int(values["id"]) self._id = int(values["id"])
if "discord_id" in values: if "discordId" in values:
self._discord_id = int(values["discord_id"]) self._discord_id = int(values["discordId"])
if "name" in values: if "name" in values:
self._name = values["name"] self._name = values["name"]

View File

@ -32,11 +32,11 @@ class UserJoinedServerFilter(FilterABC):
self._user: UserFilter = self._services.get_service(UserFilter) self._user: UserFilter = self._services.get_service(UserFilter)
self._user.from_dict(values["user"]) self._user.from_dict(values["user"])
if "joined_on" in values: if "joinedOn" in values:
self._joined_on = values["joined_on"] self._joined_on = values["joinedOn"]
if "leaved_on" in values: if "leavedOn" in values:
self._leaved_on = values["leaved_on"] self._leaved_on = values["leavedOn"]
def filter(self, query: List[UserJoinedServer]) -> List[UserJoinedServer]: def filter(self, query: List[UserJoinedServer]) -> List[UserJoinedServer]:
if self._id is not None: if self._id is not None:

View File

@ -28,11 +28,11 @@ class UserJoinedVoiceChannelFilter(FilterABC):
if "id" in values: if "id" in values:
self._id = int(values["id"]) self._id = int(values["id"])
if "channel_id" in values: if "channelId" in values:
self._channel_id = int(values["channel_id"]) self._channel_id = int(values["channelId"])
if "channel_name" in values: if "channelName" in values:
self._channel_name = values["channel_name"] self._channel_name = values["channelName"]
if "user" in values: if "user" in values:
from bot_graphql.filter.user_filter import UserFilter from bot_graphql.filter.user_filter import UserFilter
@ -40,11 +40,11 @@ class UserJoinedVoiceChannelFilter(FilterABC):
self._user: UserFilter = self._services.get_service(UserFilter) self._user: UserFilter = self._services.get_service(UserFilter)
self._user.from_dict(values["user"]) self._user.from_dict(values["user"])
if "joined_on" in values: if "joinedOn" in values:
self._joined_on = values["joined_on"] self._joined_on = values["joinedOn"]
if "leaved_on" in values: if "leavedOn" in values:
self._leaved_on = values["leaved_on"] 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: if self._id is not None:

View File

@ -47,6 +47,8 @@ class GraphQLModule(ModuleABC):
services.add_singleton(GraphQLService) services.add_singleton(GraphQLService)
services.add_singleton(Query) services.add_singleton(Query)
services.add_singleton(Mutation) services.add_singleton(Mutation)
# queries
services.add_transient(QueryABC, AutoRoleQuery) services.add_transient(QueryABC, AutoRoleQuery)
services.add_transient(QueryABC, AutoRoleRuleQuery) services.add_transient(QueryABC, AutoRoleRuleQuery)
services.add_transient(QueryABC, ClientQuery) services.add_transient(QueryABC, ClientQuery)
@ -57,6 +59,7 @@ class GraphQLModule(ModuleABC):
services.add_transient(QueryABC, UserJoinedServerQuery) services.add_transient(QueryABC, UserJoinedServerQuery)
services.add_transient(QueryABC, UserJoinedVoiceChannelQuery) services.add_transient(QueryABC, UserJoinedVoiceChannelQuery)
# filters
services.add_singleton(FilterABC, AutoRoleFilter) services.add_singleton(FilterABC, AutoRoleFilter)
services.add_singleton(FilterABC, AutoRoleRuleFilter) services.add_singleton(FilterABC, AutoRoleRuleFilter)
services.add_singleton(FilterABC, ClientFilter) services.add_singleton(FilterABC, ClientFilter)
@ -66,6 +69,7 @@ class GraphQLModule(ModuleABC):
services.add_singleton(FilterABC, UserJoinedServerFilter) services.add_singleton(FilterABC, UserJoinedServerFilter)
services.add_singleton(FilterABC, UserJoinedVoiceChannelFilter) services.add_singleton(FilterABC, UserJoinedVoiceChannelFilter)
# mutations
services.add_transient(QueryABC, AutoRoleMutation) services.add_transient(QueryABC, AutoRoleMutation)
services.add_transient(QueryABC, AutoRoleRuleMutation) services.add_transient(QueryABC, AutoRoleRuleMutation)
services.add_transient(QueryABC, LevelMutation) services.add_transient(QueryABC, LevelMutation)

View File

@ -0,0 +1,35 @@
type AutoRole implements TableQuery {
id: ID
channelId: String
channelName: String
messageId: String
server: Server
autoRoleRuleCount: Int
autoRoleRules(filter: AutoRoleRuleFilter, page: Page, sort: Sort): [AutoRoleRule]
createdAt: String
modifiedAt: String
}
input AutoRoleFilter {
id: ID
channelId: String
channelName: String
messageId: String
server: ServerFilter
}
type AutoRoleMutation {
createAutoRole(input: AutoRoleInput!): AutoRole
updateAutoRole(input: AutoRoleInput!): AutoRole
deleteAutoRole(id: ID): AutoRole
}
input AutoRoleInput {
id: ID!
channelId: String!
messageId: String!
serverId: ID!
}

View File

@ -0,0 +1,32 @@
type AutoRoleRule implements TableQuery {
id: ID
emojiName: String
roleId: String
roleName: String
autoRole: AutoRole
createdAt: String
modifiedAt: String
}
input AutoRoleRuleFilter {
id: ID
emojiName: String
roleId: String
roleName: String
autoRole: AutoRoleFilter
}
type AutoRoleRuleMutation {
createAutoRoleRule(input: AutoRoleRuleInput!): AutoRoleRule
updateAutoRoleRule(input: AutoRoleRuleInput!): AutoRoleRule
deleteAutoRoleRule(id: ID): AutoRoleRule
}
input AutoRoleRuleInput {
id: ID!
emojiName: String!
roleId: String!
autoRoleId: ID!
}

View File

@ -1,35 +0,0 @@
type AutoRole implements TableQuery {
id: ID
channel_id: String
channel_name: String
message_id: String
server: Server
auto_role_rule_count: Int
auto_role_rules(filter: AutoRoleRuleFilter, page: Page, sort: Sort): [AutoRoleRule]
created_at: String
modified_at: String
}
input AutoRoleFilter {
id: ID
channel_id: String
channel_name: String
message_id: String
server: ServerFilter
}
type AutoRoleMutation {
create_auto_role(input: AutoRoleInput!): AutoRole
update_auto_role(input: AutoRoleInput!): AutoRole
delete_auto_role(id: ID): AutoRole
}
input AutoRoleInput {
id: ID!
channel_id: String!
message_id: String!
server_id: ID!
}

View File

@ -1,32 +0,0 @@
type AutoRoleRule implements TableQuery {
id: ID
emoji_name: String
role_id: String
role_name: String
auto_role: AutoRole
created_at: String
modified_at: String
}
input AutoRoleRuleFilter {
id: ID
emoji_name: String
role_id: String
role_name: String
auto_role: AutoRoleFilter
}
type AutoRoleRuleMutation {
create_auto_role_rule(input: AutoRoleRuleInput!): AutoRoleRule
update_auto_role_rule(input: AutoRoleRuleInput!): AutoRoleRule
delete_auto_role_rule(id: ID): AutoRoleRule
}
input AutoRoleRuleInput {
id: ID!
emoji_name: String!
role_id: String!
auto_role_id: ID!
}

View File

@ -1,14 +1,14 @@
interface TableQuery { interface TableQuery {
created_at: String createdAt: String
modified_at: String modifiedAt: String
} }
input Page { input Page {
page_index: Int pageIndex: Int
page_size: Int pageSize: Int
} }
input Sort { input Sort {
sort_direction: String sortDirection: String
sort_column: String sortColumn: String
} }

View File

@ -1,22 +1,22 @@
type Client implements TableQuery { type Client implements TableQuery {
id: ID id: ID
discord_id: String discordId: String
name: String name: String
sent_message_count: Int sentMessageCount: Int
received_message_count: Int receivedMessageCount: Int
deleted_message_count: Int deletedMessageCount: Int
received_command_count: Int receivedCommandCount: Int
moved_users_count: Int movedUsersCount: Int
server: Server server: Server
created_at: String createdAt: String
modified_at: String modifiedAt: String
} }
input ClientFilter { input ClientFilter {
id: ID id: ID
discord_id: String discordId: String
name: String name: String
server: ServerFilter server: ServerFilter
} }

View File

@ -0,0 +1,7 @@
type KnownUser implements TableQuery {
id: ID
discordId: String
createdAt: String
modifiedAt: String
}

View File

@ -1,7 +0,0 @@
type KnownUser implements TableQuery {
id: ID
discord_id: String
created_at: String
modified_at: String
}

View File

@ -2,13 +2,13 @@ type Level implements TableQuery {
id: ID id: ID
name: String name: String
color: String color: String
min_xp: Int minXp: Int
permissions: String permissions: String
server: Server server: Server
created_at: String createdAt: String
modified_at: String modifiedAt: String
} }
input LevelFilter { input LevelFilter {
@ -18,16 +18,16 @@ input LevelFilter {
} }
type LevelMutation { type LevelMutation {
create_level(input: LevelInput!): Level createLevel(input: LevelInput!): Level
update_level(input: LevelInput!): Level updateLevel(input: LevelInput!): Level
delete_level(id: ID): Level deleteLevel(id: ID): Level
} }
input LevelInput { input LevelInput {
id: ID id: ID
name: String! name: String!
color: String! color: String!
min_xp: Int! minXp: Int!
permissions: String! permissions: String!
server_id: ID! serverId: ID!
} }

View File

@ -1,6 +1,6 @@
type Mutation { type Mutation {
auto_role: AutoRoleMutation autoRole: AutoRoleMutation
auto_role_rule: AutoRoleRuleMutation autoRoleRule: AutoRoleRuleMutation
level: LevelMutation level: LevelMutation
user: UserMutation user: UserMutation
} }

View File

@ -1,28 +1,28 @@
type Query { type Query {
auto_roles(filter: AutoRoleFilter, page: Page, sort: Sort): [AutoRole] autoRoles(filter: AutoRoleFilter, page: Page, sort: Sort): [AutoRole]
auto_role_count: Int autoRole_count: Int
auto_role_rules(filter: AutoRoleRuleFilter, page: Page, sort: Sort): [AutoRoleRule] autoRoleRules(filter: AutoRoleRuleFilter, page: Page, sort: Sort): [AutoRoleRule]
auto_role_rule_count: Int autoRoleRuleCount: Int
clients(filter: ClientFilter, page: Page, sort: Sort): [Client] clients(filter: ClientFilter, page: Page, sort: Sort): [Client]
client_count: Int clientCount: Int
known_users: [KnownUser] knownUsers: [KnownUser]
known_user_count: Int knownUserCount: Int
levels(filter: LevelFilter, page: Page, sort: Sort): [Level] levels(filter: LevelFilter, page: Page, sort: Sort): [Level]
level_count: Int levelCount: Int
servers(filter: ServerFilter, page: Page, sort: Sort): [Server] servers(filter: ServerFilter, page: Page, sort: Sort): [Server]
server_count: Int serverCount: Int
user_joined_servers(filter: UserJoinedServerFilter, page: Page, sort: Sort): [User] userJoinedServers(filter: UserJoinedServerFilter, page: Page, sort: Sort): [User]
user_joined_server_count: Int userJoinedServerCount: Int
user_joined_voice_channels(filter: UserJoinedVoiceChannelFilter, page: Page, sort: Sort): [User] userJoinedVoiceChannels(filter: UserJoinedVoiceChannelFilter, page: Page, sort: Sort): [User]
user_joined_voice_channel_count: Int userJoinedVoiceChannelCount: Int
users(filter: UserFilter, page: Page, sort: Sort): [User] users(filter: UserFilter, page: Page, sort: Sort): [User]
user_count: Int userCount: Int
} }

View File

@ -1,26 +1,26 @@
type Server implements TableQuery { type Server implements TableQuery {
id: ID id: ID
discord_id: String discordId: String
name: String name: String
auto_roles(filter: AutoRoleFilter, page: Page, sort: Sort): [AutoRole] autoRoles(filter: AutoRoleFilter, page: Page, sort: Sort): [AutoRole]
auto_role_count: Int autoRoleCount: Int
clients(filter: ClientFilter, page: Page, sort: Sort): [Client] clients(filter: ClientFilter, page: Page, sort: Sort): [Client]
client_count: Int clientCount: Int
users(filter: UserFilter, page: Page, sort: Sort): [User]
user_count: Int
levels(filter: LevelFilter, page: Page, sort: Sort): [Level] levels(filter: LevelFilter, page: Page, sort: Sort): [Level]
level_count: Int levelCount: Int
created_at: String users(filter: UserFilter, page: Page, sort: Sort): [User]
modified_at: String userCount: Int
createdAt: String
modifiedAt: String
} }
input ServerFilter { input ServerFilter {
id: ID id: ID
discord_id: String discordId: String
name: String name: String
} }

View File

@ -1,26 +1,26 @@
type User implements TableQuery { type User implements TableQuery {
id: ID id: ID
discord_id: String discordId: String
name: String name: String
xp: Int xp: Int
ontime: Float ontime: Float
level: Level level: Level
joined_servers(filter: UserJoinedServerFilter, page: Page, sort: Sort): [UserJoinedServer] joinedServers(filter: UserJoinedServerFilter, page: Page, sort: Sort): [UserJoinedServer]
joined_server_count: Int joinedServerCount: Int
joined_voice_channels(filter: UserJoinedVoiceChannelFilter, page: Page, sort: Sort): [UserJoinedVoiceChannel] joinedVoiceChannels(filter: UserJoinedVoiceChannelFilter, page: Page, sort: Sort): [UserJoinedVoiceChannel]
joined_voice_channel_count: Int joinedVoiceChannelCount: Int
server: Server server: Server
created_at: String createdAt: String
modified_at: String modifiedAt: String
} }
input UserFilter { input UserFilter {
id: ID id: ID
discord_id: String discordId: String
name: String name: String
xp: Int xp: Int
ontime: Float ontime: Float
@ -29,7 +29,7 @@ input UserFilter {
} }
type UserMutation { type UserMutation {
update_user(input: UserInput!): User updateUser(input: UserInput!): User
} }
input UserInput { input UserInput {

View File

@ -1,16 +1,16 @@
type UserJoinedServer implements TableQuery { type UserJoinedServer implements TableQuery {
id: ID id: ID
user: User user: User
joined_on: String joinedOn: String
leaved_on: String leavedOn: String
created_at: String createdAt: String
modified_at: String modifiedAt: String
} }
input UserJoinedServerFilter { input UserJoinedServerFilter {
id: ID id: ID
user: UserFilter user: UserFilter
joined_on: String joinedOn: String
leaved_on: String leavedOn: String
} }

View File

@ -0,0 +1,20 @@
type UserJoinedVoiceChannel implements TableQuery {
id: ID
channelId: String
channelName: String
user: User
joinedOn: String
leavedOn: String
createdAt: String
modifiedAt: String
}
input UserJoinedVoiceChannelFilter {
id: ID
channelId: String
channelName: String
user: UserFilter
joinedOn: String
leavedOn: String
}

View File

@ -1,20 +0,0 @@
type UserJoinedVoiceChannel implements TableQuery {
id: ID
channel_id: String
channel_name: String
user: User
joined_on: String
leaved_on: String
created_at: String
modified_at: String
}
input UserJoinedVoiceChannelFilter {
id: ID
channel_id: String
channel_name: String
user: UserFilter
joined_on: String
leaved_on: String
}

View File

@ -1,14 +1,39 @@
from ariadne import MutationType from ariadne import MutationType
from bot_graphql.mutations.auto_role_mutation import AutoRoleMutation
from bot_graphql.mutations.auto_role_rule_mutation import AutoRoleRuleMutation
from bot_graphql.mutations.level_mutation import LevelMutation from bot_graphql.mutations.level_mutation import LevelMutation
from bot_graphql.mutations.user_mutation import UserMutation
class Mutation(MutationType): class Mutation(MutationType):
def __init__(self, level_mutation: LevelMutation): def __init__(
self,
auto_role_mutation: AutoRoleMutation,
auto_role_rule_mutation: AutoRoleRuleMutation,
level_mutation: LevelMutation,
user_mutation: UserMutation,
):
MutationType.__init__(self) MutationType.__init__(self)
self._auto_role_mutation = auto_role_mutation
self._auto_role_rule_mutation = auto_role_rule_mutation
self._level_mutation = level_mutation self._level_mutation = level_mutation
self._user_mutation = user_mutation
self.set_field("autoRole", self.resolve_auto_role)
self.set_field("autoRoleRule", self.resolve_auto_role_rule)
self.set_field("level", self.resolve_level) self.set_field("level", self.resolve_level)
self.set_field("user", self.resolve_user)
def resolve_auto_role(self, *_):
return self._auto_role_mutation
def resolve_auto_role_rule(self, *_):
return self._auto_role_rule_mutation
def resolve_level(self, *_): def resolve_level(self, *_):
return self._level_mutation return self._level_mutation
def resolve_user(self, *_):
return self._user_mutation

View File

@ -19,30 +19,28 @@ class AutoRoleMutation(QueryABC):
self._auto_roles = auto_roles self._auto_roles = auto_roles
self._db = db self._db = db
self.set_field("create_auto_role", self.resolve_create_auto_role) self.set_field("createAutoRole", self.resolve_create_auto_role)
self.set_field("update_auto_role", self.resolve_update_auto_role) self.set_field("updateAutoRole", self.resolve_update_auto_role)
self.set_field("delete_auto_role", self.resolve_delete_auto_role) self.set_field("deleteAutoRole", self.resolve_delete_auto_role)
def resolve_create_auto_role(self, *_, input: dict): def resolve_create_auto_role(self, *_, input: dict):
auto_role = AutoRole( auto_role = AutoRole(self._servers.get_server_by_id(input["serverId"]), input["channelId"], input["messageId"])
self._servers.get_server_by_id(input["server_id"]), input["channel_id"], input["message_id"]
)
self._auto_roles.add_auto_role(auto_role) self._auto_roles.add_auto_role(auto_role)
self._db.save_changes() self._db.save_changes()
def get_new(x: AutoRole): def get_new(x: AutoRole):
return ( return (
x.server.server_id == input["server_id"] x.server.server_id == input["serverId"]
and x.discord_channel_id == input["channel_id"] and x.discord_channel_id == input["channelId"]
and x.discord_message_id == input["message_id"] and x.discord_message_id == input["messageId"]
) )
return self._auto_roles.get_auto_roles_by_server_id(auto_role.server.server_id).where(get_new) return self._auto_roles.get_auto_roles_by_server_id(auto_role.server.server_id).where(get_new)
def resolve_update_auto_role(self, *_, input: dict): def resolve_update_auto_role(self, *_, input: dict):
auto_role = self._auto_roles.get_auto_role_by_id(input["id"]) auto_role = self._auto_roles.get_auto_role_by_id(input["id"])
auto_role.discord_channel_id = input["channel_id"] if "channel_id" in input else auto_role.discord_channel_id auto_role.discord_channel_id = input["channelId"] if "channelId" in input else auto_role.discord_channel_id
auto_role.discord_message_id = input["message_id"] if "message_id" in input else auto_role.discord_message_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._auto_roles.update_auto_role(auto_role)
self._db.save_changes() self._db.save_changes()

View File

@ -19,22 +19,22 @@ class AutoRoleRuleMutation(QueryABC):
self._auto_roles = auto_roles self._auto_roles = auto_roles
self._db = db self._db = db
self.set_field("create_auto_role_rule", self.resolve_create_auto_role_rule) self.set_field("createAutoRoleRule", self.resolve_create_auto_role_rule)
self.set_field("update_auto_role_rule", self.resolve_update_auto_role_rule) self.set_field("updateAutoRoleRule", self.resolve_update_auto_role_rule)
self.set_field("delete_auto_role_rule", self.resolve_delete_auto_role_rule) self.set_field("deleteAutoRoleRule", self.resolve_delete_auto_role_rule)
def resolve_create_auto_role_rule(self, *_, input: dict): def resolve_create_auto_role_rule(self, *_, input: dict):
auto_role_rule = AutoRoleRule( auto_role_rule = AutoRoleRule(
self._auto_roles.get_auto_role_by_id(input["auto_role_id"]), input["emoji_name"], input["role_id"] self._auto_roles.get_auto_role_by_id(input["autoRoleId"]), input["emojiName"], input["roleId"]
) )
self._auto_roles.add_auto_role_rule(auto_role_rule) self._auto_roles.add_auto_role_rule(auto_role_rule)
self._db.save_changes() self._db.save_changes()
def get_new(x: AutoRoleRule): def get_new(x: AutoRoleRule):
return ( return (
x.auto_role.auto_role_id == input["auto_role_id"] x.auto_role.auto_role_id == input["autoRoleId"]
and x.emoji_name == input["emoji_name"] and x.emoji_name == input["emojiName"]
and x.role_id == input["role_id"] and x.role_id == input["roleId"]
) )
return self._auto_roles.get_auto_role_rules_by_auto_role_id(auto_role_rule.auto_role.auto_role_id).where( return self._auto_roles.get_auto_role_rules_by_auto_role_id(auto_role_rule.auto_role.auto_role_id).where(
@ -43,8 +43,8 @@ class AutoRoleRuleMutation(QueryABC):
def resolve_update_auto_role_rule(self, *_, input: dict): def resolve_update_auto_role_rule(self, *_, input: dict):
auto_role_rule = self._auto_roles.get_auto_role_rule_by_id(input["id"]) auto_role_rule = self._auto_roles.get_auto_role_rule_by_id(input["id"])
auto_role_rule.emoji_name = input["emoji_name"] if "emoji_name" in input else auto_role_rule.emoji_name auto_role_rule.emoji_name = input["emojiName"] if "emojiName" in input else auto_role_rule.emoji_name
auto_role_rule.role_id = input["role_id"] if "role_id" in input else auto_role_rule.role_id 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._auto_roles.update_auto_role_rule(auto_role_rule)
self._db.save_changes() self._db.save_changes()

View File

@ -19,17 +19,17 @@ class LevelMutation(QueryABC):
self._levels = levels self._levels = levels
self._db = db self._db = db
self.set_field("create_level", self.resolve_create_level) self.set_field("createLevel", self.resolve_create_level)
self.set_field("update_level", self.resolve_update_level) self.set_field("updateLevel", self.resolve_update_level)
self.set_field("delete_level", self.resolve_delete_level) self.set_field("deleteLevel", self.resolve_delete_level)
def resolve_create_level(self, *_, input: dict): def resolve_create_level(self, *_, input: dict):
level = Level( level = Level(
input["name"], input["name"],
input["color"], input["color"],
int(input["min_xp"]), int(input["minXp"]),
int(input["permissions"]), int(input["permissions"]),
self._servers.get_server_by_id(input["server_id"]), self._servers.get_server_by_id(input["serverId"]),
) )
self._levels.add_level(level) self._levels.add_level(level)
self._db.save_changes() self._db.save_changes()
@ -48,7 +48,7 @@ class LevelMutation(QueryABC):
level = self._levels.get_level_by_id(input["id"]) level = self._levels.get_level_by_id(input["id"])
level.name = input["name"] if "name" in input else level.name level.name = input["name"] if "name" in input else level.name
level.color = input["color"] if "color" in input else level.color level.color = input["color"] if "color" in input else level.color
level.min_xp = input["min_xp"] if "min_xp" in input else level.min_xp 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._levels.update_level(level)

View File

@ -18,7 +18,7 @@ class UserMutation(QueryABC):
self._users = users self._users = users
self._db = db self._db = db
self.set_field("update_user", self.resolve_update_user) self.set_field("updateUser", self.resolve_update_user)
def resolve_update_user(self, *_, input: dict): def resolve_update_user(self, *_, input: dict):
user = self._users.get_user_by_id(input["id"]) user = self._users.get_user_by_id(input["id"])

View File

@ -21,12 +21,12 @@ class AutoRoleQuery(DataQueryABC):
self._servers = servers self._servers = servers
self.set_field("id", self.resolve_id) self.set_field("id", self.resolve_id)
self.set_field("channel_id", self.resolve_channel_id) self.set_field("channelId", self.resolve_channel_id)
self.set_field("channel_name", self.resolve_channel_name) self.set_field("channelName", self.resolve_channel_name)
self.set_field("message_id", self.resolve_message_id) self.set_field("messageId", self.resolve_message_id)
self.set_field("server", self.resolve_server) self.set_field("server", self.resolve_server)
self.add_collection( self.add_collection(
"auto_role_rule", lambda x, *_: self._auto_role_rules.get_auto_role_rules_by_auto_role_id(x.auto_role_id) "autoRoleRule", lambda x, *_: self._auto_role_rules.get_auto_role_rules_by_auto_role_id(x.auto_role_id)
) )
@staticmethod @staticmethod

View File

@ -17,10 +17,10 @@ class AutoRoleRuleQuery(DataQueryABC):
self._auto_roles = auto_roles self._auto_roles = auto_roles
self.set_field("id", self.resolve_id) self.set_field("id", self.resolve_id)
self.set_field("emoji_name", self.resolve_emoji_name) self.set_field("emojiName", self.resolve_emoji_name)
self.set_field("role_id", self.resolve_role_id) self.set_field("roleId", self.resolve_role_id)
self.set_field("role_name", self.resolve_role_name) self.set_field("roleName", self.resolve_role_name)
self.set_field("auto_role", self.resolve_auto_role) self.set_field("autoRole", self.resolve_auto_role)
@staticmethod @staticmethod
def resolve_id(x: AutoRoleRule, *_): def resolve_id(x: AutoRoleRule, *_):

View File

@ -14,13 +14,13 @@ class ClientQuery(DataQueryABC):
self._bot = bot self._bot = bot
self.set_field("id", self.resolve_id) self.set_field("id", self.resolve_id)
self.set_field("discord_id", self.resolve_discord_id) self.set_field("discordId", self.resolve_discord_id)
self.set_field("name", self.resolve_name) self.set_field("name", self.resolve_name)
self.set_field("sent_message_count", self.resolve_sent_message_count) self.set_field("sentMessageCount", self.resolve_sent_message_count)
self.set_field("received_message_count", self.resolve_received_message_count) self.set_field("receivedMessageCount", self.resolve_received_message_count)
self.set_field("deleted_message_count", self.resolve_deleted_message_count) self.set_field("deletedMessageCount", self.resolve_deleted_message_count)
self.set_field("received_command_count", self.resolve_received_command_count) self.set_field("receivedCommandCount", self.resolve_received_command_count)
self.set_field("moved_users_count", self.resolve_moved_users_count) self.set_field("movedUsersCount", self.resolve_moved_users_count)
self.set_field("server", self.resolve_server) self.set_field("server", self.resolve_server)
@staticmethod @staticmethod

View File

@ -7,7 +7,7 @@ class KnownUserQuery(DataQueryABC):
DataQueryABC.__init__(self, "KnownUser") DataQueryABC.__init__(self, "KnownUser")
self.set_field("id", self.resolve_id) self.set_field("id", self.resolve_id)
self.set_field("discord_id", self.resolve_discord_id) self.set_field("discordId", self.resolve_discord_id)
@staticmethod @staticmethod
def resolve_id(x: KnownUser, *_): def resolve_id(x: KnownUser, *_):

View File

@ -9,7 +9,7 @@ class LevelQuery(DataQueryABC):
self.set_field("id", self.resolve_id) self.set_field("id", self.resolve_id)
self.set_field("name", self.resolve_name) self.set_field("name", self.resolve_name)
self.set_field("color", self.resolve_color) self.set_field("color", self.resolve_color)
self.set_field("min_xp", self.resolve_min_xp) self.set_field("minXp", self.resolve_min_xp)
self.set_field("permissions", self.resolve_permissions) self.set_field("permissions", self.resolve_permissions)
self.set_field("server", self.resolve_server) self.set_field("server", self.resolve_server)

View File

@ -3,6 +3,8 @@ from cpl_discord.service import DiscordBotServiceABC
from bot_data.abc.auto_role_repository_abc import AutoRoleRepositoryABC from bot_data.abc.auto_role_repository_abc import AutoRoleRepositoryABC
from bot_data.abc.client_repository_abc import ClientRepositoryABC from bot_data.abc.client_repository_abc import ClientRepositoryABC
from bot_data.abc.level_repository_abc import LevelRepositoryABC from bot_data.abc.level_repository_abc import LevelRepositoryABC
from bot_data.abc.user_joined_server_repository_abc import UserJoinedServerRepositoryABC
from bot_data.abc.user_joined_voice_channel_repository_abc import UserJoinedVoiceChannelRepositoryABC
from bot_data.abc.user_repository_abc import UserRepositoryABC from bot_data.abc.user_repository_abc import UserRepositoryABC
from bot_data.model.server import Server from bot_data.model.server import Server
from bot_graphql.abc.data_query_abc import DataQueryABC from bot_graphql.abc.data_query_abc import DataQueryABC
@ -15,28 +17,31 @@ class ServerQuery(DataQueryABC):
bot: DiscordBotServiceABC, bot: DiscordBotServiceABC,
auto_roles: AutoRoleRepositoryABC, auto_roles: AutoRoleRepositoryABC,
clients: ClientRepositoryABC, clients: ClientRepositoryABC,
users: UserRepositoryABC,
levels: LevelRepositoryABC, levels: LevelRepositoryABC,
users: UserRepositoryABC,
ujs: UserJoinedServerRepositoryABC,
ujvs: UserJoinedVoiceChannelRepositoryABC,
): ):
DataQueryABC.__init__(self, "Server") DataQueryABC.__init__(self, "Server")
self._bot = bot self._bot = bot
self._auto_roles = auto_roles self._auto_roles = auto_roles
self._users = users
self._clients = clients self._clients = clients
self._users = users
self._levels = levels self._levels = levels
self._users = users
self._ujs = ujs
self._ujvs = ujvs
self.set_field("id", self.resolve_id) self.set_field("id", self.resolve_id)
self.set_field("discord_id", self.resolve_discord_id) self.set_field("discordId", self.resolve_discord_id)
self.set_field("name", self.resolve_name) self.set_field("name", self.resolve_name)
self.add_collection( self.add_collection(
"auto_role", lambda server, *_: self._auto_roles.get_auto_roles_by_server_id(server.server_id) "auto_role", lambda server, *_: self._auto_roles.get_auto_roles_by_server_id(server.server_id)
) )
self.add_collection("client", lambda server, *_: self._clients.get_clients_by_server_id(server.server_id)) self.add_collection("client", lambda server, *_: self._clients.get_clients_by_server_id(server.server_id))
self.add_collection("user", lambda server, *_: self._users.get_users_by_server_id(server.server_id), UserFilter)
self.add_collection("level", lambda server, *_: self._levels.get_levels_by_server_id(server.server_id)) self.add_collection("level", lambda server, *_: self._levels.get_levels_by_server_id(server.server_id))
self.add_collection("user", lambda server, *_: self._users.get_users_by_server_id(server.server_id), UserFilter)
@staticmethod @staticmethod
def resolve_id(server: Server, *_): def resolve_id(server: Server, *_):

View File

@ -8,8 +8,8 @@ class UserJoinedServerQuery(DataQueryABC):
self.set_field("id", self.resolve_id) self.set_field("id", self.resolve_id)
self.set_field("user", self.resolve_user) self.set_field("user", self.resolve_user)
self.set_field("joined_on", self.resolve_joined_on) self.set_field("joinedOn", self.resolve_joined_on)
self.set_field("leaved_on", self.resolve_leaved_on) self.set_field("leavedOn", self.resolve_leaved_on)
@staticmethod @staticmethod
def resolve_id(x: UserJoinedServer, *_): def resolve_id(x: UserJoinedServer, *_):

View File

@ -11,11 +11,11 @@ class UserJoinedVoiceChannelQuery(DataQueryABC):
self._bot = bot self._bot = bot
self.set_field("id", self.resolve_id) self.set_field("id", self.resolve_id)
self.set_field("channel_id", self.resolve_channel_id) self.set_field("channelId", self.resolve_channel_id)
self.set_field("channel_name", self.resolve_channel_name) self.set_field("channelName", self.resolve_channel_name)
self.set_field("user", self.resolve_user) self.set_field("user", self.resolve_user)
self.set_field("joined_on", self.resolve_joined_on) self.set_field("joinedOn", self.resolve_joined_on)
self.set_field("leaved_on", self.resolve_leaved_on) self.set_field("leavedOn", self.resolve_leaved_on)
@staticmethod @staticmethod
def resolve_id(x: UserJoinedVoiceChannel, *_): def resolve_id(x: UserJoinedVoiceChannel, *_):

View File

@ -26,16 +26,14 @@ class UserQuery(DataQueryABC):
self._ujvs = ujvs self._ujvs = ujvs
self.set_field("id", self.resolve_id) self.set_field("id", self.resolve_id)
self.set_field("discord_id", self.resolve_discord_id) self.set_field("discordId", self.resolve_discord_id)
self.set_field("name", self.resolve_name) self.set_field("name", self.resolve_name)
self.set_field("xp", self.resolve_xp) self.set_field("xp", self.resolve_xp)
self.set_field("ontime", self.resolve_ontime) self.set_field("ontime", self.resolve_ontime)
self.set_field("level", self.resolve_level) self.set_field("level", self.resolve_level)
self.add_collection("joinedServer", lambda user, *_: self._ujs.get_user_joined_servers_by_user_id(user.user_id))
self.add_collection( self.add_collection(
"joined_server", lambda user, *_: self._ujs.get_user_joined_servers_by_user_id(user.user_id) "joinedVoiceChannel", lambda user, *_: self._ujvs.get_user_joined_voice_channels_by_user_id(user.user_id)
)
self.add_collection(
"joined_voice_channel", lambda user, *_: self._ujvs.get_user_joined_voice_channels_by_user_id(user.user_id)
) )
self.set_field("server", self.resolve_server) self.set_field("server", self.resolve_server)

View File

@ -36,14 +36,14 @@ class Query(QueryABC):
self._user_joined_voice_channels = user_joined_voice_channel self._user_joined_voice_channels = user_joined_voice_channel
self._users = users self._users = users
self.add_collection("auto_role", lambda *_: self._auto_roles.get_auto_roles(), AutoRoleFilter) self.add_collection("autoRole", lambda *_: self._auto_roles.get_auto_roles(), AutoRoleFilter)
self.add_collection("auto_role_rule", lambda *_: self._auto_roles.get_auto_role_rules(), AutoRoleRuleFilter) self.add_collection("autoRoleRule", lambda *_: self._auto_roles.get_auto_role_rules(), AutoRoleRuleFilter)
self.add_collection("client", lambda *_: self._clients.get_clients()) self.add_collection("client", lambda *_: self._clients.get_clients())
self.add_collection("known_user", lambda *_: self._known_users.get_users()) self.add_collection("knowUser", lambda *_: self._known_users.get_users())
self.add_collection("level", lambda *_: self._levels.get_levels(), LevelFilter) self.add_collection("level", lambda *_: self._levels.get_levels(), LevelFilter)
self.add_collection("server", lambda *_: self._servers.get_servers(), ServerFilter) self.add_collection("server", lambda *_: self._servers.get_servers(), ServerFilter)
self.add_collection("user_joined_server", lambda *_: self._user_joined_servers.get_user_joined_servers()) self.add_collection("userJoinedServer", lambda *_: self._user_joined_servers.get_user_joined_servers())
self.add_collection( self.add_collection(
"user_joined_voice_channel", lambda *_: self._user_joined_voice_channels.get_user_joined_voice_channels() "userJoinedVoiceChannel", lambda *_: self._user_joined_voice_channels.get_user_joined_voice_channels()
) )
self.add_collection("user", lambda *_: self._users.get_users(), UserFilter) self.add_collection("user", lambda *_: self._users.get_users(), UserFilter)