import { Insertable, Updateable } from 'kysely'; import { Sessions } from 'src/db'; import { SessionEntity } from 'src/entities/session.entity'; export const ISessionRepository = 'ISessionRepository'; type E = SessionEntity; export type SessionSearchOptions = { updatedBefore: Date }; export interface ISessionRepository { search(options: SessionSearchOptions): Promise; create(dto: Insertable): Promise; update(id: string, dto: Updateable): Promise; delete(id: string): Promise; getByToken(token: string): Promise; getByUserId(userId: string): Promise; }