mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-12-24 03:14:03 +03:00
5f928794c3
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
31 lines
611 B
JavaScript
31 lines
611 B
JavaScript
/**
|
|
* @typedef {object} TierCreatedEventData
|
|
* @prop {Tier} tier
|
|
*/
|
|
|
|
class TierCreatedEvent {
|
|
/** @type {TierCreatedEventData} */
|
|
data;
|
|
/** @type {Date} */
|
|
timestamp;
|
|
|
|
/**
|
|
* @param {TierCreatedEvent} data
|
|
* @param {Date} timestamp
|
|
*/
|
|
constructor(data, timestamp) {
|
|
this.data = data;
|
|
this.timestamp = timestamp;
|
|
}
|
|
|
|
/**
|
|
* @param {TierCreatedEvent} data
|
|
* @param {Date} [timestamp]
|
|
*/
|
|
static create(data, timestamp = new Date()) {
|
|
return new TierCreatedEvent(data, timestamp);
|
|
}
|
|
}
|
|
|
|
module.exports = TierCreatedEvent;
|