Skip to main content

PrismaReviewRepository

@adamondo/backend


@adamondo/backend / infrastructure/prisma/repositories/PrismaReviewRepository

infrastructure/prisma/repositories/PrismaReviewRepository

Classes

PrismaReviewRepository

Defined in: src/infrastructure/prisma/repositories/PrismaReviewRepository.ts:11

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.

Implements

Constructors

Constructor

new PrismaReviewRepository(prisma): PrismaReviewRepository

Defined in: src/infrastructure/prisma/repositories/PrismaReviewRepository.ts:12

Parameters
prisma

Prisma.TransactionClient

Returns

PrismaReviewRepository

Methods

findMany()

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

Defined in: src/infrastructure/prisma/repositories/PrismaReviewRepository.ts:14

Parameters
params
userId

string

ownerType

string

offset

number

limit

number

Returns

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

Implementation of

ReviewRepository.findMany

findByListAndUser()

findByListAndUser(params): Promise<any[]>

Defined in: src/infrastructure/prisma/repositories/PrismaReviewRepository.ts:57

Parameters
params
listId

number

userId

string

limit

number

offset

number

Returns

Promise<any[]>

Implementation of

ReviewRepository.findByListAndUser

countRatingSummary()

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

Defined in: src/infrastructure/prisma/repositories/PrismaReviewRepository.ts:79

Parameters
params
listId

number

userId

string

Returns

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

Implementation of

ReviewRepository.countRatingSummary

findByReservationAndUser()

findByReservationAndUser(reservationId, userId): Promise<any>

Defined in: src/infrastructure/prisma/repositories/PrismaReviewRepository.ts:108

Parameters
reservationId

number

userId

string

Returns

Promise<any>

Implementation of

ReviewRepository.findByReservationAndUser

findByReservationAndAuthor()

findByReservationAndAuthor(reservationId, authorId): Promise<any>

Defined in: src/infrastructure/prisma/repositories/PrismaReviewRepository.ts:118

Parameters
reservationId

number

authorId

string

Returns

Promise<any>

Implementation of

ReviewRepository.findByReservationAndAuthor

findById()

findById(id): Promise<any>

Defined in: src/infrastructure/prisma/repositories/PrismaReviewRepository.ts:128

Parameters
id

number

Returns

Promise<any>

Implementation of

ReviewRepository.findById

createReview()

createReview(params): Promise<void>

Defined in: src/infrastructure/prisma/repositories/PrismaReviewRepository.ts:132

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>

Implementation of

ReviewRepository.createReview

updateReview()

updateReview(id, params): Promise<void>

Defined in: src/infrastructure/prisma/repositories/PrismaReviewRepository.ts:179

Parameters
id

number

params
listId?

number

reviewContent?

string

rating?

number

userId?

string

isAdminEnable?

boolean

isAdmin?

boolean

Returns

Promise<void>

Implementation of

ReviewRepository.updateReview

countEnabledReviewsByUserId()

countEnabledReviewsByUserId(userId): Promise<number>

Defined in: src/infrastructure/prisma/repositories/PrismaReviewRepository.ts:193

Parameters
userId

string

Returns

Promise<number>

Implementation of

ReviewRepository.countEnabledReviewsByUserId

findTopReviewsByUserId()

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

Defined in: src/infrastructure/prisma/repositories/PrismaReviewRepository.ts:202

Parameters
userId

string

limit

number

Returns

Promise<any[]>

Implementation of

ReviewRepository.findTopReviewsByUserId

sumRatingByUserId()

sumRatingByUserId(userId): Promise<number>

Defined in: src/infrastructure/prisma/repositories/PrismaReviewRepository.ts:213

Parameters
userId

string

Returns

Promise<number>

Implementation of

ReviewRepository.sumRatingByUserId

countEnabledListingReviews()

countEnabledListingReviews(listId, userId): Promise<number>

Defined in: src/infrastructure/prisma/repositories/PrismaReviewRepository.ts:224

Parameters
listId

number

userId

string

Returns

Promise<number>

Implementation of

ReviewRepository.countEnabledListingReviews

sumListingRating()

sumListingRating(listId, userId): Promise<number>

Defined in: src/infrastructure/prisma/repositories/PrismaReviewRepository.ts:234

Parameters
listId

number

userId

string

Returns

Promise<number>

Implementation of

ReviewRepository.sumListingRating

findTopListingReviews()

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

Defined in: src/infrastructure/prisma/repositories/PrismaReviewRepository.ts:246

Parameters
listId

number

userId

string

limit

number

Returns

Promise<any[]>

Implementation of

ReviewRepository.findTopListingReviews

countEnabledReviewsByAuthorId()

countEnabledReviewsByAuthorId(authorId): Promise<number>

Defined in: src/infrastructure/prisma/repositories/PrismaReviewRepository.ts:258

Parameters
authorId

string

Returns

Promise<number>

Implementation of

ReviewRepository.countEnabledReviewsByAuthorId

getDashboardData()

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

Defined in: src/infrastructure/prisma/repositories/PrismaReviewRepository.ts:271

Parameters
scope

string

Returns

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

Implementation of

ReviewRepository.getDashboardData

searchReviewsWithFilter()

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

Defined in: src/infrastructure/prisma/repositories/PrismaReviewRepository.ts:324

Parameters
params
limit

number

offset

number

searchQuery?

string

Returns

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

Implementation of

ReviewRepository.searchReviewsWithFilter

deleteAllReviewsByFilters()

deleteAllReviewsByFilters(params): Promise<void>

Defined in: src/infrastructure/prisma/repositories/PrismaReviewRepository.ts:371

Parameters
params
userId?

string

authorId?

string

listIds?

number[]

Returns

Promise<void>

Implementation of

ReviewRepository.deleteAllReviewsByFilters