Skip to main content

ThreadRepository

@adamondo/backend


@adamondo/backend / application/repositories/ThreadRepository

application/repositories/ThreadRepository

Interfaces

ThreadEntity

Defined in: src/application/repositories/ThreadRepository.ts:8

Repository contract for ThreadRepository, defining persistence capabilities required by services. Use cases:

  • Decouple business logic from ORM details.
  • Provide testable abstractions for read/write operations. Example: Implemented by Prisma repositories in src/infrastructure/prisma/repositories.

Properties

id

id: number

Defined in: src/application/repositories/ThreadRepository.ts:9

listId

listId: number

Defined in: src/application/repositories/ThreadRepository.ts:10

host

host: string

Defined in: src/application/repositories/ThreadRepository.ts:11

guest

guest: string

Defined in: src/application/repositories/ThreadRepository.ts:12

isRead

isRead: boolean

Defined in: src/application/repositories/ThreadRepository.ts:13

messageUpdatedDate

messageUpdatedDate: Date | null

Defined in: src/application/repositories/ThreadRepository.ts:14

createdAt

createdAt: Date

Defined in: src/application/repositories/ThreadRepository.ts:15

updatedAt

updatedAt: Date

Defined in: src/application/repositories/ThreadRepository.ts:16


ThreadRepository

Defined in: src/application/repositories/ThreadRepository.ts:19

Methods

findById()

findById(id): Promise<ThreadEntity | null>

Defined in: src/application/repositories/ThreadRepository.ts:20

Parameters
id

number

Returns

Promise<ThreadEntity | null>

findByUserIdAndThreadId()

findByUserIdAndThreadId(userId, threadId): Promise<ThreadEntity | null>

Defined in: src/application/repositories/ThreadRepository.ts:21

Parameters
userId

string

threadId

number

Returns

Promise<ThreadEntity | null>

updateIsRead()

updateIsRead(id, isRead): Promise<void>

Defined in: src/application/repositories/ThreadRepository.ts:22

Parameters
id

number

isRead

boolean

Returns

Promise<void>

updateMessageUpdatedDate()

updateMessageUpdatedDate(id, date): Promise<void>

Defined in: src/application/repositories/ThreadRepository.ts:23

Parameters
id

number

date

Date

Returns

Promise<void>

create()

create(data): Promise<ThreadEntity>

Defined in: src/application/repositories/ThreadRepository.ts:24

Parameters
data
listId

number

host

string

guest

string

messageUpdatedDate?

Date

Returns

Promise<ThreadEntity>

findAllByUserIdAndRole()

findAllByUserIdAndRole(userId, role, limit, offset, options?): Promise<{ threads: ThreadEntity[]; count: number; }>

Defined in: src/application/repositories/ThreadRepository.ts:25

Parameters
userId

string

role

"host" | "guest"

limit

number

offset

number

options?
reservationState?

string

orderBy?

string

unreadOnly?

boolean

Returns

Promise<{ threads: ThreadEntity[]; count: number; }>

findAll()

findAll(limit, offset, options?): Promise<{ threads: ThreadEntity[]; count: number; }>

Defined in: src/application/repositories/ThreadRepository.ts:36

Parameters
limit

number

offset

number

options?
reservationState?

string

orderBy?

string

Returns

Promise<{ threads: ThreadEntity[]; count: number; }>

countAll()

countAll(): Promise<number>

Defined in: src/application/repositories/ThreadRepository.ts:44

Returns

Promise<number>

countByDateRange()

countByDateRange(startDate, endDate): Promise<number>

Defined in: src/application/repositories/ThreadRepository.ts:45

Parameters
startDate

Date

endDate

Date

Returns

Promise<number>

findIdsByUserId()

findIdsByUserId(userId): Promise<number[]>

Defined in: src/application/repositories/ThreadRepository.ts:46

Parameters
userId

string

Returns

Promise<number[]>

deleteAllThreadAndRelatedDataByIds()

deleteAllThreadAndRelatedDataByIds(ids, tx?): Promise<void>

Defined in: src/application/repositories/ThreadRepository.ts:47

Parameters
ids

number[]

tx?

unknown

Returns

Promise<void>