feat(listings): complete featured listings with payment, expiry, and Typesense boost
- Add `featuredPackage` column to Listing (3_days/7_days/30_days) - Update ActivateFeaturedListingHandler to store package + emit listing.updated for Typesense re-index - Add ListingFeaturedExpiredHandler in search module to re-index on featured expiry - Add tier-weighted isFeatured boost in Typesense (30d=3, 7d=2, 3d=1) - Update expiry cron to clear featuredPackage alongside featuredUntil - Update admin and promote handlers to persist featuredPackage - Add/update tests: activation (8 cases), featured-expired search handler TEC-3070 Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
@@ -14,6 +14,7 @@ import { SearchPropertiesHandler } from './application/queries/search-properties
|
||||
import { SEARCH_REPOSITORY } from './domain/repositories/search.repository';
|
||||
import { SavedSearchAlertCronService } from './infrastructure/cron/saved-search-alert-cron.service';
|
||||
import { ListingApprovedEventHandler } from './infrastructure/event-handlers/listing-approved.handler';
|
||||
import { ListingFeaturedExpiredHandler } from './infrastructure/event-handlers/listing-featured-expired.handler';
|
||||
import { ListingStatusChangedHandler } from './infrastructure/event-handlers/listing-status-changed.handler';
|
||||
import { SavedSearchAlertHandler } from './infrastructure/event-handlers/saved-search-alert.handler';
|
||||
import { ListingIndexerService } from './infrastructure/services/listing-indexer.service';
|
||||
@@ -48,6 +49,7 @@ const QueryHandlers = [SearchPropertiesHandler, GeoSearchHandler, GetSavedSearch
|
||||
|
||||
// Event handlers
|
||||
ListingApprovedEventHandler,
|
||||
ListingFeaturedExpiredHandler,
|
||||
ListingStatusChangedHandler,
|
||||
SavedSearchAlertHandler,
|
||||
|
||||
|
||||
Reference in New Issue
Block a user