Constructor
new SubscriptionPlans(options)
Create an instance of the SubscriptionPlans service.
Parameters:
Name | Type | Description |
---|---|---|
options |
See CaskSDK configuration. |
- See:
Methods
(async) disablePlan(planId) → {Promise.<{tx: *}>}
Disable a plan from accepting any new subscriptions. No existing subscriptions are canceled.
Parameters:
Name | Type | Description |
---|---|---|
planId |
Plan ID |
Returns:
- Type
- Promise.<{tx: *}>
(async) enablePlan(planId) → {Promise.<{tx: *}>}
Re-enable a previously disabled plan to be able to accept new subscriptions again.
Parameters:
Name | Type | Description |
---|---|---|
planId |
Plan ID |
Returns:
- Type
- Promise.<{tx: *}>
(async) getDiscountRedemptions(discountId) → {Promise.<string>}
Get the number of redemptions a specific plan/discountId has already had.
Parameters:
Name | Type | Description |
---|---|---|
discountId |
Discount ID |
Returns:
- Type
- Promise.<string>
(async) getProfile(address, options) → {Promise.<(ProviderProfile|null)>}
Get the provider profile for an address.
Parameters:
Name | Type | Description | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
address |
Provider address | |||||||||||
options |
Object | Options
Properties
|
Returns:
- Type
- Promise.<(ProviderProfile|null)>
(async) hasProviderProfile(address) → {Promise.<boolean>}
Check if a given address is registered as a service provider.
Parameters:
Name | Type | Description |
---|---|---|
address |
Returns:
- Type
- Promise.<boolean>
(async) history(provider, planId)
Get history for a provider and optionally a specific plan
Parameters:
Name | Type | Description |
---|---|---|
provider |
string | Provider address |
planId |
number | Plan ID |
(async) init(args)
Initialize the subscription plans service.
Parameters:
Name | Type | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
args |
Object | Function arguments
Properties
|
(async) loadProfile(addressopt, forceopt) → {Promise.<ProviderProfile>}
Load the (or create a new non-published) service provider profile for an address.
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
address |
<optional> |
ethersConnection.address | Provider address or attempts to use the blockchain connection address | |
force |
<optional> |
false | Force reloading profile even if it was previously loaded |
Returns:
- Type
- Promise.<ProviderProfile>
(async) planStatus(planId) → {Promise.<number>}
Get the current plan status of a specific plan.
Parameters:
Name | Type | Description |
---|---|---|
planId |
Plan ID |
Returns:
- Type
- Promise.<number>
(async) publishProfile() → {Promise.<{tx: *}>}
Publish a provider profile. Uploads profile to IPFS and performs a blockchain transaction to store the
new provider CID on-chain.
Returns:
- Type
- Promise.<{tx: *}>
(async) retirePlan(planId, retireAtopt) → {Promise.<{tx: *}>}
Permanently retire a specific plan. Any active subscriptions to the plan will be canceled at their
next renewal date. This cannot be undone.
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
planId |
Plan ID | |||
retireAt |
<optional> |
now | Unix timestamp of when to retire plan, defaults to now. |
Returns:
- Type
- Promise.<{tx: *}>
unloadProfile()
UnLoads the the current service provider profile loaded.
(async) verifyDiscount(planId, discountId) → {Promise.<boolean>}
Verify the given plan/discountId is currently valid. Throws an error if is not currently valid
that includes the reason.
Parameters:
Name | Type | Description |
---|---|---|
planId |
Plan ID | |
discountId |
Discount ID |
Returns:
- Type
- Promise.<boolean>