import { Link } from '../../common/model/LinkEntity'; import { FeatureKey } from '../../common/model/FeatureKey'; import { AccountType, Product, SubAccount } from '../../accounts/model/Account'; import { UserRole } from './UserRole'; export interface User { id: string; firstName: string; lastName: string; email: string; jobTitle?: string; audiences?: string[]; desiredContent?: string; discoveryMethods?: string[]; features?: { [key in FeatureKey]?: boolean; }; accessExpiresOn?: Date; userRoles?: { [key in Product]?: UserRole; }; account?: { id: string; name: string; marketingInformation?: { companySegments?: string[]; }; products?: Product[]; type: AccountType; createdAt: Date; logoUrl?: string; subAccounts?: SubAccount[]; }; hasAcceptedTermsAndConditions?: boolean; links?: { updateUserAccount?: Link; sendActivationEmail?: Link; self?: Link; }; }