Skip to main content

PrismaListingRepository

@adamondo/backend


@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

PrismaClient

Returns

PrismaListingRepository

Methods

existsById()

existsById(id): Promise<boolean>

Defined in: src/infrastructure/prisma/repositories/PrismaListingRepository.ts:28

Parameters
id

number

Returns

Promise<boolean>

Implementation of

ListingRepository.existsById

findById()

findById(id): Promise<{ } | null>

Defined in: src/infrastructure/prisma/repositories/PrismaListingRepository.ts:36

Parameters
id

number

Returns

Promise<{ } | null>

Implementation of

ListingRepository.findById

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

ListingRepository.update

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

ListingRepository.createPhoto

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>

Implementation of

ListingRepository.advanceStep