getEmailAlertUsers(type, options) {
        options = options || {};

        let filter = 'status:active';
        if (type === 'free-signup') {
            filter += '+free_member_signup_notification:true';
        } else if (type === 'paid-started') {
            filter += '+paid_subscription_started_notification:true';
        } else if (type === 'paid-canceled') {
            filter += '+paid_subscription_canceled_notification:true';
        } else if (type === 'mention-received') {
            filter += '+mention_notifications:true';
        } else if (type === 'milestone-received') {
            filter += '+milestone_notifications:true';
        } else if (type === 'donation') {
            filter += '+donation_notifications:true';
        } else if (type === 'recommendation-received') {
            filter += '+recommendation_notifications:true';
        }
        const updatedOptions = Object.assign({}, options, {filter, withRelated: ['roles']});
        return this.findAll(updatedOptions).then((users) => {
            return users.toJSON().filter((user) => {
                return user?.roles?.some((role) => {
                    return ['Owner', 'Administrator'].includes(role.name);
                });
            });
        });
    }
Returns users who should receive a specific type of alert
@param {'free-signup'|'paid-started'|'paid-canceled'} type The type of alert to fetch users for
@param {any} options
@return {Promise<[Object]>} Array of users