import { MemberId, OrganizationId, ProjectId, RoleId, TeamId, UserId, MemberIdentityId } from 'teambition-types'; import { ProjectSchema } from './Project'; import { UserPaymentPlan } from './UserMe'; export interface MemberProfileSchema { birthday: string; city: string; country: string; email: string; entryTime: string; name: string; phone: string; position: string; province: string; staffType: string; teamIds: TeamId[]; } export interface GeneralMemberSchema { _boundToObjectId: ProjectId | OrganizationId; _id: string; _memberId: MemberId; _roleId: RoleId; _userId: UserId; roleIds: RoleId[]; avatarUrl: string; boundToObjectType: 'project' | 'organization'; email: string; hasVisited: boolean; isActive: boolean; isDisabled: boolean; invited: string; joined: string; latestActived: string; location: string; memberIdentityIds: MemberIdentityId[]; name: string; nickname: string; nicknamePinyin: string; nicknamePy: string; phone: string; pinyin: string; plan: UserPaymentPlan; profile: MemberProfileSchema; projectExperience: ProjectSchema[]; projectExperienceIds: ProjectId[]; pushStatus: boolean; py: string; teams: TeamId[]; title: string; visited: string | null; website: string; } export interface MemberSchema extends GeneralMemberSchema { _id: MemberId; } export interface LegacyMemberSchema extends GeneralMemberSchema { _id: UserId; }