076e3c02b2
fixes https://github.com/TryGhost/Team/issues/2160 - Adds a `batch_id` to both events that contain the same ID if they were created at the same time. - Removes duplicate signup/conversion events using the batch_id - Requires an update in mongo-knex to work (refs https://ghost.slack.com/archives/C02G9E68C/p1666773313272409?thread_ts=1666767872.375009&cid=C02G9E68C) - Some dependencies needed an update to load the latest mongo-knex - Added tiers to membersUtils, loaded on startup (we can start to use this instead of fetching it every time)
27 lines
723 B
JavaScript
27 lines
723 B
JavaScript
/**
|
|
* @typedef {object} MemberCreatedEventData
|
|
* @prop {string} memberId
|
|
* @prop {string} batchId
|
|
* @prop {'import' | 'system' | 'api' | 'admin' | 'member'} source
|
|
* @prop {import('@tryghost/member-attribution/lib/attribution').Attribution} [attribution] Attribution
|
|
*/
|
|
|
|
module.exports = class MemberCreatedEvent {
|
|
/**
|
|
* @param {MemberCreatedEventData} data
|
|
* @param {Date} timestamp
|
|
*/
|
|
constructor(data, timestamp) {
|
|
this.data = data;
|
|
this.timestamp = timestamp;
|
|
}
|
|
|
|
/**
|
|
* @param {MemberCreatedEventData} data
|
|
* @param {Date} [timestamp]
|
|
*/
|
|
static create(data, timestamp) {
|
|
return new MemberCreatedEvent(data, timestamp ?? new Date);
|
|
}
|
|
};
|