PrismaReviewRepository
@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
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
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
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
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
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>