async def fetch_past_timers(db: asyncpg.Connection) -> typing.List[Timer]: fetched = await db.fetch(''' select * from Timers where now() > expires_at; ''') return Timer.convertMany(fetched)
async def get_where(db: asyncpg.Connection, *, extras: typing.Dict, limit: int) -> typing.List[Timer]: query = ''' select * from Timers where extras @> $1::jsonb limit $2; ''' fetched = await db.fetch(query, extras, limit) return Timer.convertMany(fetched)
async def fetch_all_timers(db: asyncpg.Connection) -> typing.List[Timer]: fetched = await db.fetch(''' select * from Timers; ''') return Timer.convertMany(fetched)