import { Injectable } from '@nestjs/common'; import { User } from 'src/users/domain/user'; import { EntityCondition } from 'src/utils/types/entity-condition.type'; import { SessionRepository } from './infrastructure/persistence/session.repository'; import { Session } from './domain/session'; import { NullableType } from 'src/utils/types/nullable.type'; @Injectable() export class SessionService { constructor(private readonly sessionRepository: SessionRepository) {} findOne(options: EntityCondition): Promise> { return this.sessionRepository.findOne(options); } create( data: Omit, ): Promise { return this.sessionRepository.create(data); } update( id: Session['id'], payload: Partial< Omit >, ): Promise { return this.sessionRepository.update(id, payload); } async softDelete(criteria: { id?: Session['id']; user?: Pick; excludeId?: Session['id']; }): Promise { await this.sessionRepository.softDelete(criteria); } }