@@ -212,6 +212,32 @@ export const CreateInspectionDiscriminatedUnionSchema = z.discriminatedUnion(
212
212
] ,
213
213
) ;
214
214
215
+ const apiDomain = [ 'api.monk.ai/v1' , 'api.preview.monk.ai/v1' , 'api.staging.monk.ai/v1' ] as const ;
216
+ const thumbnailDomain = [
217
+ 'europe-west1-monk-staging-321715.cloudfunctions.net/image_resize' ,
218
+ 'europe-west1-monk-preview-321715.cloudfunctions.net/image_resize' ,
219
+ 'europe-west1-monk-prod.cloudfunctions.net/image_resize' ,
220
+ ] as const ;
221
+
222
+ export const DomainsSchema = z
223
+ . object ( {
224
+ apiDomain : z . enum ( apiDomain ) ,
225
+ thumbnailDomain : z . enum ( thumbnailDomain ) ,
226
+ } )
227
+ . refine (
228
+ ( data ) => {
229
+ const apiDomainIndex = apiDomain . indexOf ( data . apiDomain ) ;
230
+ const thumbnailDomainIndex = thumbnailDomain . indexOf ( data . thumbnailDomain ) ;
231
+ return apiDomainIndex === thumbnailDomainIndex ;
232
+ } ,
233
+ ( data ) => ( {
234
+ message : `The selected thumbnailDomain must correspond to the selected apiDomain. Please use the corresponding thumbnailDomain: ${
235
+ thumbnailDomain [ apiDomain . indexOf ( data . apiDomain ) ]
236
+ } `,
237
+ path : [ 'thumbnailDomain' ] ,
238
+ } ) ,
239
+ ) ;
240
+
215
241
export const LiveConfigSchema = z
216
242
. object ( {
217
243
id : z . string ( ) ,
@@ -234,15 +260,10 @@ export const LiveConfigSchema = z
234
260
allowManualLogin : z . boolean ( ) ,
235
261
allowVehicleTypeSelection : z . boolean ( ) ,
236
262
fetchFromSearchParams : z . boolean ( ) ,
237
- apiDomain : z . enum ( [ 'api.monk.ai/v1' , 'api.preview.monk.ai/v1' , 'api.staging.monk.ai/v1' ] ) ,
238
- thumbnailDomain : z . enum ( [
239
- 'europe-west1-monk-staging-321715.cloudfunctions.net/image_resize' ,
240
- 'europe-west1-monk-preview-321715.cloudfunctions.net/image_resize' ,
241
- 'europe-west1-monk-prod.cloudfunctions.net/image_resize' ,
242
- ] ) ,
243
263
requiredApiPermissions : z . array ( z . nativeEnum ( MonkApiPermission ) ) . optional ( ) ,
244
264
palette : MonkPaletteSchema . partial ( ) . optional ( ) ,
245
265
} )
266
+ . and ( DomainsSchema )
246
267
. and ( SteeringWheelDiscriminatedUnionSchema )
247
268
. and ( CreateInspectionDiscriminatedUnionSchema )
248
269
. and ( CameraConfigSchema )
0 commit comments