@marmot-systems/common 2.0.90 → 2.0.92

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -31,7 +31,6 @@ __export(index_exports, {
31
31
  PAYMENT_METHOD: () => PAYMENT_METHOD,
32
32
  POS_INVOICE_TYPE: () => POS_INVOICE_TYPE,
33
33
  PaymentFormSchema: () => PaymentFormSchema,
34
- RegisterFormSchema: () => RegisterFormSchema,
35
34
  USER_ROLES: () => USER_ROLES,
36
35
  YmdDateSchema: () => YmdDateSchema,
37
36
  addDaysLocalYmd: () => addDaysLocalYmd,
@@ -48,6 +47,8 @@ __export(index_exports, {
48
47
  makeInvoiceSchemas: () => makeInvoiceSchemas,
49
48
  makePosSchemas: () => makePosSchemas,
50
49
  makeProductSchemas: () => makeProductSchemas,
50
+ makeRegisterSchemas: () => makeRegisterSchemas,
51
+ makeUsersSchemas: () => makeUsersSchemas,
51
52
  mapInvoiceProducts: () => mapInvoiceProducts,
52
53
  normalizeSpaces: () => normalizeSpaces,
53
54
  removeAllWhitespace: () => removeAllWhitespace,
@@ -177,36 +178,37 @@ var COMPANY_LANGUAGES = ["es", "en"];
177
178
  var iso_country_code = import_zod4.z.enum(ISO_COUNTRY_CODES, {
178
179
  error: "Country code not supported."
179
180
  });
180
- var RegisterFormSchema = import_zod4.z.strictObject({
181
- companyData: import_zod4.z.strictObject({
182
- company_name: import_zod4.z.string().transform(normalizeSpaces).pipe(
183
- import_zod4.z.string().min(1, "Company name is required").max(50, "Company name must be at most 50 characters.")
184
- ),
185
- company_address: import_zod4.z.string().transform(normalizeSpaces).pipe(
186
- import_zod4.z.string().min(1, "Company address is required").max(100, "Company address must be at most 100 characters.")
187
- ),
188
- company_phone_number: import_zod4.z.string().transform(removeAllWhitespace).transform(removeDashesAndPlusSign).refine((s) => /^\d{4,15}$/.test(s), {
189
- error: "Phone number required and must be from 4 to 15 digits."
181
+ function makeRegisterSchemas(t) {
182
+ const RegisterFormSchema = import_zod4.z.strictObject({
183
+ companyData: import_zod4.z.strictObject({
184
+ company_name: import_zod4.z.string().transform(normalizeSpaces).pipe(
185
+ import_zod4.z.string().min(1, t("company_name_required")).max(50, t("company_name_max"))
186
+ ),
187
+ company_address: import_zod4.z.string().transform(normalizeSpaces).pipe(
188
+ import_zod4.z.string().min(1, t("company_address_required")).max(100, t("company_address_max"))
189
+ ),
190
+ company_phone_number: import_zod4.z.string().transform(removeAllWhitespace).transform(removeDashesAndPlusSign).refine((s) => /^\d{4,15}$/.test(s), {
191
+ error: t("phone_number_required")
192
+ }),
193
+ iso_country_code: import_zod4.z.string({ error: t("country_required") }).transform(removeAllWhitespace).transform((s) => s.toUpperCase()).pipe(iso_country_code)
190
194
  }),
191
- iso_country_code: import_zod4.z.string({ error: "Please select a country." }).transform(removeAllWhitespace).transform((s) => s.toUpperCase()).pipe(iso_country_code)
192
- }),
193
- adminUserData: import_zod4.z.strictObject({
194
- user_first_name: import_zod4.z.string().transform(normalizeSpaces).pipe(
195
- import_zod4.z.string().min(1, "First name is required").max(50, "First name must be at most 50 characters.")
196
- ),
197
- user_last_name: import_zod4.z.string().transform(normalizeSpaces).pipe(
198
- import_zod4.z.string().min(1, "Last name is required").max(50, "Last name must be at most 50 characters.")
199
- ),
200
- user_email: import_zod4.z.string().transform(removeAllWhitespace).pipe(
201
- import_zod4.z.email().max(254, "Customer email must be at most 254 characters.").transform((email) => email.toLowerCase())
202
- ),
203
- password: import_zod4.z.string().min(8, "Password must be at least 8 characters").max(25, "Password must be at most 25 characters").regex(/[A-Z]/, "Password must contain at least one uppercase letter").regex(/[a-z]/, "Password must contain at least one lowercase letter").regex(/\d/, "Password must contain at least one number").regex(
204
- /[@$!%*?&#^_+=-]/,
205
- "Password must contain at least one special character"
206
- ).regex(/^\S*$/, "Password cannot contain spaces or other whitespace.")
207
- })
208
- });
209
- var CompanyFormSchema = RegisterFormSchema.shape.companyData.safeExtend({
195
+ adminUserData: import_zod4.z.strictObject({
196
+ user_first_name: import_zod4.z.string().transform(normalizeSpaces).pipe(
197
+ import_zod4.z.string().min(1, t("first_name_required")).max(50, t("first_name_max"))
198
+ ),
199
+ user_last_name: import_zod4.z.string().transform(normalizeSpaces).pipe(
200
+ import_zod4.z.string().min(1, t("lsat_name_required")).max(50, t("last_name_max"))
201
+ ),
202
+ user_email: import_zod4.z.string().transform(removeAllWhitespace).pipe(
203
+ import_zod4.z.email({ error: t("email_required") }).max(254, t("email_max")).transform((email) => email.toLowerCase())
204
+ ),
205
+ password: import_zod4.z.string().min(8, t("pass_min")).max(25, t("pass_max")).regex(/[A-Z]/, t("pass_uppercase")).regex(/[a-z]/, t("pass_lowercase")).regex(/\d/, t("pass_one_number")).regex(/[@$!%*?&#^_+=-]/, t("pass_special_character")).regex(/^\S*$/, t("pass_no_whitespace"))
206
+ })
207
+ });
208
+ return { RegisterFormSchema };
209
+ }
210
+ var schemas = makeRegisterSchemas((k) => k);
211
+ var CompanyFormSchema = schemas.RegisterFormSchema.shape.companyData.safeExtend({
210
212
  company_email: import_zod4.z.string().transform(removeAllWhitespace).pipe(
211
213
  import_zod4.z.email("Invalid company email.").max(254, "Company email must be at most 254 characters.").transform((email) => email.toLowerCase())
212
214
  ),
@@ -216,50 +218,71 @@ var CompanyFormSchema = RegisterFormSchema.shape.companyData.safeExtend({
216
218
  })
217
219
  });
218
220
 
219
- // src/domains/customers/customer_schemas.ts
221
+ // src/domains/users/users_schemas.ts
220
222
  var import_zod5 = require("zod");
223
+ function makeUsersSchemas(t) {
224
+ const CreateUserSchema = import_zod5.z.object({
225
+ firstName: import_zod5.z.string().transform(normalizeSpaces).pipe(
226
+ import_zod5.z.string().min(1, t("first_name_required")).max(50, t("first_name_max"))
227
+ ),
228
+ lastName: import_zod5.z.string().transform(normalizeSpaces).pipe(
229
+ import_zod5.z.string().min(1, t("lsat_name_required")).max(50, t("last_name_max"))
230
+ ),
231
+ email: import_zod5.z.string().transform(removeAllWhitespace).pipe(
232
+ import_zod5.z.email({ error: t("email_required") }).max(254, t("email_max")).transform((email) => email.toLowerCase())
233
+ ),
234
+ password: import_zod5.z.string().min(8, t("pass_min")).max(25, t("pass_max")).regex(/[A-Z]/, t("pass_uppercase")).regex(/[a-z]/, t("pass_lowercase")).regex(/\d/, t("pass_one_number")).regex(/[@$!%*?&#^_+=-]/, t("pass_special_character")).regex(/^\S*$/, t("pass_no_whitespace")),
235
+ accountType: import_zod5.z.enum(["admin", "driver"], {
236
+ error: t("account_type")
237
+ })
238
+ });
239
+ return { CreateUserSchema };
240
+ }
241
+
242
+ // src/domains/customers/customer_schemas.ts
243
+ var import_zod6 = require("zod");
221
244
  function makeCustomerSchemas(t) {
222
- const CustomerFormSchema = import_zod5.z.strictObject({
223
- customer_name: import_zod5.z.string().transform(normalizeSpaces).pipe(
224
- import_zod5.z.string().min(1, t("customer_name_required")).max(50, t("customer_name_max"))
245
+ const CustomerFormSchema = import_zod6.z.strictObject({
246
+ customer_name: import_zod6.z.string().transform(normalizeSpaces).pipe(
247
+ import_zod6.z.string().min(1, t("customer_name_required")).max(50, t("customer_name_max"))
225
248
  ),
226
- customer_address: import_zod5.z.string().transform(normalizeSpaces).pipe(import_zod5.z.string().max(100, t("customer_address_max"))).transform(transformEmptyStringToUndefined).optional(),
227
- customer_phone_number: import_zod5.z.string().transform(removeAllWhitespace).transform(removeDashesAndPlusSign).refine((s) => s === "" || /^\d{4,15}$/.test(s), {
249
+ customer_address: import_zod6.z.string().transform(normalizeSpaces).pipe(import_zod6.z.string().max(100, t("customer_address_max"))).transform(transformEmptyStringToUndefined).optional(),
250
+ customer_phone_number: import_zod6.z.string().transform(removeAllWhitespace).transform(removeDashesAndPlusSign).refine((s) => s === "" || /^\d{4,15}$/.test(s), {
228
251
  error: t("customer_phone_number")
229
252
  }).transform(transformEmptyStringToUndefined).optional(),
230
- customer_email_address: import_zod5.z.string().transform(removeAllWhitespace).transform(transformEmptyStringToUndefined).pipe(
231
- import_zod5.z.email().max(254, t("customer_email_max")).transform((email) => email.toLowerCase()).optional()
253
+ customer_email_address: import_zod6.z.string().transform(removeAllWhitespace).transform(transformEmptyStringToUndefined).pipe(
254
+ import_zod6.z.email().max(254, t("customer_email_max")).transform((email) => email.toLowerCase()).optional()
232
255
  ).optional()
233
256
  });
234
257
  return { CustomerFormSchema };
235
258
  }
236
259
 
237
260
  // src/domains/products/product_schemas.ts
238
- var import_zod6 = require("zod");
261
+ var import_zod7 = require("zod");
239
262
  function makeProductSchemas(t) {
240
- const ProductFormSchema = import_zod6.z.strictObject({
241
- product_name: import_zod6.z.string().transform(normalizeSpaces).pipe(
242
- import_zod6.z.string().min(1, t("product_name_required")).max(50, t("product_name_max"))
263
+ const ProductFormSchema = import_zod7.z.strictObject({
264
+ product_name: import_zod7.z.string().transform(normalizeSpaces).pipe(
265
+ import_zod7.z.string().min(1, t("product_name_required")).max(50, t("product_name_max"))
243
266
  ),
244
- product_description: import_zod6.z.string().transform(normalizeSpaces).pipe(import_zod6.z.string().max(100, t("product_descr_max"))).transform(transformEmptyStringToUndefined).optional(),
245
- product_sku: import_zod6.z.string().transform(normalizeSpaces).pipe(import_zod6.z.string().max(30, t("product_sku_max"))).transform(transformEmptyStringToUndefined).optional(),
246
- product_upc: import_zod6.z.string().transform(removeAllWhitespace).refine((s) => s === "" || /^\d{12}$/.test(s), {
267
+ product_description: import_zod7.z.string().transform(normalizeSpaces).pipe(import_zod7.z.string().max(100, t("product_descr_max"))).transform(transformEmptyStringToUndefined).optional(),
268
+ product_sku: import_zod7.z.string().transform(normalizeSpaces).pipe(import_zod7.z.string().max(30, t("product_sku_max"))).transform(transformEmptyStringToUndefined).optional(),
269
+ product_upc: import_zod7.z.string().transform(removeAllWhitespace).refine((s) => s === "" || /^\d{12}$/.test(s), {
247
270
  error: t("product_upc_test")
248
271
  }).transform(transformEmptyStringToUndefined).optional(),
249
- country_tax_rule_id: import_zod6.z.number().optional(),
250
- product_gtin_14: import_zod6.z.string().transform(removeAllWhitespace).refine((s) => s === "" || /^\d{14}$/.test(s), {
272
+ country_tax_rule_id: import_zod7.z.number().optional(),
273
+ product_gtin_14: import_zod7.z.string().transform(removeAllWhitespace).refine((s) => s === "" || /^\d{14}$/.test(s), {
251
274
  error: "GTIN14 must be exactly 14 digits"
252
275
  }).transform(transformEmptyStringToUndefined).optional(),
253
- product_type: import_zod6.z.enum(["unit", "weight", "case"], {
276
+ product_type: import_zod7.z.enum(["unit", "weight", "case"], {
254
277
  error: t("product_type_validation")
255
278
  }),
256
- weight_unit: import_zod6.z.preprocess(
279
+ weight_unit: import_zod7.z.preprocess(
257
280
  (v) => {
258
281
  if (v === "") return void 0;
259
282
  if (typeof v === "string") return v.trim().toLowerCase();
260
283
  return v;
261
284
  },
262
- import_zod6.z.enum(["kg", "lb", "g", "oz"]).optional()
285
+ import_zod7.z.enum(["kg", "lb", "g", "oz"]).optional()
263
286
  ),
264
287
  price: handleZodCurrency(0, 99999.99, t),
265
288
  cost: handleZodCurrency(0, 99999.99, t)
@@ -283,7 +306,7 @@ function makeProductSchemas(t) {
283
306
  }
284
307
 
285
308
  // src/domains/invoices/invoices_schemas.ts
286
- var import_zod7 = require("zod");
309
+ var import_zod8 = require("zod");
287
310
 
288
311
  // src/domains/invoices/invoices_types.ts
289
312
  var INVOICE_TYPE = [
@@ -296,19 +319,19 @@ var INVOICE_STATUS = ["finalized", "voided"];
296
319
  var CREDIT_TYPE = ["dump", "return"];
297
320
 
298
321
  // src/domains/invoices/invoices_schemas.ts
299
- var YmdDateSchema = import_zod7.z.string().regex(/^\d{4}-\d{2}-\d{2}$/, "Use YYYY-MM-DD");
322
+ var YmdDateSchema = import_zod8.z.string().regex(/^\d{4}-\d{2}-\d{2}$/, "Use YYYY-MM-DD");
300
323
  function makeInvoiceSchemas(t) {
301
- const YmdDateSchema2 = import_zod7.z.string().regex(/^\d{4}-\d{2}-\d{2}$/, "Use YYYY-MM-DD");
302
- const BaseInvoice = import_zod7.z.object({
303
- invoice_type: import_zod7.z.enum(INVOICE_TYPE, {
324
+ const YmdDateSchema2 = import_zod8.z.string().regex(/^\d{4}-\d{2}-\d{2}$/, "Use YYYY-MM-DD");
325
+ const BaseInvoice = import_zod8.z.object({
326
+ invoice_type: import_zod8.z.enum(INVOICE_TYPE, {
304
327
  error: t("invoice_type_not_found")
305
328
  }),
306
329
  invoice_date: YmdDateSchema2,
307
330
  due_date: YmdDateSchema2,
308
- tax_rate: import_zod7.z.number().default(0),
309
- tax_amount: import_zod7.z.number().default(0),
310
- warehouse_id: import_zod7.z.uuid().optional(),
311
- invoice_status: import_zod7.z.enum(INVOICE_STATUS).default("finalized")
331
+ tax_rate: import_zod8.z.number().default(0),
332
+ tax_amount: import_zod8.z.number().default(0),
333
+ warehouse_id: import_zod8.z.uuid().optional(),
334
+ invoice_status: import_zod8.z.enum(INVOICE_STATUS).default("finalized")
312
335
  }).superRefine(({ invoice_date, due_date }, ctx) => {
313
336
  if (due_date < invoice_date) {
314
337
  ctx.addIssue({
@@ -318,63 +341,63 @@ function makeInvoiceSchemas(t) {
318
341
  });
319
342
  }
320
343
  });
321
- const LineItemBase = import_zod7.z.object({
322
- invoice_id: import_zod7.z.uuid().optional(),
323
- product_id: import_zod7.z.uuid({
344
+ const LineItemBase = import_zod8.z.object({
345
+ invoice_id: import_zod8.z.uuid().optional(),
346
+ product_id: import_zod8.z.uuid({
324
347
  error: t("select_product")
325
348
  }),
326
- product_name: import_zod7.z.string().optional(),
327
- product_description: import_zod7.z.string().optional(),
328
- product_type: import_zod7.z.enum(["unit", "weight", "case"]).optional(),
329
- product_upc: import_zod7.z.string().optional(),
330
- weight_unit: import_zod7.z.enum(["kg", "lb", "g", "oz"]).optional(),
349
+ product_name: import_zod8.z.string().optional(),
350
+ product_description: import_zod8.z.string().optional(),
351
+ product_type: import_zod8.z.enum(["unit", "weight", "case"]).optional(),
352
+ product_upc: import_zod8.z.string().optional(),
353
+ weight_unit: import_zod8.z.enum(["kg", "lb", "g", "oz"]).optional(),
331
354
  quantity: handleZodCurrency(0.01, 99999.99, t),
332
- country_tax_rule_id: import_zod7.z.number().optional(),
333
- tax_percentage: import_zod7.z.number().optional()
355
+ country_tax_rule_id: import_zod8.z.number().optional(),
356
+ tax_percentage: import_zod8.z.number().optional()
334
357
  });
335
358
  const SalesItem = LineItemBase.safeExtend({
336
359
  price: handleZodCurrency(0, 99999.99, t),
337
- credit_type: import_zod7.z.undefined()
360
+ credit_type: import_zod8.z.undefined()
338
361
  });
339
362
  const CreditItem = LineItemBase.safeExtend({
340
363
  price: handleZodCurrency(0, 99999.99, t),
341
- credit_type: import_zod7.z.enum(CREDIT_TYPE, {
364
+ credit_type: import_zod8.z.enum(CREDIT_TYPE, {
342
365
  error: t("select_credit_type")
343
366
  })
344
367
  });
345
368
  const PurchaseItem = LineItemBase.safeExtend({
346
369
  price: handleZodCurrency(0, 99999.99, t),
347
- credit_type: import_zod7.z.undefined()
370
+ credit_type: import_zod8.z.undefined()
348
371
  });
349
372
  const SalesInvoiceSchema = BaseInvoice.safeExtend({
350
- invoice_type: import_zod7.z.literal("sales"),
351
- party_id: import_zod7.z.uuid({
373
+ invoice_type: import_zod8.z.literal("sales"),
374
+ party_id: import_zod8.z.uuid({
352
375
  error: t("select_customer")
353
376
  }),
354
- invoice_items: import_zod7.z.array(SalesItem).min(1, t("add_one_invoice_item"))
377
+ invoice_items: import_zod8.z.array(SalesItem).min(1, t("add_one_invoice_item"))
355
378
  });
356
379
  const CreditInvoiceSchema = BaseInvoice.safeExtend({
357
- invoice_type: import_zod7.z.literal("credit"),
358
- party_id: import_zod7.z.uuid({
380
+ invoice_type: import_zod8.z.literal("credit"),
381
+ party_id: import_zod8.z.uuid({
359
382
  error: t("select_customer")
360
383
  }),
361
- invoice_items: import_zod7.z.array(CreditItem).min(1, t("add_one_invoice_item"))
384
+ invoice_items: import_zod8.z.array(CreditItem).min(1, t("add_one_invoice_item"))
362
385
  });
363
386
  const PurchaseInvoiceSchema = BaseInvoice.safeExtend({
364
- invoice_type: import_zod7.z.literal("purchase"),
365
- party_id: import_zod7.z.uuid({
387
+ invoice_type: import_zod8.z.literal("purchase"),
388
+ party_id: import_zod8.z.uuid({
366
389
  error: t("select_vendor")
367
390
  }),
368
- invoice_items: import_zod7.z.array(PurchaseItem).min(1, t("add_one_invoice_item"))
391
+ invoice_items: import_zod8.z.array(PurchaseItem).min(1, t("add_one_invoice_item"))
369
392
  });
370
393
  const SalesOrderSchema = BaseInvoice.safeExtend({
371
- invoice_type: import_zod7.z.literal("sales_order"),
372
- party_id: import_zod7.z.uuid({
394
+ invoice_type: import_zod8.z.literal("sales_order"),
395
+ party_id: import_zod8.z.uuid({
373
396
  error: t("select_customer")
374
397
  }),
375
- invoice_items: import_zod7.z.array(SalesItem).min(1, t("add_one_invoice_item"))
398
+ invoice_items: import_zod8.z.array(SalesItem).min(1, t("add_one_invoice_item"))
376
399
  });
377
- const AnyInvoiceSchema = import_zod7.z.discriminatedUnion("invoice_type", [
400
+ const AnyInvoiceSchema = import_zod8.z.discriminatedUnion("invoice_type", [
378
401
  SalesInvoiceSchema,
379
402
  PurchaseInvoiceSchema,
380
403
  CreditInvoiceSchema,
@@ -412,14 +435,14 @@ function mapInvoiceProducts(row) {
412
435
  }
413
436
 
414
437
  // src/domains/credit_applications/credit_applications_schemas.ts
415
- var import_zod8 = require("zod");
416
- var CreditApplicationSchema = import_zod8.z.strictObject({
417
- credit_invoice_id: import_zod8.z.uuid({ error: "Select a credit" }),
438
+ var import_zod9 = require("zod");
439
+ var CreditApplicationSchema = import_zod9.z.strictObject({
440
+ credit_invoice_id: import_zod9.z.uuid({ error: "Select a credit" }),
418
441
  applied_amount: handleZodCurrency(0.01, 999999.99)
419
442
  });
420
443
 
421
444
  // src/domains/payments/payments_schemas.ts
422
- var import_zod9 = require("zod");
445
+ var import_zod10 = require("zod");
423
446
 
424
447
  // src/domains/payments/payments_types.ts
425
448
  var PAYMENT_METHOD = [
@@ -430,12 +453,12 @@ var PAYMENT_METHOD = [
430
453
  ];
431
454
 
432
455
  // src/domains/payments/payments_schemas.ts
433
- var PaymentFormSchema = import_zod9.z.strictObject({
434
- payment_method: import_zod9.z.enum(PAYMENT_METHOD, {
456
+ var PaymentFormSchema = import_zod10.z.strictObject({
457
+ payment_method: import_zod10.z.enum(PAYMENT_METHOD, {
435
458
  error: "Payment method is required."
436
459
  }),
437
- check_number: import_zod9.z.string().transform(normalizeSpaces).pipe(
438
- import_zod9.z.string().max(50, "Payment check number must be at most 50 characters.")
460
+ check_number: import_zod10.z.string().transform(normalizeSpaces).pipe(
461
+ import_zod10.z.string().max(50, "Payment check number must be at most 50 characters.")
439
462
  ).transform(transformEmptyStringToUndefined).optional(),
440
463
  payment_amount: handleZodCurrency(0.01, 999999.99)
441
464
  });
@@ -497,7 +520,7 @@ var getErrorMessage = (err) => {
497
520
  };
498
521
 
499
522
  // src/domains/point_of_sales/point_of_sales_schemas.ts
500
- var import_zod10 = require("zod");
523
+ var import_zod11 = require("zod");
501
524
 
502
525
  // src/domains/point_of_sales/point_of_sales_types.ts
503
526
  var POS_INVOICE_TYPE = ["sales", "credit"];
@@ -505,14 +528,14 @@ var POS_INVOICE_TYPE = ["sales", "credit"];
505
528
  // src/domains/point_of_sales/point_of_sales_schemas.ts
506
529
  function makePosSchemas(t) {
507
530
  const HN_INVOICE_REGEX = /^\d{3}-\d{3}-\d{2}-\d{8}$/;
508
- const InvoiceNumberSchema = import_zod10.z.string().transform(removeAllWhitespace).pipe(
509
- import_zod10.z.string().min(19, t("must_be_in_format")).max(19, t("must_be_in_format")).regex(HN_INVOICE_REGEX, {
531
+ const InvoiceNumberSchema = import_zod11.z.string().transform(removeAllWhitespace).pipe(
532
+ import_zod11.z.string().min(19, t("must_be_in_format")).max(19, t("must_be_in_format")).regex(HN_INVOICE_REGEX, {
510
533
  error: t("must_be_in_format")
511
534
  })
512
535
  );
513
- const PointOfSalesSchema = import_zod10.z.strictObject({
514
- cai: import_zod10.z.string().transform(removeAllWhitespace).pipe(import_zod10.z.string().min(1, t("cai_is_required")).max(50, t("cai_max"))),
515
- pos_invoice_type: import_zod10.z.enum(POS_INVOICE_TYPE, t("select_invoice_type")),
536
+ const PointOfSalesSchema = import_zod11.z.strictObject({
537
+ cai: import_zod11.z.string().transform(removeAllWhitespace).pipe(import_zod11.z.string().min(1, t("cai_is_required")).max(50, t("cai_max"))),
538
+ pos_invoice_type: import_zod11.z.enum(POS_INVOICE_TYPE, t("select_invoice_type")),
516
539
  invoice_number_start_range: InvoiceNumberSchema,
517
540
  invoice_number_end_range: InvoiceNumberSchema,
518
541
  next_invoice_number: InvoiceNumberSchema,
@@ -581,7 +604,6 @@ function makePosSchemas(t) {
581
604
  PAYMENT_METHOD,
582
605
  POS_INVOICE_TYPE,
583
606
  PaymentFormSchema,
584
- RegisterFormSchema,
585
607
  USER_ROLES,
586
608
  YmdDateSchema,
587
609
  addDaysLocalYmd,
@@ -598,6 +620,8 @@ function makePosSchemas(t) {
598
620
  makeInvoiceSchemas,
599
621
  makePosSchemas,
600
622
  makeProductSchemas,
623
+ makeRegisterSchemas,
624
+ makeUsersSchemas,
601
625
  mapInvoiceProducts,
602
626
  normalizeSpaces,
603
627
  removeAllWhitespace,