import { PgEmployeeProjectDtl } from 'app/models/candidate-dashboard-response/pg-employee-project-dtl';

export interface PgRoleMstr {
  roleId: number;
  roleName: string;
  status: string;
  createdBy: string;
  createdDt: any;
  updatedBy: string;
  updatedDt: any;
}

export interface PgPrivilegeMstr {
  privilegeId: number;
  contentAccess: string;
  description: string;
  createdBy: string;
  createdDt: any;
  updatedBy: string;
  updatedDt: any;
}

export interface PgRolePrivilege {
  rolePrivilegeId: number;
  pgRoleMstr: PgRoleMstr;
  pgPrivilegeMstr: PgPrivilegeMstr;
  accessType: string;
  createdBy: string;
  createdDt: any;
  updatedBy: string;
  updatedDt: any;
}

export interface PgRoleUser {
  roleUserId: number;
  pgRolePrivilege: PgRolePrivilege;
  userInfoMstrId: number;
  status: string;
  createdBy: string;
  createdDt: any;
  updatedBy: string;
  updatedDt: any;
}

export interface PgSkillTrackMstr {
  skillTrackMstrId: number;
  skillTrackName: string;
  description: string;
  status: string;
  createdBy: string;
  createdDt: any;
  updatedBy: string;
  updatedDt: any;
}

export interface PgSkillCategory {
  skillCategoryId: number;
  skillCategoryName: string;
  description: string;
  status: string;
  createdBy: string;
  createdDt: any;
  updatedBy: string;
  updatedDt: any;
}

export interface PgSkillTrackDtls {
  skillTrackDtlsId: number;
  pgSkillTrackMstr: PgSkillTrackMstr;
  pgSkillCategory: PgSkillCategory;
  skillTrackDtlsName: string;
  description: string;
  createdBy: string;
  createdDt: any;
  updatedBy: string;
  updatedDt: any;
}

export interface PgUserSkillMapping {
  userSkillMappingId: number;
  userInfoMstrId: number;
  pgSkillTrackDtls: PgSkillTrackDtls;
  createdBy: string;
  createdDt: any;
  updatedBy: string;
  updatedDt: any;
}

export interface PgLocation {
  locationId: number;
  status: string;
  address: string;
  city: string;
  state: string;
  zipCode: number;
  country: string;
  createdBy: string;
  updatedBy: string;
  createdDt: number;
  updatedDt: number;
}

export interface PgCourseDtl {
  courseDtlsId: number;
  courseName: string;
  courseStatus: string;
  userInfoMstrId: number;
  createdBy: string;
  updatedBy: string;
  createdDt: any;
  updatedDt: any;
}

export interface PgUserInfoMstr {
  userInfoMstrId: number;
  firstNm: string;
  lastNm: string;
  fullName: string;
  emailId: string;
  pgRoleUser: PgRoleUser[];
  pgUserSkillMapping: PgUserSkillMapping[];
  pgLocation: PgLocation;
  mobileNo?: any;
  createdBy: string;
  createdDt: number;
  updatedBy: string;
  updatedDt: number;
  socialUserType: string;
  status: string;
  firstTimeLogin: string;
  pgCourseDtls: PgCourseDtl[];
}

export interface PgRoleMstr2 {
  roleId: number;
  roleName: string;
  status: string;
  createdBy: string;
  createdDt: any;
  updatedBy: string;
  updatedDt: any;
}

export interface PgPrivilegeMstr2 {
  privilegeId: number;
  contentAccess: string;
  description: string;
  createdBy: string;
  createdDt: any;
  updatedBy: string;
  updatedDt: any;
}

export interface PgRolePrivilege2 {
  rolePrivilegeId: number;
  pgRoleMstr: PgRoleMstr2;
  pgPrivilegeMstr: PgPrivilegeMstr2;
  accessType: string;
  createdBy: string;
  createdDt: any;
  updatedBy: string;
  updatedDt: any;
}

export interface PgRoleUser2 {
  roleUserId: number;
  pgRolePrivilege: PgRolePrivilege2;
  userInfoMstrId: number;
  status: string;
  createdBy: string;
  createdDt: any;
  updatedBy: string;
  updatedDt: any;
}

export interface PgSkillTrackMstr2 {
  skillTrackMstrId: number;
  skillTrackName: string;
  description: string;
  status: string;
  createdBy: string;
  createdDt: any;
  updatedBy: string;
  updatedDt: any;
}

export interface PgSkillCategory2 {
  skillCategoryId: number;
  skillCategoryName: string;
  description: string;
  status: string;
  createdBy: string;
  createdDt: any;
  updatedBy: string;
  updatedDt: any;
}

export interface PgSkillTrackDtls2 {
  skillTrackDtlsId: number;
  pgSkillTrackMstr: PgSkillTrackMstr2;
  pgSkillCategory: PgSkillCategory2;
  skillTrackDtlsName: string;
  description: string;
  createdBy: string;
  createdDt: any;
  updatedBy: string;
  updatedDt: any;
}

export interface PgUserSkillMapping2 {
  userSkillMappingId: number;
  userInfoMstrId: number;
  pgSkillTrackDtls: PgSkillTrackDtls2;
  createdBy: string;
  createdDt: any;
  updatedBy: string;
  updatedDt: any;
}

export interface PgLocation2 {
  locationId: number;
  status: string;
  address: string;
  city: string;
  state: string;
  zipCode: number;
  country: string;
  createdBy: string;
  updatedBy: string;
  createdDt: number;
  updatedDt: number;
}

export interface PgCourseDtl2 {
  courseDtlsId: number;
  courseName: string;
  courseStatus: string;
  userInfoMstrId: number;
  createdBy: string;
  updatedBy: string;
  createdDt: any;
  updatedDt: any;
}

export interface UserInfoMstr {
  userInfoMstrId: number;
  firstNm: string;
  lastNm: string;
  fullName: string;
  emailId: string;
  pgRoleUser: PgRoleUser2[];
  pgUserSkillMapping: PgUserSkillMapping2[];
  pgLocation: PgLocation2;
  mobileNo?: any;
  createdBy: string;
  createdDt: number;
  updatedBy: string;
  updatedDt: number;
  socialUserType: string;
  status: string;
}

export interface UserInfoMstrEmployee extends UserInfoMstr {
  firstTimeLogin: string;
  pgCourseDtls: PgCourseDtl2[];
}

export interface UserInfoMstrCandidate extends UserInfoMstr {
  pgEmployeeProjectDtls: PgEmployeeProjectDtl[];
  pgCourseEmployeeMapping: any;
}

export interface PgUserInfoDtls {
  userInfoDtlsId: number;
  pgUserInfoMstr: PgUserInfoMstr;
  pgSourceMstr?: any;
  adId: string;
  fullName?: any;
  highestQualificationHeld?: any;
  currentJobTitle?: any;
  pgRequirement?: any;
  experienceInYrs?: any;
  pgExperienceLevel?: any;
  currentEmployer?: any;
  skypeId?: any;
  emailId: string;
  uniqueId?: any;
  linkedinUrl?: any;
  addressLine1?: any;
  city?: any;
  zipCode?: any;
  country?: any;
  stateName?: any;
  additionalInfo?: any;
  twitter?: any;
  otherDesc?: any;
  createdBy: string;
  createdDt: number;
  updatedBy: string;
  updatedDt: number;
  coachId?: any;
  taId?: any;
  jobId?: any;
  contactNumber?: any;
  governmentId?: any;
  alternativeEmail?: any;
  alternativeContact?: any;
  facebookId?: any;
  googleId?: any;
  linkedInId?: any;
  profileId?: any;
  profileName?: any;
  employeeNo: string;
  userInfoMstr: UserInfoMstr;
}
