/** * User */ import * as solar from '../helpers/solarStaff'; import { IDeviceRegistration, IDevice } from './device'; export interface IPersonalData { age: number; registration: boolean; nationality: string; city: string; } export enum PaymentMethod { QIWI = 'qiwi', CARD = 'card', } export interface IPaymentInfo { externalUserId: number; activated: boolean; paymentMethod: PaymentMethod; cards: IUserCard[]; } export interface IUserPaymenMethod { email: string; paymentMethod: PaymentMethod; } export interface IUserCard { id: number; statusId: solar.CardStatuses; statusName: string; cardNumber: string; isDefault: boolean; } export interface IUserCardSelector { email: string; cardId: number; } export interface ILinkCardData { email: string; redirectUrl: string; } export interface ILinkedCardData { cardId: number; terminalUrl: string; verifyStatusId: number; } export interface IUserSkill { id: number; skillId: number; avgScore: number; votes: number; } export interface IUserSelector { id: string; } export interface IUser { id: string; firstName: string; middleName: string; lastName: string; login: string; email: string; pic: string; phone: string; status: string; created: string; updated: string; lastLogin: string; pwd: string; salt: string; avgScore: string; votes: number; personalData: Partial; paymentInfo: Partial; roles: number[]; userSkills: Partial[]; } export interface ILoggedUser { id: string; firstName: string; lastName: string; login: string; roles: number[]; jwt: string; device: IDevice; } export interface IUserLogin { login: string; phone: string; pwd: string; } export interface IUserLoginMobile { login: string; phone: string; pwd: string; device: IDeviceRegistration; } export interface IUserUpdatePwd { id: string; oldPwd: string; newPwd: string; newPwdRepeat: string; }