import { arrangeNamesBySequence } from '../../../lib/AllGlobalFunction'

export const prepareProductPayload = (values) => {
  return {
    productId: values?.productId ? values?.productId : 0,
    productGuid: values?.productGuid ? values?.productGuid : '',
    isMasterProduct: values?.isMasterProduct ? values?.isMasterProduct : true,
    parentId: values?.parentId ? values?.parentId : 0,
    categoryId: values?.categoryId ? values?.categoryId : 0,
    assiCategoryId: values?.assiCategoryId ? values?.assiCategoryId : 0,
    taxValueId: values?.taxValueId ? values?.taxValueId : 0,
    hsnCodeId: values?.hsnCodeId ? values?.hsnCodeId : 0,
    productName: arrangeNamesBySequence(values?.productName),
    customeProductName: values?.customeProductName
      ? values?.customeProductName
      : '',
    companySKUCode: values?.companySKUCode ? values?.companySKUCode : '',
    description: values?.description ? values?.description : '',
    highlights: values?.highlights ? values?.highlights : '',
    metaDescription: values?.metaDescription ? values?.metaDescription : '',
    metaTitle: values?.metaTitle ? values?.metaTitle : '',
    keywords: values?.keywords ? values?.keywords?.toString() : '',
    brandID: values?.brandID ? values?.brandID : 0,
    productLength: 0,
    productBreadth: 0,
    productWeight: 0,
    productHeight: 0,
    sellerProducts: {
      id: values?.productId ? values?.sellerProducts?.id : 0,
      productID: values?.productId ? values?.productId : 0,
      sellerID: values?.sellerID ? values.sellerID : '',
      brandID: values?.brandID ? values?.brandID : 0,
      sellerSKU: values?.sellerSKU ? values?.sellerSKU : '',
      isSizeWisePriceVariant: values?.isSizeWisePriceVariant
        ? values?.isSizeWisePriceVariant
        : false,
      isExistingProduct: values?.isExistingProduct
        ? values?.isExistingProduct
        : false,
      live: values?.live ? values?.live : false,
      status: values?.status ? values?.status : 'Active',
      packingLength: values?.packingLength ? values?.packingLength : 0,
      packingBreadth: values?.packingBreadth ? values?.packingBreadth : 0,
      packingHeight: values?.packingHeight ? values?.packingHeight : 0,
      packingWeight: values?.packingWeight ? values?.packingWeight : 0,
      weightSlabId: values?.weightSlabId ? values?.weightSlabId : '',
      productPrices: values?.productPrices?.filter(
        (data) => data?.quantity >= 0 && data?.quantity !== ''
      )
    },
    productColorMapping:
      values?.productColorMapping?.length > 0
        ? values?.productColorMapping
        : [],
    productVideoLinks:
      values?.productVideoLinks?.length > 0 ? values?.productVideoLinks : [],
    productImage: values?.productImage?.length > 0 ? values?.productImage : [],
    productSpecificationsMapp: values?.productSpecificationsMapp
      ? values?.productSpecificationsMapp
      : []
  }
}

export const prepareProductQuickUpdatePayload = (values) => {
  return {
    sellerProductId: values?.sellerProducts?.id
      ? values?.sellerProducts?.id
      : 0,
    productId: values?.productId ? values?.productId : 0,
    productSku: values?.companySKUCode ? values?.companySKUCode : '',
    sellerSku: values?.sellerSKU ? values?.sellerSKU : '',
    sizeTypeId: values?.sizeTypeId,
    sizeTypeName: values?.sizeTypeName,
    isSizeWisePriceVariant: values?.isSizeWisePriceVariant,
    isExistingProduct: values?.isExistingProduct,
    productName: arrangeNamesBySequence(values?.productName ?? []),
    status: values?.status ? values?.status : 'Inactive',
    live: values?.live,
    packingBreadth: values?.packingBreadth ? values?.packingBreadth : 0,
    packingHeight: values?.packingHeight ? values?.packingHeight : 0,
    packingLength: values?.packingLength ? values?.packingLength : 0,
    packingWeight: values?.packingWeight ? values?.packingWeight : 0,
    weightSlabId: values?.weightSlabId ? values?.weightSlabId : 0,
    productPrice: values?.productPrices?.filter(
      (data) => data?.quantity >= 0 && data?.quantity !== ''
    )
  }
}

export const prepareExistingProductPayload = (values) => {
  return {
    productId: values?.productId ? values?.productId : 0,
    brandId: values?.brandID ? values?.brandID : 0,
    sellerProductId: values?.sellerProducts?.id
      ? values?.sellerProducts?.id
      : 0,
    sellerID: values?.sellerID ? values.sellerID : '',
    sellerSKU: values?.sellerSKU ? values?.sellerSKU : '',
    isExistingProduct: true,
    status: values?.status ? values?.status : 'Inactive',
    live: values?.live,
    packingBreadth: values?.packingBreadth ? values?.packingBreadth : 0,
    packingHeight: values?.packingHeight ? values?.packingHeight : 0,
    packingLength: values?.packingLength ? values?.packingLength : 0,
    packingWeight: values?.packingWeight ? values?.packingWeight : 0,
    weightSlabId: values?.weightSlabId ? values?.weightSlabId : 0,
    productPrices: values?.productPrices?.filter(
      (data) => data?.quantity >= 0 && data?.quantity !== ''
    )
  }
}
