Errors.js 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. // @ts-check
  2. const Errors = require('../Errors/Errors')
  3. const OError = require('@overleaf/o-error')
  4. class RecurlyTransactionError extends Errors.BackwardCompatibleError {
  5. constructor(options) {
  6. super({
  7. message: 'Unknown transaction error',
  8. ...options,
  9. })
  10. }
  11. }
  12. class DuplicateAddOnError extends OError {}
  13. class AddOnNotPresentError extends OError {}
  14. class MissingBillingInfoError extends OError {}
  15. class ManuallyCollectedError extends OError {}
  16. class PendingChangeError extends OError {}
  17. class InactiveError extends OError {}
  18. class SubtotalLimitExceededError extends OError {}
  19. class HasPastDueInvoiceError extends OError {}
  20. class HasNoAdditionalLicenseWhenManuallyCollectedError extends OError {}
  21. /**
  22. * @typedef {Object} PaymentActionRequiredInfo
  23. * @property {string} PaymentActionRequiredInfo.clientSecret
  24. * @property {string} PaymentActionRequiredInfo.publicKey
  25. */
  26. class PaymentActionRequiredError extends OError {
  27. /**
  28. * @param {PaymentActionRequiredInfo} info
  29. */
  30. constructor(info) {
  31. super('Payment action required', info)
  32. }
  33. }
  34. /**
  35. * @typedef {Object} PaymentFailedInfo
  36. * @property {string} PaymentFailedInfo.subscriptionId
  37. * @property {string} PaymentFailedInfo.reason
  38. * @property {string} PaymentFailedInfo.adviceCode
  39. */
  40. class PaymentFailedError extends OError {
  41. /**
  42. * @param {PaymentFailedInfo} info
  43. */
  44. constructor(info) {
  45. super('Failed to process payment', info)
  46. }
  47. }
  48. module.exports = {
  49. RecurlyTransactionError,
  50. DuplicateAddOnError,
  51. AddOnNotPresentError,
  52. PaymentActionRequiredError,
  53. PaymentFailedError,
  54. MissingBillingInfoError,
  55. ManuallyCollectedError,
  56. PendingChangeError,
  57. InactiveError,
  58. SubtotalLimitExceededError,
  59. HasPastDueInvoiceError,
  60. HasNoAdditionalLicenseWhenManuallyCollectedError,
  61. }