PrismaListingRepository
@adamondo/backend / infrastructure/prisma/repositories/PrismaListingRepository
infrastructure/prisma/repositories/PrismaListingRepository
Classes
PrismaListingRepository
Defined in: src/infrastructure/prisma/repositories/PrismaListingRepository.ts:25
Implements
Constructors
Constructor
new PrismaListingRepository(
prisma):PrismaListingRepository
Defined in: src/infrastructure/prisma/repositories/PrismaListingRepository.ts:26
Parameters
prisma
Returns
Methods
existsById()
existsById(
id):Promise<boolean>
Defined in: src/infrastructure/prisma/repositories/PrismaListingRepository.ts:28
Parameters
id
number
Returns
Promise<boolean>
Implementation of
findById()
findById(
id):Promise<{ } |null>
Defined in: src/infrastructure/prisma/repositories/PrismaListingRepository.ts:36
Parameters
id
number
Returns
Promise<{ } | null>
Implementation of
updateReviewsCount()
updateReviewsCount(
params):Promise<void>
Defined in: src/infrastructure/prisma/repositories/PrismaListingRepository.ts:42
Parameters
params
id
number
reviewsCount
number
Returns
Promise<void>
Implementation of
ListingRepository.updateReviewsCount
countByUserId()
countByUserId(
userId):Promise<number>
Defined in: src/infrastructure/prisma/repositories/PrismaListingRepository.ts:49
Parameters
userId
string
Returns
Promise<number>
Implementation of
ListingRepository.countByUserId
searchUserListings()
searchUserListings(
params):Promise<object[]>
Defined in: src/infrastructure/prisma/repositories/PrismaListingRepository.ts:53
Parameters
params
userId
string
listIds?
number[]
searchKey?
string
listingTypeIds?
number[]
Returns
Promise<object[]>
Implementation of
ListingRepository.searchUserListings
findManyPublishedByIds()
findManyPublishedByIds(
ids):Promise<object[]>
Defined in: src/infrastructure/prisma/repositories/PrismaListingRepository.ts:93
Parameters
ids
number[]
Returns
Promise<object[]>
Implementation of
ListingRepository.findManyPublishedByIds
existsByIdAndUserId()
existsByIdAndUserId(
id,userId):Promise<boolean>
Defined in: src/infrastructure/prisma/repositories/PrismaListingRepository.ts:102
Parameters
id
number
userId
string
Returns
Promise<boolean>
Implementation of
ListingRepository.existsByIdAndUserId
findBlockedDatesByListId()
findBlockedDatesByListId(
listId,startDate?):Promise<object[]>
Defined in: src/infrastructure/prisma/repositories/PrismaListingRepository.ts:110
Parameters
listId
number
startDate?
Date
Returns
Promise<object[]>
Implementation of
ListingRepository.findBlockedDatesByListId
findSpecialPricingByReservationId()
findSpecialPricingByReservationId(
reservationId):Promise<object[]>
Defined in: src/infrastructure/prisma/repositories/PrismaListingRepository.ts:119
Parameters
reservationId
number
Returns
Promise<object[]>
Implementation of
ListingRepository.findSpecialPricingByReservationId
existsByUserId()
existsByUserId(
userId):Promise<boolean>
Defined in: src/infrastructure/prisma/repositories/PrismaListingRepository.ts:125
Parameters
userId
string
Returns
Promise<boolean>
Implementation of
ListingRepository.existsByUserId
findAvailableDatesByListId()
findAvailableDatesByListId(
listId):Promise<object[]>
Defined in: src/infrastructure/prisma/repositories/PrismaListingRepository.ts:132
Parameters
listId
number
Returns
Promise<object[]>
Implementation of
ListingRepository.findAvailableDatesByListId
findAllPublishedByUserId()
findAllPublishedByUserId(
userId):Promise<object[]>
Defined in: src/infrastructure/prisma/repositories/PrismaListingRepository.ts:141
Parameters
userId
string
Returns
Promise<object[]>
Implementation of
ListingRepository.findAllPublishedByUserId
countBlockedDatesWithReservation()
countBlockedDatesWithReservation(
listId,dates):Promise<number>
Defined in: src/infrastructure/prisma/repositories/PrismaListingRepository.ts:151
Parameters
listId
number
dates
Date[]
Returns
Promise<number>
Implementation of
ListingRepository.countBlockedDatesWithReservation
findBlockedDatesByListIdAndDates()
findBlockedDatesByListIdAndDates(
listId,dates):Promise<object[]>
Defined in: src/infrastructure/prisma/repositories/PrismaListingRepository.ts:161
Parameters
listId
number
dates
Date[]
Returns
Promise<object[]>
Implementation of
ListingRepository.findBlockedDatesByListIdAndDates
upsertBlockedDate()
upsertBlockedDate(
data):Promise<void>
Defined in: src/infrastructure/prisma/repositories/PrismaListingRepository.ts:171
Parameters
data
id?
number
listId
number
reservationId?
number | null
blockedDates
Date
isSpecialPrice
number | null
calendarStatus
ListBlockedDates_calendarStatus
Returns
Promise<void>
Implementation of
ListingRepository.upsertBlockedDate
updateIsPublished()
updateIsPublished(
listId,isPublished):Promise<number>
Defined in: src/infrastructure/prisma/repositories/PrismaListingRepository.ts:203
Parameters
listId
number
isPublished
boolean
Returns
Promise<number>
Implementation of
ListingRepository.updateIsPublished
searchListings()
searchListings(
params):Promise<{listings:object[];count:number; }>
Defined in: src/infrastructure/prisma/repositories/PrismaListingRepository.ts:211
Parameters
params
limit
number
offset
number
searchQuery?
string
Returns
Promise<{ listings: object[]; count: number; }>
Implementation of
ListingRepository.searchListings
getListingDashboardStats()
getListingDashboardStats():
Promise<{totalCount:number;todayCount:number;monthCount:number; }>
Defined in: src/infrastructure/prisma/repositories/PrismaListingRepository.ts:282
Returns
Promise<{ totalCount: number; todayCount: number; monthCount: number; }>
Implementation of
ListingRepository.getListingDashboardStats
findIdsByUserId()
findIdsByUserId(
userId):Promise<number[]>
Defined in: src/infrastructure/prisma/repositories/PrismaListingRepository.ts:326
Parameters
userId
string
Returns
Promise<number[]>
Implementation of
ListingRepository.findIdsByUserId
deleteAllListingAndRelatedDataByListIds()
deleteAllListingAndRelatedDataByListIds(
listIds):Promise<void>
Defined in: src/infrastructure/prisma/repositories/PrismaListingRepository.ts:334
Parameters
listIds
number[]
Returns
Promise<void>
Implementation of
ListingRepository.deleteAllListingAndRelatedDataByListIds
unpublishAllByUserId()
unpublishAllByUserId(
userId):Promise<void>
Defined in: src/infrastructure/prisma/repositories/PrismaListingRepository.ts:355
Parameters
userId
string
Returns
Promise<void>
Implementation of
ListingRepository.unpublishAllByUserId
update()
update(
id,data):Promise<void>
Defined in: src/infrastructure/prisma/repositories/PrismaListingRepository.ts:362
Parameters
id
number
data
ListingUpdateInput
Returns
Promise<void>
Implementation of
countPhotosByListId()
countPhotosByListId(
listId):Promise<number>
Defined in: src/infrastructure/prisma/repositories/PrismaListingRepository.ts:369
Parameters
listId
number
Returns
Promise<number>
Implementation of
ListingRepository.countPhotosByListId
createPhoto()
createPhoto(
data):Promise<void>
Defined in: src/infrastructure/prisma/repositories/PrismaListingRepository.ts:375
Parameters
data
listId
number
name
string
type
string
Returns
Promise<void>
Implementation of
createPhotoWithExtra()
createPhotoWithExtra(
listId,name,type?):Promise<{ }>
Defined in: src/infrastructure/prisma/repositories/PrismaListingRepository.ts:385
Parameters
listId
number
name
string
type?
string
Returns
Promise<{ }>
Implementation of
ListingRepository.createPhotoWithExtra
deletePhotoByNameAndListId()
deletePhotoByNameAndListId(
listId,name):Promise<number>
Defined in: src/infrastructure/prisma/repositories/PrismaListingRepository.ts:398
Parameters
listId
number
name
string
Returns
Promise<number>
Implementation of
ListingRepository.deletePhotoByNameAndListId
findPhotoByNameAndListId()
findPhotoByNameAndListId(
listId,name):Promise<{ } |null>
Defined in: src/infrastructure/prisma/repositories/PrismaListingRepository.ts:403
Parameters
listId
number
name
string
Returns
Promise<{ } | null>
Implementation of
ListingRepository.findPhotoByNameAndListId
updateCoverPhoto()
updateCoverPhoto(
listId,coverPhoto):Promise<void>
Defined in: src/infrastructure/prisma/repositories/PrismaListingRepository.ts:407
Parameters
listId
number
coverPhoto
number | null
Returns
Promise<void>
Implementation of
ListingRepository.updateCoverPhoto
unpublishAndClearCover()
unpublishAndClearCover(
listId):Promise<void>
Defined in: src/infrastructure/prisma/repositories/PrismaListingRepository.ts:414
Parameters
listId
number
Returns
Promise<void>
Implementation of
ListingRepository.unpublishAndClearCover
updateWishListIsActive()
updateWishListIsActive(
listId,isListActive):Promise<void>
Defined in: src/infrastructure/prisma/repositories/PrismaListingRepository.ts:425
Parameters
listId
number
isListActive
boolean
Returns
Promise<void>
Implementation of
ListingRepository.updateWishListIsActive
findFirstByWhere()
findFirstByWhere(
where):Promise<{ } |null>
Defined in: src/infrastructure/prisma/repositories/PrismaListingRepository.ts:431
Parameters
where
ListingWhereInput
Returns
Promise<{ } | null>
Implementation of
ListingRepository.findFirstByWhere
updateManyByWhere()
updateManyByWhere(
where,data):Promise<number>
Defined in: src/infrastructure/prisma/repositories/PrismaListingRepository.ts:435
Parameters
where
ListingWhereInput
data
ListingUpdateManyMutationInput
Returns
Promise<number>
Implementation of
ListingRepository.updateManyByWhere
findUserById()
findUserById(
userId):Promise<{id:string; } |null>
Defined in: src/infrastructure/prisma/repositories/PrismaListingRepository.ts:440
Parameters
userId
string
Returns
Promise<{ id: string; } | null>
Implementation of
ListingRepository.findUserById
createListing()
createListing(
data):Promise<{ }>
Defined in: src/infrastructure/prisma/repositories/PrismaListingRepository.ts:444
Parameters
data
ListingUncheckedCreateInput
Returns
Promise<{ }>
Implementation of
ListingRepository.createListing
findBlockedDatesByListIdAndDateRange()
findBlockedDatesByListIdAndDateRange(
listId,start,end):Promise<object[]>
Defined in: src/infrastructure/prisma/repositories/PrismaListingRepository.ts:449
Parameters
listId
number
start
Date
end
Date
Returns
Promise<object[]>
Implementation of
ListingRepository.findBlockedDatesByListIdAndDateRange
findAvailableListingIds()
findAvailableListingIds():
Promise<number[]>
Defined in: src/infrastructure/prisma/repositories/PrismaListingRepository.ts:457
Returns
Promise<number[]>
Implementation of
ListingRepository.findAvailableListingIds
findSimilarPublished()
findSimilarPublished(
excludeId,availableIds):Promise<object[]>
Defined in: src/infrastructure/prisma/repositories/PrismaListingRepository.ts:466
Parameters
excludeId
number
availableIds
number[]
Returns
Promise<object[]>
Implementation of
ListingRepository.findSimilarPublished
findBlockedDatesInRange()
findBlockedDatesInRange(
start,end):Promise<ListingIdRow[]>
Defined in: src/infrastructure/prisma/repositories/PrismaListingRepository.ts:472
Parameters
start
Date
end
Date
Returns
Promise<ListingIdRow[]>
Implementation of
ListingRepository.findBlockedDatesInRange
findPhotosByListId()
findPhotosByListId(
listId):Promise<object[]>
Defined in: src/infrastructure/prisma/repositories/PrismaListingRepository.ts:492
Parameters
listId
number
Returns
Promise<object[]>
Implementation of
ListingRepository.findPhotosByListId
findListingFeaturesByFeatureIds()
findListingFeaturesByFeatureIds(
featureIds):Promise<object[]>
Defined in: src/infrastructure/prisma/repositories/PrismaListingRepository.ts:499
Parameters
featureIds
number[]
Returns
Promise<object[]>
Implementation of
ListingRepository.findListingFeaturesByFeatureIds
findListingsForSearch()
findListingsForSearch(
where):Promise<object[]>
Defined in: src/infrastructure/prisma/repositories/PrismaListingRepository.ts:508
Search listings with fields required by ShowListingType.
Parameters
where
ListingWhereInput
Returns
Promise<object[]>
Implementation of
ListingRepository.findListingsForSearch
findFeaturesByListId()
findFeaturesByListId(
listId):Promise<object&object[]>
Defined in: src/infrastructure/prisma/repositories/PrismaListingRepository.ts:516
Parameters
listId
number
Returns
Promise<object & object[]>
Implementation of
ListingRepository.findFeaturesByListId
syncFeatures()
syncFeatures(
listId,featureIds):Promise<void>
Defined in: src/infrastructure/prisma/repositories/PrismaListingRepository.ts:523
Parameters
listId
number
featureIds
number[]
Returns
Promise<void>
Implementation of
ListingRepository.syncFeatures
findListingBookingFieldsByListId()
findListingBookingFieldsByListId(
listId):Promise<{cancellationPolicy:number|null;bookingNoticeTime:number|null; } |null>
Defined in: src/infrastructure/prisma/repositories/PrismaListingRepository.ts:544
Find consolidated listing booking data by listId.
NOTE: The ListingData table was merged into Listing in the car-metadata migration.
The cancellationPolicy field now lives directly on the Listing model.
Parameters
listId
number
Returns
Promise<{ cancellationPolicy: number | null; bookingNoticeTime: number | null; } | null>
Implementation of
ListingRepository.findListingBookingFieldsByListId
advanceStep()
advanceStep(
listId,step):Promise<void>
Defined in: src/infrastructure/prisma/repositories/PrismaListingRepository.ts:556
Parameters
listId
number
step
"step1" | "step2" | "step3"
Returns
Promise<void>