RJR
Convex Community3y ago
12 replies
RJ

Id format change with 0.17

Here's some real data (but for PII scrubbing) along with the validator that the error is matching it against.

{
  address: {
    addressLine1: "XXXXXX",
    city: "XXXXX",
    postalCode: "XXXX",
    stateCode: "XX",
  },
  brandPartnerId: "Y7i91RWgmqVPw87q1R5MCA",
  cancelAfterDate: "2023-06-28",
  customer: {
    emailAddress: "XXXXX",
    name: "XXX",
    phoneNumber: "XXX",
  },
  estimatedDeliveryDate: "2023-07-05",
  orderDate: "2023-06-27",
  purchaseOrderDate: "2023-06-27",
  purchaseOrderNumber: "XXXXX",
  retailer: "XXXXX",
  tag: "Dropship",
}


v.union(
  v.object({
    address: v.object({
      addressLine1: v.string(),
      addressLine2: v.optional(v.string()),
      city: v.string(),
      postalCode: v.string(),
      stateCode: v.string(),
    }),
    brandPartnerId: v.id("brandPartners"),
    cancelAfterDate: v.string(),
    customer: v.object({
      emailAddress: v.string(),
      name: v.string(),
      phoneNumber: v.string(),
    }),
    estimatedDeliveryDate: v.string(),
    orderDate: v.string(),
    purchaseOrderDate: v.string(),
    purchaseOrderNumber: v.string(),
    retailer: v.union(
      v.literal("Target"),
      v.literal("Lowe's"),
      v.literal("Home Depot"),
      v.literal("Macy's"),
      v.literal("Kohl's")
    ),
    tag: v.literal("Dropship"),
  }),
  v.object({
    brandPartnerId: v.id("brandPartners"),
    cancelAfterDate: v.string(),
    estimatedDeliveryDate: v.string(),
    orderDate: v.string(),
    purchaseOrderDate: v.string(),
    purchaseOrderNumber: v.string(),
    retailer: v.union(
      v.literal("Target"),
      v.literal("Lowe's"),
      v.literal("Home Depot"),
      v.literal("Macy's"),
      v.literal("Kohl's")
    ),
    tag: v.literal("B2B"),
  })


It looks like it should match to me. Is this related to https://discord.com/channels/1019350475847499849/1122957485372887201 ?
Was this page helpful?