vendor slugs routes instead of ids

This commit is contained in:
2026-01-27 16:56:57 -05:00
parent aa2f30c086
commit c6ff651f21
10 changed files with 247 additions and 120 deletions

View File

@@ -0,0 +1,11 @@
/*
Warnings:
- A unique constraint covering the columns `[slug]` on the table `Vendor` will be added. If there are existing duplicate values, this will fail.
*/
-- AlterTable
ALTER TABLE "Vendor" ADD COLUMN "slug" TEXT;
-- CreateIndex
CREATE UNIQUE INDEX "Vendor_slug_key" ON "Vendor"("slug");

View File

@@ -0,0 +1,8 @@
/*
Warnings:
- Made the column `slug` on table `Vendor` required. This step will fail if there are existing NULL values in that column.
*/
-- AlterTable
ALTER TABLE "Vendor" ALTER COLUMN "slug" SET NOT NULL;

View File

@@ -0,0 +1,35 @@
-- CreateIndex
CREATE INDEX "Vendor_slug_idx" ON "Vendor"("slug");
-- CreateIndex
CREATE INDEX "Vendor_name_idx" ON "Vendor"("name");
-- CreateIndex
CREATE INDEX "Vendor_type_idx" ON "Vendor"("type");
-- CreateIndex
CREATE INDEX "Vendor_status_idx" ON "Vendor"("status");
-- CreateIndex
CREATE INDEX "Vendor_isBooked_idx" ON "Vendor"("isBooked");
-- CreateIndex
CREATE INDEX "Vendor_bookedDate_idx" ON "Vendor"("bookedDate");
-- CreateIndex
CREATE INDEX "Vendor_finalCost_idx" ON "Vendor"("finalCost");
-- CreateIndex
CREATE INDEX "Vendor_createdAt_idx" ON "Vendor"("createdAt");
-- CreateIndex
CREATE INDEX "Vendor_type_status_idx" ON "Vendor"("type", "status");
-- CreateIndex
CREATE INDEX "Vendor_isBooked_type_idx" ON "Vendor"("isBooked", "type");
-- CreateIndex
CREATE INDEX "Vendor_depositDueDate_idx" ON "Vendor"("depositDueDate");
-- CreateIndex
CREATE INDEX "Vendor_finalPaymentDue_idx" ON "Vendor"("finalPaymentDue");

View File

@@ -148,6 +148,7 @@ model Vendor {
id String @id @default(cuid())
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
slug String @unique
name String
type VendorType
@@ -178,6 +179,19 @@ model Vendor {
events Event[]
categories Category[]
@@index([slug])
@@index([name])
@@index([type])
@@index([status])
@@index([isBooked])
@@index([bookedDate])
@@index([finalCost])
@@index([createdAt])
@@index([type, status])
@@index([isBooked, type])
@@index([depositDueDate])
@@index([finalPaymentDue])
}
model Address {