import { NullableType } from '../../../utils/types/nullable.type'; import { Session } from '../../domain/session'; import { User } from 'src/users/domain/user'; import { EntityCondition } from 'src/utils/types/entity-condition.type'; export abstract class SessionRepository { abstract findOne( options: EntityCondition, ): Promise>; abstract create( data: Omit, ): Promise; abstract update( id: Session['id'], payload: Partial< Omit >, ): Promise; abstract softDelete({ excludeId, ...criteria }: { id?: Session['id']; user?: Pick; excludeId?: Session['id']; }): Promise; }