Fixed mutation #378

This commit is contained in:
Sven Heidemann 2023-09-28 10:38:08 +02:00
parent 290b5f38a7
commit 9783424066
4 changed files with 14 additions and 7 deletions

View File

@ -30,7 +30,8 @@ CREATE TRIGGER `TR_ShortRoleNamesDelete`
ON `ShortRoleNames` ON `ShortRoleNames`
FOR EACH ROW FOR EACH ROW
BEGIN BEGIN
INSERT INTO `ShortRoleNamesHistory` (`Id`, `ShortName`, `DiscordRoleId`, `ServerId`, `Deleted`, `DateFrom`, INSERT INTO `ShortRoleNamesHistory` (`Id`, `ShortName`, `DiscordRoleId`, `Position`, `ServerId`, `Deleted`,
`DateFrom`,
`DateTo`) `DateTo`)
VALUES (OLD.Id, OLD.ShortName, OLD.DiscordRoleId, OLD.Position, OLD.ServerId, TRUE, OLD.LastModifiedAt, VALUES (OLD.Id, OLD.ShortName, OLD.DiscordRoleId, OLD.Position, OLD.ServerId, TRUE, OLD.LastModifiedAt,
CURRENT_TIMESTAMP(6)); CURRENT_TIMESTAMP(6));

View File

@ -107,12 +107,12 @@ class ShortRoleName(TableABC):
return str( return str(
f""" f"""
INSERT INTO `ShortRoleNames` ( INSERT INTO `ShortRoleNames` (
`Name`, `DiscordRoleId`, `Position`, `ServerId` `ShortName`, `DiscordRoleId`, `Position`, `ServerId`
) VALUES ( ) VALUES (
'{self._short_name}', '{self._short_name}',
{self._discord_role_id} {self._discord_role_id},
'{self._position}', '{self._position}',
{self._server.id}, {self._server.id}
); );
""" """
) )
@ -122,7 +122,7 @@ class ShortRoleName(TableABC):
return str( return str(
f""" f"""
UPDATE `ShortRoleNames` UPDATE `ShortRoleNames`
SET `Name` = '{self._short_name}', SET `ShortName` = '{self._short_name}',
`DiscordRoleId` = {self._discord_role_id}, `DiscordRoleId` = {self._discord_role_id},
`Position` = '{self._position}', `Position` = '{self._position}',
`ServerId` = {self._server.id} `ServerId` = {self._server.id}

View File

@ -46,4 +46,5 @@ input ShortRoleNameInput {
roleId: String roleId: String
roleName: String roleName: String
position: String position: String
serverId: ID
} }

View File

@ -36,10 +36,15 @@ class ShortRoleNameMutation(QueryABC):
short_role_name = ShortRoleName( short_role_name = ShortRoleName(
input["shortName"], input["shortName"],
input["roleId"], int(input["roleId"]),
input["position"], input["position"],
server, server,
) )
result = self._short_role_names.find_short_role_name_by_role_id(short_role_name.role_id)
if result is not None:
raise ValueError("Short name for role already exists")
self._short_role_names.add_short_role_name(short_role_name) self._short_role_names.add_short_role_name(short_role_name)
self._db.save_changes() self._db.save_changes()
@ -47,7 +52,7 @@ class ShortRoleNameMutation(QueryABC):
return ( return (
srn.short_name == short_role_name.short_name srn.short_name == short_role_name.short_name
and srn.role_id == short_role_name.role_id and srn.role_id == short_role_name.role_id
and srn.position == short_role_name.position and srn.position.value == short_role_name.position
) )
return ( return (