import { EBindKey, EExchangeNames, EExchangeTypes, IMessageEvent, TEventBaseData } from "../events/index.js"; import { IUser, TCommunicationSettings } from "./user/index.js"; import { ITenant, ITenantAttrs } from "./tenant/index.js"; import { ESupportedLanguages } from "./translation/index.js"; export type TTenantOwnerData = { employeeId: string; firstName: string; lastName: string; email: string; communication?: TCommunicationSettings; tempPassword: string; defaultGroups: { startDate: string; department: string; division: string; region: string; position: string; mobileNumber: string; workPhoneNumber: string; gender: string; country: string; city: string; dateOfBirth: string; language: ESupportedLanguages; }; }; export type TTenantCreateData = { newTenant: ITenantAttrs; owner: TTenantOwnerData; } & TEventBaseData; export interface ITenantCreateEvent extends IMessageEvent { exchangeName: EExchangeNames.TENANT_CREATE; exchangeType: EExchangeTypes.DIRECT; key: EBindKey.TENANT_CREATE; data?: TTenantCreateData; } export type TTenantAdminEditData = { tenantDoc: ITenant; } & TEventBaseData; export interface ITenantAdminEditEvent extends IMessageEvent { exchangeName: EExchangeNames.TENANT_ADMIN_EDIT; exchangeType: EExchangeTypes.DIRECT; key: EBindKey.TENANT_ADMIN_EDIT; data?: TTenantAdminEditData; } export interface ITenantCreateSuccessEvent extends IMessageEvent { exchangeName: EExchangeNames.TENANT_CREATE_SUCCESS; exchangeType: EExchangeTypes.DIRECT; key: EBindKey.TENANT_CREATE_SUCCESS; data?: TTenantCreateData; } export type TTenantCreateDatabaseData = { newTenant: ITenant; owner: IUser; } & TEventBaseData; export interface ITenantAddDataEvent extends IMessageEvent { exchangeName: EExchangeNames.TENANT_ADD_DATA; exchangeType: EExchangeTypes.DIRECT; key: EBindKey.TENANT_ADD_DATA; data?: TTenantCreateDatabaseData; } export interface ITenantContentCreateIndexEvent extends IMessageEvent { exchangeName: EExchangeNames.TENANT_CONTENT_CREATE_INDEX; exchangeType: EExchangeTypes.DIRECT; key: EBindKey.TENANT_CONTENT_CREATE_INDEX; data?: TEventBaseData; } export interface ITenantCommunicationCreateIndexEvent extends IMessageEvent { exchangeName: EExchangeNames.TENANT_COMMUNICATION_CREATE_INDEX; exchangeType: EExchangeTypes.DIRECT; key: EBindKey.TENANT_COMMUNICATION_CREATE_INDEX; data?: TEventBaseData; } export interface ITenantSupportCreateIndexEvent extends IMessageEvent { exchangeName: EExchangeNames.TENANT_SUPPORT_CREATE_INDEX; exchangeType: EExchangeTypes.DIRECT; key: EBindKey.TENANT_SUPPORT_CREATE_INDEX; data?: TEventBaseData; } export interface ITenantFormCreateIndexEvent extends IMessageEvent { exchangeName: EExchangeNames.TENANT_FORM_CREATE_INDEX; exchangeType: EExchangeTypes.DIRECT; key: EBindKey.TENANT_FORM_CREATE_INDEX; data?: TEventBaseData; } export interface ITenantLoggingCreateIndexEvent extends IMessageEvent { exchangeName: EExchangeNames.TENANT_LOGGING_CREATE_INDEX; exchangeType: EExchangeTypes.DIRECT; key: EBindKey.TENANT_LOGGING_CREATE_INDEX; data?: TEventBaseData; } export interface ITenantProfileCreateIndexEvent extends IMessageEvent { exchangeName: EExchangeNames.TENANT_PROFILE_CREATE_INDEX; exchangeType: EExchangeTypes.DIRECT; key: EBindKey.TENANT_PROFILE_CREATE_INDEX; data?: TEventBaseData; } export interface ITenantCreateModelEvent extends IMessageEvent { exchangeName: EExchangeNames.TENANT_CREATE_MODEL; exchangeType: EExchangeTypes.DIRECT; key: EBindKey.TENANT_CREATE_MODEL; data?: TEventBaseData; } //# sourceMappingURL=tenant-events.d.ts.map