add text input validation
Build & Push / Pipeline Tests (push) Failing after 1m5s
Build & Push / Build & Push Docker Image (push) Has been skipped
Test / Type Check (all packages) (push) Failing after 52s
Test / API Unit Tests (push) Has been skipped
Test / Homepage Unit Tests (push) Has been skipped
Test / Carplace Unit Tests (push) Has been skipped
Test / Admin Unit Tests (push) Has been skipped
Test / Dashboard Unit Tests (push) Has been skipped
Test / API Integration Tests (push) Has been skipped

This commit is contained in:
root
2026-08-31 22:51:44 -04:00
parent b99e8d0be4
commit 057d41e1c2
61 changed files with 968 additions and 302 deletions
@@ -0,0 +1,50 @@
ALTER TABLE "customers"
ADD COLUMN "language" VARCHAR(2) NOT NULL DEFAULT 'en';
ALTER TABLE "customers"
ALTER COLUMN "language" DROP DEFAULT,
ALTER COLUMN "firstName" TYPE VARCHAR(50),
ALTER COLUMN "lastName" TYPE VARCHAR(50),
ALTER COLUMN "email" TYPE VARCHAR(254),
ALTER COLUMN "phone" TYPE VARCHAR(20),
ALTER COLUMN "driverLicense" TYPE VARCHAR(30),
ALTER COLUMN "nationality" TYPE VARCHAR(2),
ALTER COLUMN "licenseCountry" TYPE VARCHAR(2),
ALTER COLUMN "licenseNumber" TYPE VARCHAR(30),
ALTER COLUMN "licenseCategory" TYPE VARCHAR(30);
ALTER TABLE "additional_drivers"
ADD COLUMN "language" VARCHAR(2) NOT NULL DEFAULT 'en';
ALTER TABLE "additional_drivers"
ALTER COLUMN "language" DROP DEFAULT,
ALTER COLUMN "firstName" TYPE VARCHAR(50),
ALTER COLUMN "lastName" TYPE VARCHAR(50),
ALTER COLUMN "email" TYPE VARCHAR(254),
ALTER COLUMN "phone" TYPE VARCHAR(20),
ALTER COLUMN "driverLicense" TYPE VARCHAR(30),
ALTER COLUMN "nationality" TYPE VARCHAR(2);
ALTER TABLE "employees"
ALTER COLUMN "firstName" TYPE VARCHAR(50),
ALTER COLUMN "lastName" TYPE VARCHAR(50),
ALTER COLUMN "email" TYPE VARCHAR(254),
ALTER COLUMN "phone" TYPE VARCHAR(20);
ALTER TABLE "companies"
ALTER COLUMN "phone" TYPE VARCHAR(20);
ALTER TABLE "vehicles"
ALTER COLUMN "vin" TYPE VARCHAR(17);
ALTER TABLE "customers"
ADD CONSTRAINT "customers_language_check" CHECK ("language" IN ('en', 'fr', 'ar')),
ADD CONSTRAINT "customers_driver_license_check" CHECK ("driverLicense" IS NULL OR "driverLicense" ~ '^[A-Za-z0-9]{5,30}$'),
ADD CONSTRAINT "customers_license_number_check" CHECK ("licenseNumber" IS NULL OR "licenseNumber" ~ '^[A-Za-z0-9]{5,30}$');
ALTER TABLE "additional_drivers"
ADD CONSTRAINT "additional_drivers_language_check" CHECK ("language" IN ('en', 'fr', 'ar')),
ADD CONSTRAINT "additional_drivers_driver_license_check" CHECK ("driverLicense" ~ '^[A-Za-z0-9]{5,30}$');
ALTER TABLE "vehicles"
ADD CONSTRAINT "vehicles_vin_check" CHECK ("vin" IS NULL OR "vin" ~ '^[A-HJ-NPR-Za-hj-npr-z0-9]{17}$');
+23 -21
View File
@@ -626,7 +626,7 @@ model Company {
name String
slug String @unique
email String @unique
phone String?
phone String? @db.VarChar(20)
address Json?
status CompanyStatus @default(PENDING)
subscriptionPaymentRef String?
@@ -1472,10 +1472,10 @@ model Employee {
companyId String
company Company @relation(fields: [companyId], references: [id], onDelete: Cascade)
clerkUserId String @unique
firstName String
lastName String
email String
phone String?
firstName String @db.VarChar(50)
lastName String @db.VarChar(50)
email String @db.VarChar(254)
phone String? @db.VarChar(20)
passwordHash String?
passwordResetToken String? @unique
passwordResetExpiresAt DateTime?
@@ -1514,7 +1514,7 @@ model Vehicle {
year Int
color String
licensePlate String
vin String?
vin String? @db.VarChar(17)
category VehicleCategory @default(ECONOMY)
seats Int @default(5)
transmission Transmission @default(AUTOMATIC)
@@ -1714,13 +1714,14 @@ model Customer {
companyId String
company Company @relation(fields: [companyId], references: [id], onDelete: Cascade)
renterId String?
firstName String
lastName String
email String
phone String?
driverLicense String?
language String @db.VarChar(2)
firstName String @db.VarChar(50)
lastName String @db.VarChar(50)
email String @db.VarChar(254)
phone String? @db.VarChar(20)
driverLicense String? @db.VarChar(30)
dateOfBirth DateTime?
nationality String?
nationality String? @db.VarChar(2)
address Json?
notes String?
flagged Boolean @default(false)
@@ -1728,10 +1729,10 @@ model Customer {
licenseExpiry DateTime?
licenseIssuedAt DateTime?
licenseCountry String?
licenseCountry String? @db.VarChar(2)
licenseImageUrl String?
licenseNumber String?
licenseCategory String?
licenseNumber String? @db.VarChar(30)
licenseCategory String? @db.VarChar(30)
licenseExpired Boolean @default(false)
licenseExpiringSoon Boolean @default(false)
licenseValidationStatus LicenseStatus @default(PENDING)
@@ -2262,15 +2263,16 @@ model AdditionalDriver {
reservationId String
reservation Reservation @relation(fields: [reservationId], references: [id], onDelete: Cascade)
companyId String
firstName String
lastName String
email String?
phone String?
driverLicense String
language String @db.VarChar(2)
firstName String @db.VarChar(50)
lastName String @db.VarChar(50)
email String? @db.VarChar(254)
phone String? @db.VarChar(20)
driverLicense String @db.VarChar(30)
licenseExpiry DateTime?
licenseIssuedAt DateTime?
dateOfBirth DateTime?
nationality String?
nationality String? @db.VarChar(2)
chargeType AdditionalDriverCharge @default(FREE)
chargeValue Int @default(0)
totalCharge Int @default(0)