web_lib

Common web application libraries
git clone https://radroots.dev/git/web_lib.git
Log | Files | Refs | LICENSE

schema.ts (1566B)


      1 import { dev } from "$app/environment";
      2 import type { IViewFarmsAddSubmission, IViewFarmsProductsAddSubmitPayload } from "$lib/types/views/farms";
      3 import { schema_geocode_result, schema_geolocation_point } from "@radroots/geo";
      4 import { form_fields, util_rxp, zf_numf_pos, zf_price } from "@radroots/utils";
      5 
      6 import { z } from "zod";
      7 
      8 export const schema_view_farms_add_submission: z.ZodSchema<IViewFarmsAddSubmission> = z.object({
      9     farm_name: z.string().regex(form_fields.farm_name.validate),
     10     farm_about: z.string().optional(),
     11     farm_website: z.string().optional(),
     12     farm_location_label: z.string().optional(),
     13     geolocation_point: schema_geolocation_point.optional(),
     14     geocode_result: schema_geocode_result.optional(),
     15 });
     16 
     17 export const schema_view_farms_products_add_submission: z.ZodSchema<IViewFarmsProductsAddSubmitPayload> = z.object({
     18     product: z.string().regex(form_fields.product_key.validate),
     19     process: z.string().regex(form_fields.product_process.validate),
     20     description: z.string().regex(form_fields.product_description.validate),
     21     unit_price_amount: zf_price,
     22     unit_price_currency: z.string().regex(form_fields.price_currency.validate),
     23     bin_display_amount: zf_numf_pos,
     24     bin_display_unit: z.string().regex(form_fields.bin_display_unit.validate),
     25     bin_label: z.string().regex(form_fields.bin_label.validate),
     26     photos: z.array(z.string().regex(dev ? util_rxp.url_image_upload_dev : util_rxp.url_image_upload)),
     27     geolocation_point: schema_geolocation_point,
     28     geocode_result: schema_geocode_result,
     29 });