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()
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
async def remove(self, db: AsyncSession, *, id: int) -> ModelType: obj = await self.get(db, id) db.delete(obj) await db.commit() return obj