Skip to main content

ReviewRepository

@adamondo/backend


@adamondo/backend / application/repositories/ReviewRepository

application/repositories/ReviewRepository

Interfaces

ReviewRepository

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

Repository contract for ReviewRepository, 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.

Methods

findMany()

findMany(params): Promise<{ results: any[]; totalCount: number; count: number; }>

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

Parameters
params
userId

string

ownerType

string

offset

number

limit

number

Returns

Promise<{ results: any[]; totalCount: number; count: number; }>

findByListAndUser()

findByListAndUser(params): Promise<any[]>

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

Parameters
params
listId

number

userId

string

limit

number

offset

number

Returns

Promise<any[]>

countRatingSummary()

countRatingSummary(params): Promise<{ reviewsCount: number; reviewsStarRating: number; }>

Defined in: src/application/repositories/ReviewRepository.ts:27

Parameters
params
listId

number

userId

string

Returns

Promise<{ reviewsCount: number; reviewsStarRating: number; }>

findByReservationAndUser()

findByReservationAndUser(reservationId, userId): Promise<any>

Defined in: src/application/repositories/ReviewRepository.ts:32

Parameters
reservationId

number

userId

string

Returns

Promise<any>

findByReservationAndAuthor()

findByReservationAndAuthor(reservationId, authorId): Promise<any>

Defined in: src/application/repositories/ReviewRepository.ts:33

Parameters
reservationId

number

authorId

string

Returns

Promise<any>

findById()

findById(id): Promise<any>

Defined in: src/application/repositories/ReviewRepository.ts:34

Parameters
id

number

Returns

Promise<any>

createReview()

createReview(params): Promise<void>

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

Parameters
params
reservationId

number

listId

number

authorId

string

userId

string

reviewContent

string

rating

number

parentId

number

automated?

boolean

isAdminEnable

boolean

isAdmin?

boolean

createdAt

Date

updatedAt

Date

Returns

Promise<void>

updateReview()

updateReview(id, params): Promise<void>

Defined in: src/application/repositories/ReviewRepository.ts:51

Parameters
id

number

params
listId?

number

reviewContent?

string

rating?

number

userId?

string

isAdminEnable?

boolean

isAdmin?

boolean

Returns

Promise<void>

countEnabledReviewsByUserId()

countEnabledReviewsByUserId(userId): Promise<number>

Defined in: src/application/repositories/ReviewRepository.ts:59

Parameters
userId

string

Returns

Promise<number>

findTopReviewsByUserId()

findTopReviewsByUserId(userId, limit): Promise<any[]>

Defined in: src/application/repositories/ReviewRepository.ts:60

Parameters
userId

string

limit

number

Returns

Promise<any[]>

sumRatingByUserId()

sumRatingByUserId(userId): Promise<number>

Defined in: src/application/repositories/ReviewRepository.ts:61

Parameters
userId

string

Returns

Promise<number>

countEnabledListingReviews()

countEnabledListingReviews(listId, userId): Promise<number>

Defined in: src/application/repositories/ReviewRepository.ts:62

Parameters
listId

number

userId

string

Returns

Promise<number>

sumListingRating()

sumListingRating(listId, userId): Promise<number>

Defined in: src/application/repositories/ReviewRepository.ts:63

Parameters
listId

number

userId

string

Returns

Promise<number>

findTopListingReviews()

findTopListingReviews(listId, userId, limit): Promise<any[]>

Defined in: src/application/repositories/ReviewRepository.ts:64

Parameters
listId

number

userId

string

limit

number

Returns

Promise<any[]>

countEnabledReviewsByAuthorId()

countEnabledReviewsByAuthorId(authorId): Promise<number>

Defined in: src/application/repositories/ReviewRepository.ts:65

Parameters
authorId

string

Returns

Promise<number>

getDashboardData()

getDashboardData(scope): Promise<{ totalCount: number; todayCount: number; monthCount: number; pendingApprovalCount: number; }>

Defined in: src/application/repositories/ReviewRepository.ts:66

Parameters
scope

string

Returns

Promise<{ totalCount: number; todayCount: number; monthCount: number; pendingApprovalCount: number; }>

searchReviewsWithFilter()

searchReviewsWithFilter(params): Promise<{ reviews: any[]; count: number; }>

Defined in: src/application/repositories/ReviewRepository.ts:72

Parameters
params
limit

number

offset

number

searchQuery?

string

Returns

Promise<{ reviews: any[]; count: number; }>

deleteAllReviewsByFilters()

deleteAllReviewsByFilters(params): Promise<void>

Defined in: src/application/repositories/ReviewRepository.ts:77

Parameters
params
userId?

string

authorId?

string

listIds?

number[]

Returns

Promise<void>