"use strict"; const User = require("./User"); /** * Represents an extended user * @extends User * @prop {String} email The email of the user * @prop {Boolean} mfaEnabled Whether the user has enabled two-factor authentication * @prop {Number} premiumType The type of Nitro subscription on the user's account * @prop {Boolean} verified Whether the account email has been verified */ class ExtendedUser extends User { constructor(data, client) { super(data, client); this.update(data); } update(data) { super.update(data); if(data.email !== undefined) { this.email = data.email; } if(data.verified !== undefined) { this.verified = data.verified; } if(data.mfa_enabled !== undefined) { this.mfaEnabled = data.mfa_enabled; } if(data.premium_type !== undefined) { this.premiumType = data.premium_type; } } toJSON(props = []) { return super.toJSON([ "email", "mfaEnabled", "premium", "verified", ...props ]); } } module.exports = ExtendedUser;