@arkasuryawan/gp-interfaces
Version:
Geonet Properties Data Interfaces
71 lines (70 loc) • 1.92 kB
TypeScript
import { AddressInterface, AuditInterface, EmployeeType, TenantType } from "../interfaces";
import { OfficesInterface } from "./office.interface";
import { TenantInterface } from "./tenant.interface";
export interface AgentInterface extends AuditInterface {
uid?: string;
fullName: string;
firstName: string;
lastName?: string;
mobile?: string;
phone?: string;
image: string;
email: string;
dateOfBirth?: string;
licenceNumber?: string;
licenceExpiryDate?: string;
address?: AddressInterface;
OfficeId?: string;
office?: OfficesInterface;
jobTitle?: string;
specialistAreas?: string[];
awards?: string[];
employeeType?: EmployeeType;
/**
* @deprecated The method should not be used move to `tenantTypes`
*/
tenantType?: TenantType;
/**
* @abstract New field moving from `tenantType`
*/
tenantId?: string;
tenant?: TenantInterface;
aggregatorIds?: string[];
aggregators?: TenantInterface[];
profile?: string;
profileVideo?: string;
startDate?: string;
contractValedDate?: string;
showOnWeb: boolean;
status: "Active" | "Archived";
customToken?: string;
facebookUrl?: string;
instagramUrl?: string;
linkedInUrl?: string;
twitterUrl?: string;
keyword?: string;
callCalenderUrl?: string;
agentLanguages?: string[];
deviceToken?: string[];
groupId?: string;
group?: GroupInterface;
/**
* @abstract just for JWT
*/
groupAccess?: GroupAccessInterface[];
}
export interface GroupInterface extends AuditInterface {
name: string;
description: string;
tenantType: TenantType;
}
export interface GroupAccessInterface extends AuditInterface {
groupId: string;
group: GroupInterface;
menu: string;
view: boolean;
craete: boolean;
update: boolean;
delete: boolean;
exceptField: string[];
}