fix: add missing howitworks and testimonials fields to API schema and admin section labels
Build & Deploy / Deploy to VPS (push) Has been cancelled
Build & Deploy / Build & Push Docker Image (push) Has been cancelled
Test / API Unit Tests (push) Successful in 9m50s
Test / Marketplace Unit Tests (push) Successful in 9m37s
Test / Admin Unit Tests (push) Successful in 9m38s
Test / Dashboard Unit Tests (push) Successful in 9m37s
Test / API Integration Tests (push) Successful in 9m54s
Build & Deploy / Deploy to VPS (push) Has been cancelled
Build & Deploy / Build & Push Docker Image (push) Has been cancelled
Test / API Unit Tests (push) Successful in 9m50s
Test / Marketplace Unit Tests (push) Successful in 9m37s
Test / Admin Unit Tests (push) Successful in 9m38s
Test / Dashboard Unit Tests (push) Successful in 9m37s
Test / API Integration Tests (push) Successful in 9m54s
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
import { z } from 'zod'
|
import { z } from 'zod'
|
||||||
import type { MarketplaceHomepageContent, MarketplaceHomepageMetric, MarketplaceHomepagePillar, MarketplaceHomepageSectionType, MarketplaceHomepageStep } from '@rentaldrivego/types'
|
import type { MarketplaceHomepageContent, MarketplaceHomepageHowItWorksStep, MarketplaceHomepageMetric, MarketplaceHomepagePillar, MarketplaceHomepageSectionType, MarketplaceHomepageStep, MarketplaceHomepageTestimonial } from '@rentaldrivego/types'
|
||||||
|
|
||||||
export const loginSchema = z.object({
|
export const loginSchema = z.object({
|
||||||
email: z.string().email().max(255).trim().toLowerCase(),
|
email: z.string().email().max(255).trim().toLowerCase(),
|
||||||
@@ -175,10 +175,12 @@ export const adminCompanyUpdateSchema = z.object({
|
|||||||
}).optional(),
|
}).optional(),
|
||||||
})
|
})
|
||||||
|
|
||||||
const marketplaceMetricSchema: z.ZodType<MarketplaceHomepageMetric> = z.object({ value: z.string().min(1), label: z.string().min(1) })
|
const marketplaceMetricSchema: z.ZodType<MarketplaceHomepageMetric> = z.object({ value: z.string().min(1), label: z.string().min(1) })
|
||||||
const marketplacePillarSchema: z.ZodType<MarketplaceHomepagePillar> = z.object({ title: z.string().min(1), body: z.string().min(1) })
|
const marketplacePillarSchema: z.ZodType<MarketplaceHomepagePillar> = z.object({ title: z.string().min(1), body: z.string().min(1) })
|
||||||
const marketplaceStepSchema: z.ZodType<MarketplaceHomepageStep> = z.object({ step: z.string().min(1), title: z.string().min(1), body: z.string().min(1) })
|
const marketplaceStepSchema: z.ZodType<MarketplaceHomepageStep> = z.object({ step: z.string().min(1), title: z.string().min(1), body: z.string().min(1) })
|
||||||
const marketplaceSectionSchema: z.ZodType<MarketplaceHomepageSectionType> = z.enum(['hero', 'surface', 'pillars', 'audiences', 'features', 'steps', 'closing'])
|
const marketplaceHowItWorksStepSchema: z.ZodType<MarketplaceHomepageHowItWorksStep> = z.object({ number: z.string().min(1), title: z.string().min(1), description: z.string().min(1) })
|
||||||
|
const marketplaceTestimonialSchema: z.ZodType<MarketplaceHomepageTestimonial> = z.object({ quote: z.string().min(1), author: z.string().min(1), role: z.string().min(1), company: z.string().optional() })
|
||||||
|
const marketplaceSectionSchema: z.ZodType<MarketplaceHomepageSectionType> = z.enum(['hero', 'surface', 'pillars', 'audiences', 'features', 'howitworks', 'steps', 'testimonials', 'closing'])
|
||||||
|
|
||||||
const marketplaceHomepageContentSchema: z.ZodType<MarketplaceHomepageContent> = z.object({
|
const marketplaceHomepageContentSchema: z.ZodType<MarketplaceHomepageContent> = z.object({
|
||||||
sections: z.array(marketplaceSectionSchema).min(1),
|
sections: z.array(marketplaceSectionSchema).min(1),
|
||||||
@@ -191,7 +193,9 @@ const marketplaceHomepageContentSchema: z.ZodType<MarketplaceHomepageContent> =
|
|||||||
pillars: z.array(marketplacePillarSchema).length(3),
|
pillars: z.array(marketplacePillarSchema).length(3),
|
||||||
metrics: z.array(marketplaceMetricSchema).length(3),
|
metrics: z.array(marketplaceMetricSchema).length(3),
|
||||||
featureLabel: z.string().min(1), features: z.array(z.string().min(1)).min(1),
|
featureLabel: z.string().min(1), features: z.array(z.string().min(1)).min(1),
|
||||||
|
howitworksKicker: z.string().min(1), howitworksTitle: z.string().min(1), howitworksSteps: z.array(marketplaceHowItWorksStepSchema).min(1),
|
||||||
stepsTitle: z.string().min(1), steps: z.array(marketplaceStepSchema).length(3), stepLabel: z.string().min(1),
|
stepsTitle: z.string().min(1), steps: z.array(marketplaceStepSchema).length(3), stepLabel: z.string().min(1),
|
||||||
|
testimonialsKicker: z.string().min(1), testimonialsTitle: z.string().min(1), testimonials: z.array(marketplaceTestimonialSchema).min(1),
|
||||||
readyKicker: z.string().min(1), readyTitle: z.string().min(1), readyBody: z.string().min(1),
|
readyKicker: z.string().min(1), readyTitle: z.string().min(1), readyBody: z.string().min(1),
|
||||||
viewPricing: z.string().min(1), createWorkspace: z.string().min(1),
|
viewPricing: z.string().min(1), createWorkspace: z.string().min(1),
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user