import { UserProfile } from '../auth/auth.model';
import { Menu } from '../../services/common/nav.service';

export interface CurrentUserContext extends UserProfile {
  fullName?: string;
  defaultLandingPage?: string;
}

export interface TenantContext {
  tenantId?: string;
  companyId?: string;
  companyName?: string;
  tenantName?: string;
  defaultLandingPage?: string;
}

export interface PermissionContext {
  roles: string[];
  permissions: string[];
  defaultLandingPage?: string;
}

export interface MenuContext {
  items: Menu[];
  defaultLandingPage?: string;
}

export interface AppContextState {
  user: CurrentUserContext;
  tenant: TenantContext;
  permissions: PermissionContext;
  menu: MenuContext;
}