|
@@ -18,6 +18,7 @@ const {
|
|
|
PendingChangeError,
|
|
PendingChangeError,
|
|
|
InactiveError,
|
|
InactiveError,
|
|
|
HasPastDueInvoiceError,
|
|
HasPastDueInvoiceError,
|
|
|
|
|
+ HasNoAdditionalLicenseWhenManuallyCollectedError,
|
|
|
} = require('./Errors')
|
|
} = require('./Errors')
|
|
|
const EmailHelper = require('../Helpers/EmailHelper')
|
|
const EmailHelper = require('../Helpers/EmailHelper')
|
|
|
const { InvalidEmailError } = require('../Errors/Errors')
|
|
const { InvalidEmailError } = require('../Errors/Errors')
|
|
@@ -123,6 +124,22 @@ async function ensureSubscriptionHasNoPastDueInvoice(subscription) {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+async function ensureSubscriptionHasAdditionalLicenseAddOnWhenCollectionMethodIsManual(
|
|
|
|
|
+ paymentProviderSubscription
|
|
|
|
|
+) {
|
|
|
|
|
+ if (
|
|
|
|
|
+ paymentProviderSubscription.isCollectionMethodManual &&
|
|
|
|
|
+ !paymentProviderSubscription.hasAddOn(MEMBERS_LIMIT_ADD_ON_CODE)
|
|
|
|
|
+ ) {
|
|
|
|
|
+ throw new HasNoAdditionalLicenseWhenManuallyCollectedError(
|
|
|
|
|
+ 'This subscription is being collected manually has no "additional-license" add-on',
|
|
|
|
|
+ {
|
|
|
|
|
+ subscription_id: paymentProviderSubscription.id,
|
|
|
|
|
+ }
|
|
|
|
|
+ )
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
async function getUsersGroupSubscriptionDetails(userId) {
|
|
async function getUsersGroupSubscriptionDetails(userId) {
|
|
|
const subscription =
|
|
const subscription =
|
|
|
await SubscriptionLocator.promises.getUsersSubscription(userId)
|
|
await SubscriptionLocator.promises.getUsersSubscription(userId)
|
|
@@ -470,6 +487,10 @@ module.exports = {
|
|
|
ensureSubscriptionHasNoPastDueInvoice: callbackify(
|
|
ensureSubscriptionHasNoPastDueInvoice: callbackify(
|
|
|
ensureSubscriptionHasNoPastDueInvoice
|
|
ensureSubscriptionHasNoPastDueInvoice
|
|
|
),
|
|
),
|
|
|
|
|
+ ensureSubscriptionHasAdditionalLicenseAddOnWhenCollectionMethodIsManual:
|
|
|
|
|
+ callbackify(
|
|
|
|
|
+ ensureSubscriptionHasAdditionalLicenseAddOnWhenCollectionMethodIsManual
|
|
|
|
|
+ ),
|
|
|
getTotalConfirmedUsersInGroup: callbackify(getTotalConfirmedUsersInGroup),
|
|
getTotalConfirmedUsersInGroup: callbackify(getTotalConfirmedUsersInGroup),
|
|
|
isUserPartOfGroup: callbackify(isUserPartOfGroup),
|
|
isUserPartOfGroup: callbackify(isUserPartOfGroup),
|
|
|
getGroupPlanUpgradePreview: callbackify(getGroupPlanUpgradePreview),
|
|
getGroupPlanUpgradePreview: callbackify(getGroupPlanUpgradePreview),
|
|
@@ -484,6 +505,7 @@ module.exports = {
|
|
|
ensureSubscriptionCollectionMethodIsNotManual,
|
|
ensureSubscriptionCollectionMethodIsNotManual,
|
|
|
ensureSubscriptionHasNoPendingChanges,
|
|
ensureSubscriptionHasNoPendingChanges,
|
|
|
ensureSubscriptionHasNoPastDueInvoice,
|
|
ensureSubscriptionHasNoPastDueInvoice,
|
|
|
|
|
+ ensureSubscriptionHasAdditionalLicenseAddOnWhenCollectionMethodIsManual,
|
|
|
getTotalConfirmedUsersInGroup,
|
|
getTotalConfirmedUsersInGroup,
|
|
|
isUserPartOfGroup,
|
|
isUserPartOfGroup,
|
|
|
getUsersGroupSubscriptionDetails,
|
|
getUsersGroupSubscriptionDetails,
|