MySQLWorkspaceInviteRepository.ts 840 B

12345678910111213141516171819202122
  1. import { inject, injectable } from 'inversify'
  2. import { Repository } from 'typeorm'
  3. import TYPES from '../../Bootstrap/Types'
  4. import { WorkspaceInvite } from '../../Domain/Invite/WorkspaceInvite'
  5. import { WorkspaceInviteRepositoryInterface } from '../../Domain/Invite/WorkspaceInviteRepositoryInterface'
  6. @injectable()
  7. export class MySQLWorkspaceInviteRepository implements WorkspaceInviteRepositoryInterface {
  8. constructor(
  9. @inject(TYPES.ORMWorkspaceInviteRepository)
  10. private ormRepository: Repository<WorkspaceInvite>,
  11. ) {}
  12. async findOneByUuid(uuid: string): Promise<WorkspaceInvite | null> {
  13. return this.ormRepository.createQueryBuilder().where('uuid = :uuid', { uuid }).getOne()
  14. }
  15. async save(workspaceInvite: WorkspaceInvite): Promise<WorkspaceInvite> {
  16. return this.ormRepository.save(workspaceInvite)
  17. }
  18. }