Ghost/ghost/tiers/lib/TierActivatedEvent.js
Fabien "egg" O'Carroll 5f928794c3 Added support for Tier events
refs https://github.com/TryGhost/Team/issues/2078

These events are all required for other parts of the Ghost system to stay in
sync. The events on each Tier object will be dispatched by the TierRepository
once they've been persisted.

TierCreatedEvent - generate Stripe Products & Prices
TierNameChangeEvent - update Stripe Products
TierPriceChangeEvent - update Stripe Products & Prices
TierArchivedEvent - update the Portal settings for visible tiers
                  - disable Stripe Products & Prices
TierActivatedEvent - enable Stripe Products & Prices
2022-10-20 17:31:33 +07:00

31 lines
625 B
JavaScript

/**
* @typedef {object} TierActivatedEventData
* @prop {Tier} tier
*/
class TierActivatedEvent {
/** @type {TierActivatedEventData} */
data;
/** @type {Date} */
timestamp;
/**
* @param {TierActivatedEvent} data
* @param {Date} timestamp
*/
constructor(data, timestamp) {
this.data = data;
this.timestamp = timestamp;
}
/**
* @param {TierActivatedEvent} data
* @param {Date} [timestamp]
*/
static create(data, timestamp = new Date()) {
return new TierActivatedEvent(data, timestamp);
}
}
module.exports = TierActivatedEvent;