async def remove_feed_channel(
            cls, session: AsyncSession,
            guild_id: t.Union[str, int, discord.Guild]) -> None:
        guild_id = get_datatype_int(guild_id)

        row = await session.run_sync(lambda session: session.query(cls).
                                     filter_by(guild_id=guild_id).first())
        await session.run_sync(lambda session: session.delete(row))

        await session.commit()
Beispiel #2
0
    async def remove_strike(cls, engine: AsyncEngine, guild: t.Union[str, int,
                                                                     Guild],
                            strike_id: int) -> dict:
        session = AsyncSession(bind=engine)

        guild = get_str_guild(guild)

        row = await session.run_sync(lambda session: session.query(
            cls).filter_by(guild=guild, id=strike_id).one())
        dct = row.to_dict()
        await session.run_sync(lambda session: session.delete(row))
        await session.close()

        logger.debug(f"Strike {strike_id} has been removed")

        return dct
Beispiel #3
0
 async def remove(self, db: AsyncSession, *, id: int) -> ModelType:
     obj = await self.get(db, id)
     db.delete(obj)
     await db.commit()
     return obj