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:
@@ -0,0 +1,5 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE "Listing" ADD COLUMN "featuredPackage" TEXT;
|
||||
|
||||
-- Backfill existing featured listings based on featuredUntil duration (best-effort)
|
||||
-- No backfill needed: featuredPackage is informational for new purchases only.
|
||||
@@ -407,6 +407,7 @@ model Listing {
|
||||
saveCount Int @default(0)
|
||||
inquiryCount Int @default(0)
|
||||
featuredUntil DateTime?
|
||||
featuredPackage String? /// "3_days" | "7_days" | "30_days"
|
||||
expiresAt DateTime?
|
||||
publishedAt DateTime?
|
||||
createdAt DateTime @default(now())
|
||||
|
||||
Reference in New Issue
Block a user