{"version":3,"sources":["../index.ts"],"sourcesContent":["const baseUrl: string | undefined = process.env.SAAZPAY_BASE_URL;\n\nexport interface IPlan {\n  id: string;\n  price: number;\n  currency: string;\n  tax_mode: string;\n  name: string;\n  description: string;\n  billing_frequency: number;\n  billing_interval: string;\n  trial_frequency: null;\n  trial_interval: null;\n  quantity_minimum: number;\n  quantity_maximum: number;\n  product_id: string;\n  createdAt: string;\n  updatedAt: string;\n  product: IProduct;\n}\n\nexport interface IProduct {\n  id: string;\n  name: string;\n  description: string;\n  image_url: string;\n  application_id: string;\n  createdAt: string;\n  updatedAt: string;\n}\n\nexport const getPlans = async ({\n  appId,\n}: {\n  appId: string;\n}): Promise<IPlan[]> => {\n  if (!baseUrl) {\n    throw new Error(\"Saazpay base URL is not defined\");\n  }\n  const res = await fetch(`${baseUrl}/api/v1/plans?id=${appId}`, {\n    method: \"GET\",\n    headers: {\n      \"Content-Type\": \"application/json\",\n      Authorization: `Bearer ${process.env.SAAZPAY_API_KEY}`,\n    },\n  })\n    .then((res) => res.json())\n    .catch((err) => {\n      return err;\n    });\n\n  return res;\n};\n\nexport interface ISubscription {\n  id: string;\n  customer_id: string;\n  unique_identifier: string;\n  status: string;\n  paused_at: null;\n  canceled_at: null;\n  scheduled_change: null;\n  next_billed_at: string;\n  starts_at: string;\n  ends_at: string;\n  created_at: string;\n  applicationId: string;\n  product: ISubscriptionProduct;\n  price: ISubscriptionPrice;\n}\n\ninterface ISubscriptionPrice {\n  id: string;\n  name: string;\n  description: string;\n  product_id: string;\n  billing_frequency: number;\n  billing_interval: string;\n  trial_frequency: number;\n  trial_interval: string;\n  currency: string;\n  price: number;\n}\n\ninterface ISubscriptionProduct {\n  id: string;\n  name: string;\n  description: string;\n  image_url: string;\n}\nexport const getActiveSubscription = async ({\n  appId,\n  userId,\n}: {\n  appId: string;\n  userId: string;\n}): Promise<ISubscription | null> => {\n  if (!baseUrl) {\n    throw new Error(\"Saazpay base URL is not defined\");\n  }\n  const res = await fetch(\n    `${baseUrl}/api/v1/subscriptions?appId=${appId}&userId=${userId}`,\n    {\n      method: \"GET\",\n      headers: {\n        \"Content-Type\": \"application/json\",\n        Authorization: `Bearer ${process.env.SAAZPAY_API_KEY}`,\n      },\n    }\n  )\n    .then((res) => res.json())\n    .catch((err) => {\n      return err;\n    });\n\n  return res;\n};\n\nexport interface IManagementUrl {\n  customerPortal: string;\n  cancelSubscription: string;\n  updatePaymentMethod: string;\n}\nexport const getManagementUrls = async ({\n  appId,\n  subscriptionId,\n}: {\n  appId: string;\n  subscriptionId: string;\n}): Promise<IManagementUrl> => {\n  if (!baseUrl) {\n    throw new Error(\"Saazpay base URL is not defined\");\n  }\n  const res = await fetch(\n    `${baseUrl}/api/v1/subscriptions/management?appId=${appId}&subscriptionId=${subscriptionId}`,\n    {\n      method: \"GET\",\n      headers: {\n        \"Content-Type\": \"application/json\",\n        Authorization: `Bearer ${process.env.SAAZPAY_API_KEY}`,\n      },\n    }\n  )\n    .then((res) => {\n      return res.json();\n    })\n    .catch((err) => {\n      console.error(err);\n      return \"\";\n    });\n\n  return res;\n};\n\nexport interface IProration {\n  currencyCode: string;\n  proratedCharge: number;\n  creditAmount: number;\n  subTotal: number;\n  tax: number;\n  discount: number;\n  creditApplied: number;\n  grandTotal: number;\n}\n\nexport const previewPlan = async ({\n  subscriptionId,\n  newPlanId,\n  appId,\n}: {\n  subscriptionId: string;\n  newPlanId: string;\n  appId: string;\n}): Promise<IProration> => {\n  if (!baseUrl) {\n    throw new Error(\"Saazpay base URL is not defined\");\n  }\n  const res = await fetch(\n    `${baseUrl}/api/v1/subscriptions/management/preview-plan?appId=${appId}&subscriptionId=${subscriptionId}&newPlanId=${newPlanId}`,\n    {\n      method: \"GET\",\n      headers: {\n        \"Content-Type\": \"application/json\",\n        Authorization: `Bearer ${process.env.SAAZPAY_API_KEY}`,\n      },\n    }\n  )\n    .then((res) => {\n      return res.json();\n    })\n    .catch((err) => {\n      return err;\n    });\n\n  return res;\n};\n\nexport interface IUpdatePlan {\n  id: string;\n  status: string;\n}\n\nexport const changePlan = async ({\n  subscriptionId,\n  newPlanId,\n  appId,\n}: {\n  subscriptionId: string;\n  newPlanId: string;\n  appId: string;\n}): Promise<IUpdatePlan> => {\n  if (!baseUrl) {\n    throw new Error(\"Saazpay base URL is not defined\");\n  }\n  const res = await fetch(\n    `${baseUrl}/api/v1/subscriptions/management/change-plan?appId=${appId}&subscriptionId=${subscriptionId}&newPlanId=${newPlanId}`,\n    {\n      method: \"PUT\",\n      headers: {\n        \"Content-Type\": \"application/json\",\n        Authorization: `Bearer ${process.env.SAAZPAY_API_KEY}`,\n      },\n    }\n  )\n    .then((res) => {\n      return res.json();\n    })\n    .catch((err) => {\n      return err;\n    });\n\n  return res;\n};\n"],"mappings":"yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,gBAAAE,EAAA,0BAAAC,EAAA,sBAAAC,EAAA,aAAAC,EAAA,gBAAAC,IAAA,eAAAC,EAAAP,GAAA,IAAMQ,EAA8B,QAAQ,IAAI,iBA+BnCH,EAAW,MAAO,CAC7B,MAAAI,CACF,IAEwB,CACtB,GAAI,CAACD,EACH,MAAM,IAAI,MAAM,iCAAiC,EAcnD,OAZY,MAAM,MAAM,GAAGA,qBAA2BC,IAAS,CAC7D,OAAQ,MACR,QAAS,CACP,eAAgB,mBAChB,cAAe,UAAU,QAAQ,IAAI,iBACvC,CACF,CAAC,EACE,KAAMC,GAAQA,EAAI,KAAK,CAAC,EACxB,MAAOC,GACCA,CACR,CAGL,EAsCaR,EAAwB,MAAO,CAC1C,MAAAM,EACA,OAAAG,CACF,IAGqC,CACnC,GAAI,CAACJ,EACH,MAAM,IAAI,MAAM,iCAAiC,EAiBnD,OAfY,MAAM,MAChB,GAAGA,gCAAsCC,YAAgBG,IACzD,CACE,OAAQ,MACR,QAAS,CACP,eAAgB,mBAChB,cAAe,UAAU,QAAQ,IAAI,iBACvC,CACF,CACF,EACG,KAAMF,GAAQA,EAAI,KAAK,CAAC,EACxB,MAAOC,GACCA,CACR,CAGL,EAOaP,EAAoB,MAAO,CACtC,MAAAK,EACA,eAAAI,CACF,IAG+B,CAC7B,GAAI,CAACL,EACH,MAAM,IAAI,MAAM,iCAAiC,EAoBnD,OAlBY,MAAM,MAChB,GAAGA,2CAAiDC,oBAAwBI,IAC5E,CACE,OAAQ,MACR,QAAS,CACP,eAAgB,mBAChB,cAAe,UAAU,QAAQ,IAAI,iBACvC,CACF,CACF,EACG,KAAMH,GACEA,EAAI,KAAK,CACjB,EACA,MAAOC,IACN,QAAQ,MAAMA,CAAG,EACV,GACR,CAGL,EAaaL,EAAc,MAAO,CAChC,eAAAO,EACA,UAAAC,EACA,MAAAL,CACF,IAI2B,CACzB,GAAI,CAACD,EACH,MAAM,IAAI,MAAM,iCAAiC,EAmBnD,OAjBY,MAAM,MAChB,GAAGA,wDAA8DC,oBAAwBI,eAA4BC,IACrH,CACE,OAAQ,MACR,QAAS,CACP,eAAgB,mBAChB,cAAe,UAAU,QAAQ,IAAI,iBACvC,CACF,CACF,EACG,KAAMJ,GACEA,EAAI,KAAK,CACjB,EACA,MAAOC,GACCA,CACR,CAGL,EAOaT,EAAa,MAAO,CAC/B,eAAAW,EACA,UAAAC,EACA,MAAAL,CACF,IAI4B,CAC1B,GAAI,CAACD,EACH,MAAM,IAAI,MAAM,iCAAiC,EAmBnD,OAjBY,MAAM,MAChB,GAAGA,uDAA6DC,oBAAwBI,eAA4BC,IACpH,CACE,OAAQ,MACR,QAAS,CACP,eAAgB,mBAChB,cAAe,UAAU,QAAQ,IAAI,iBACvC,CACF,CACF,EACG,KAAMJ,GACEA,EAAI,KAAK,CACjB,EACA,MAAOC,GACCA,CACR,CAGL","names":["node_sdk_exports","__export","changePlan","getActiveSubscription","getManagementUrls","getPlans","previewPlan","__toCommonJS","baseUrl","appId","res","err","userId","subscriptionId","newPlanId"]}