chore: wire Carplace into dev and production stacks
Build & Deploy / Build & Push Docker Image (push) Successful in 2m55s
Test / Type Check (all packages) (push) Successful in 54s
Build & Deploy / Deploy to VPS (push) Successful in 4s
Test / API Unit Tests (push) Failing after 48s
Test / Homepage Unit Tests (push) Successful in 43s
Test / Storefront Unit Tests (push) Failing after 40s
Test / Admin Unit Tests (push) Successful in 40s
Test / Dashboard Unit Tests (push) Failing after 42s
Test / API Integration Tests (push) Successful in 1m0s
Build & Deploy / Build & Push Docker Image (push) Successful in 2m55s
Test / Type Check (all packages) (push) Successful in 54s
Build & Deploy / Deploy to VPS (push) Successful in 4s
Test / API Unit Tests (push) Failing after 48s
Test / Homepage Unit Tests (push) Successful in 43s
Test / Storefront Unit Tests (push) Failing after 40s
Test / Admin Unit Tests (push) Successful in 40s
Test / Dashboard Unit Tests (push) Failing after 42s
Test / API Integration Tests (push) Successful in 1m0s
This commit is contained in:
@@ -44,7 +44,7 @@ CREATE TYPE "OfferType" AS ENUM ('PERCENTAGE', 'FIXED_AMOUNT', 'FREE_DAY', 'SPEC
|
||||
CREATE TYPE "ReservationStatus" AS ENUM ('DRAFT', 'CONFIRMED', 'ACTIVE', 'COMPLETED', 'CANCELLED', 'NO_SHOW');
|
||||
|
||||
-- CreateEnum
|
||||
CREATE TYPE "BookingSource" AS ENUM ('DASHBOARD', 'PUBLIC_SITE', 'MARKETPLACE', 'API');
|
||||
CREATE TYPE "BookingSource" AS ENUM ('DASHBOARD', 'PUBLIC_SITE', 'CARPLACE', 'API');
|
||||
|
||||
-- CreateEnum
|
||||
CREATE TYPE "CancelledBy" AS ENUM ('COMPANY', 'RENTER', 'SYSTEM');
|
||||
@@ -200,8 +200,8 @@ CREATE TABLE "brand_settings" (
|
||||
"paypalEmail" TEXT,
|
||||
"paypalMerchantId" TEXT,
|
||||
"paymentMethodsEnabled" "PaymentProvider"[],
|
||||
"isListedOnMarketplace" BOOLEAN NOT NULL DEFAULT true,
|
||||
"marketplaceRating" DOUBLE PRECISION,
|
||||
"isListedOnCarplace" BOOLEAN NOT NULL DEFAULT true,
|
||||
"carplaceRating" DOUBLE PRECISION,
|
||||
"home_page_config" JSONB,
|
||||
"menu_config" JSONB,
|
||||
"updatedAt" TIMESTAMP(3) NOT NULL,
|
||||
@@ -368,7 +368,7 @@ CREATE TABLE "reservations" (
|
||||
"offerId" TEXT,
|
||||
"promoCodeUsed" TEXT,
|
||||
"source" "BookingSource" NOT NULL DEFAULT 'DASHBOARD',
|
||||
"marketplaceRef" TEXT,
|
||||
"carplaceRef" TEXT,
|
||||
"status" "ReservationStatus" NOT NULL DEFAULT 'DRAFT',
|
||||
"startDate" TIMESTAMP(3) NOT NULL,
|
||||
"endDate" TIMESTAMP(3) NOT NULL,
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
ALTER TABLE "reservations" ADD COLUMN "reviewToken" TEXT;
|
||||
CREATE UNIQUE INDEX "reservations_reviewToken_key" ON "reservations"("reviewToken");
|
||||
|
||||
-- Make renterId optional on reviews (reviews can come from non-marketplace customers via token link)
|
||||
-- Make renterId optional on reviews (reviews can come from non-Carplace customers via token link)
|
||||
ALTER TABLE "reviews" ALTER COLUMN "renterId" DROP NOT NULL;
|
||||
ALTER TABLE "reviews" DROP CONSTRAINT IF EXISTS "reviews_renterId_fkey";
|
||||
ALTER TABLE "reviews" ADD CONSTRAINT "reviews_renterId_fkey"
|
||||
|
||||
@@ -15,11 +15,11 @@ INSERT INTO "plan_features" ("id", "plan", "label", "sortOrder") VALUES
|
||||
('plf_starter_1', 'STARTER', 'Up to 10 vehicles', 10),
|
||||
('plf_starter_2', 'STARTER', '1 user account', 20),
|
||||
('plf_starter_3', 'STARTER', 'Basic analytics', 30),
|
||||
('plf_starter_4', 'STARTER', 'Marketplace listing', 40),
|
||||
('plf_starter_4', 'STARTER', 'Carplace listing', 40),
|
||||
('plf_growth_1', 'GROWTH', 'Up to 50 vehicles', 10),
|
||||
('plf_growth_2', 'GROWTH', '5 user accounts', 20),
|
||||
('plf_growth_3', 'GROWTH', 'Full analytics', 30),
|
||||
('plf_growth_4', 'GROWTH', 'Priority marketplace placement', 40),
|
||||
('plf_growth_4', 'GROWTH', 'Priority Carplace placement', 40),
|
||||
('plf_growth_5', 'GROWTH', 'Custom branding', 50),
|
||||
('plf_pro_1', 'PRO', 'Unlimited vehicles', 10),
|
||||
('plf_pro_2', 'PRO', 'Unlimited user accounts', 20),
|
||||
|
||||
+30
@@ -0,0 +1,30 @@
|
||||
ALTER TYPE "NotificationType" ADD VALUE IF NOT EXISTS 'DOCUMENTS_REQUIRED';
|
||||
ALTER TYPE "NotificationType" ADD VALUE IF NOT EXISTS 'PAYMENT_REQUIRED';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS "carplace_funnel_events" (
|
||||
"id" TEXT PRIMARY KEY,
|
||||
"eventName" TEXT NOT NULL,
|
||||
"companyId" TEXT,
|
||||
"companySlug" TEXT NOT NULL,
|
||||
"vehicleId" TEXT NOT NULL,
|
||||
"renterId" TEXT,
|
||||
"sessionId" TEXT,
|
||||
"path" TEXT,
|
||||
"metadata" JSONB NOT NULL DEFAULT '{}',
|
||||
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS "carplace_funnel_events_eventName_createdAt_idx"
|
||||
ON "carplace_funnel_events"("eventName", "createdAt");
|
||||
|
||||
CREATE INDEX IF NOT EXISTS "carplace_funnel_events_companyId_createdAt_idx"
|
||||
ON "carplace_funnel_events"("companyId", "createdAt");
|
||||
|
||||
CREATE INDEX IF NOT EXISTS "carplace_funnel_events_companySlug_createdAt_idx"
|
||||
ON "carplace_funnel_events"("companySlug", "createdAt");
|
||||
|
||||
CREATE INDEX IF NOT EXISTS "carplace_funnel_events_vehicleId_createdAt_idx"
|
||||
ON "carplace_funnel_events"("vehicleId", "createdAt");
|
||||
|
||||
CREATE INDEX IF NOT EXISTS "carplace_funnel_events_renterId_createdAt_idx"
|
||||
ON "carplace_funnel_events"("renterId", "createdAt");
|
||||
-30
@@ -1,30 +0,0 @@
|
||||
ALTER TYPE "NotificationType" ADD VALUE IF NOT EXISTS 'DOCUMENTS_REQUIRED';
|
||||
ALTER TYPE "NotificationType" ADD VALUE IF NOT EXISTS 'PAYMENT_REQUIRED';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS "marketplace_funnel_events" (
|
||||
"id" TEXT PRIMARY KEY,
|
||||
"eventName" TEXT NOT NULL,
|
||||
"companyId" TEXT,
|
||||
"companySlug" TEXT NOT NULL,
|
||||
"vehicleId" TEXT NOT NULL,
|
||||
"renterId" TEXT,
|
||||
"sessionId" TEXT,
|
||||
"path" TEXT,
|
||||
"metadata" JSONB NOT NULL DEFAULT '{}',
|
||||
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS "marketplace_funnel_events_eventName_createdAt_idx"
|
||||
ON "marketplace_funnel_events"("eventName", "createdAt");
|
||||
|
||||
CREATE INDEX IF NOT EXISTS "marketplace_funnel_events_companyId_createdAt_idx"
|
||||
ON "marketplace_funnel_events"("companyId", "createdAt");
|
||||
|
||||
CREATE INDEX IF NOT EXISTS "marketplace_funnel_events_companySlug_createdAt_idx"
|
||||
ON "marketplace_funnel_events"("companySlug", "createdAt");
|
||||
|
||||
CREATE INDEX IF NOT EXISTS "marketplace_funnel_events_vehicleId_createdAt_idx"
|
||||
ON "marketplace_funnel_events"("vehicleId", "createdAt");
|
||||
|
||||
CREATE INDEX IF NOT EXISTS "marketplace_funnel_events_renterId_createdAt_idx"
|
||||
ON "marketplace_funnel_events"("renterId", "createdAt");
|
||||
@@ -255,7 +255,7 @@ enum ReservationStatus {
|
||||
enum BookingSource {
|
||||
DASHBOARD
|
||||
PUBLIC_SITE
|
||||
MARKETPLACE
|
||||
CARPLACE
|
||||
API
|
||||
}
|
||||
|
||||
@@ -980,8 +980,8 @@ model BrandSettings {
|
||||
paypalEmail String?
|
||||
paypalMerchantId String?
|
||||
paymentMethodsEnabled PaymentProvider[]
|
||||
isListedOnMarketplace Boolean @default(true)
|
||||
marketplaceRating Float?
|
||||
isListedOnCarplace Boolean @default(true)
|
||||
carplaceRating Float?
|
||||
homePageConfig Json? @map("home_page_config")
|
||||
menuConfig Json? @map("menu_config")
|
||||
|
||||
@@ -1279,7 +1279,7 @@ model Reservation {
|
||||
promoCodeUsed String?
|
||||
vehicleCategory VehicleCategory?
|
||||
source BookingSource @default(DASHBOARD)
|
||||
marketplaceRef String?
|
||||
carplaceRef String?
|
||||
status ReservationStatus @default(DRAFT)
|
||||
startDate DateTime
|
||||
endDate DateTime
|
||||
@@ -1352,7 +1352,7 @@ model ReservationPublicAccess {
|
||||
@@map("reservation_public_access")
|
||||
}
|
||||
|
||||
model MarketplaceFunnelEvent {
|
||||
model CarplaceFunnelEvent {
|
||||
id String @id @default(cuid())
|
||||
eventName String
|
||||
companyId String?
|
||||
@@ -1369,7 +1369,7 @@ model MarketplaceFunnelEvent {
|
||||
@@index([companySlug, createdAt])
|
||||
@@index([vehicleId, createdAt])
|
||||
@@index([renterId, createdAt])
|
||||
@@map("marketplace_funnel_events")
|
||||
@@map("carplace_funnel_events")
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user