import type { Permission } from "~/models/role";

// Should we define the keys first?
// export type Keys = 'key1' | 'key2' | 'key3' | etc

export const permissions: Record<string, Record<string, Permission[]>> = {
  '/ambulatory/registration-queue': {
    'emp|reg': ['R', 'U', 'D'],
  },
  '/ambulatory/encounter-queue': {
    'emp|nur': ['R', 'U', 'D'],
  },
  '/ambulatory/encounter': {
    'emp|reg': ['C', 'R', 'U', 'D'],
    'emp|doc': ['R'],
    'emp|nur': ['R'],
    'emp|thr': ['R'],
    'emp|miw': ['R'],
    'emp|nut': ['R'],
    'emp|pha': ['R'],
    'emp|lab': ['R'],
    'emp|rad': ['R'],
  },
  '/ambulatory/encounter/add': {
    'emp|reg': ['C', 'R', 'U', 'D'],
  },
  '/ambulatory/encounter/[id]': {
    'emp|reg': ['C', 'R', 'U', 'D'],
    'emp|doc': ['R'],
    'emp|nur': ['R'],
    'emp|thr': ['R'],
    'emp|miw': ['R'],
    'emp|nut': ['R'],
    'emp|pha': ['R'],
    'emp|lab': ['R'],
    'emp|rad': ['R'],
  },
  '/ambulatory/encounter/[id]/edit': {
    'emp|reg': ['C', 'R', 'U', 'D'],
  },
  '/ambulatory/encounter/[id]/process': {
    'emp|doc': ['R'],
    'emp|nur': ['R', 'U'],
    'emp|thr': ['R'],
    'emp|miw': ['R'],
    'emp|nut': ['R'],
    'emp|pha': ['R'],
    'emp|lab': ['R'],
    'emp|rad': ['R'],
  },
  '/ambulatory/encounter/[id]/process?menu=status': {
    'emp|doc': ['R'],
    'emp|nur': ['R', 'U'],
    'emp|thr': ['R'],
    'emp|miw': ['R'],
    'emp|nut': ['R'],
    'emp|pha': ['R'],
    'emp|lab': ['R'],
    'emp|rad': ['R'],
  },
  '/ambulatory/encounter/[id]/process?menu=early-medical-assessment': {
    'emp|doc': ['R', 'U'],
    'emp|nur': ['R'],
    'emp|thr': ['R'],
    'emp|miw': ['R'],
    'emp|nut': ['R'],
    'emp|pha': ['R'],
    'emp|lab': ['R'],
    'emp|rad': ['R'],
  },
  '/ambulatory/encounter/[id]/process?menu=fkr': {
    'emp|doc': ['R', 'U'],
    'emp|nur': ['R'],
    'emp|thr': ['R'],
    'emp|miw': ['R'],
    'emp|nut': ['R'],
    'emp|pha': ['R'],
    'emp|lab': ['R'],
    'emp|rad': ['R'],
  },
  '/ambulatory/encounter/[id]/process?menu=education-assessment': {
    'emp|doc': ['R', 'U'],
    'emp|nur': ['R'],
    'emp|thr': ['R'],
    'emp|miw': ['R'],
    'emp|nut': ['R'],
    'emp|pha': ['R'],
    'emp|lab': ['R'],
    'emp|rad': ['R'],
  },
  '/ambulatory/encounter/[id]/process?menu=general-consent': {
    'emp|doc': ['R'],
    'emp|nur': ['R', 'U'],
    'emp|thr': ['R'],
    'emp|miw': ['R'],
    'emp|nut': ['R'],
    'emp|pha': ['R'],
    'emp|lab': ['R'],
    'emp|rad': ['R'],
  },
  '/ambulatory/encounter/[id]/process?menu=patient-amb-note': {
    'emp|doc': ['R'],
    'emp|nur': ['R', 'U'],
    'emp|thr': ['R'],
    'emp|miw': ['R'],
    'emp|nut': ['R'],
    'emp|pha': ['R'],
    'emp|lab': ['R'],
    'emp|rad': ['R'],
  },
  '/ambulatory/encounter/[id]/process?menu=prescription': {
    'emp|doc': ['R', 'U'],
    'emp|nur': ['R'],
    'emp|thr': ['R'],
    'emp|miw': ['R'],
    'emp|nut': ['R'],
    'emp|pha': ['R'],
    'emp|lab': ['R'],
    'emp|rad': ['R'],
  },
  '/ambulatory/encounter/[id]/process?menu=device-order': {
    'emp|doc': ['R', 'U'],
    'emp|nur': ['R'],
    'emp|thr': ['R'],
    'emp|miw': ['R'],
    'emp|nut': ['R'],
    'emp|pha': ['R'],
    'emp|lab': ['R'],
    'emp|rad': ['R'],
  },
  '/ambulatory/encounter/[id]/process?menu=radiology-order': {
    'emp|doc': ['R', 'U'],
    'emp|nur': ['R'],
    'emp|thr': ['R'],
    'emp|miw': ['R'],
    'emp|nut': ['R'],
    'emp|pha': ['R'],
    'emp|lab': ['R'],
    'emp|rad': ['R'],
  },
  '/ambulatory/encounter/[id]/process?menu=cp-lab-order': {
    'emp|doc': ['R', 'U'],
    'emp|nur': ['R'],
    'emp|thr': ['R'],
    'emp|miw': ['R'],
    'emp|nut': ['R'],
    'emp|pha': ['R'],
    'emp|lab': ['R'],
    'emp|rad': ['R'],
  },
  '/ambulatory/encounter/[id]/process?menu=micro-lab-order': {
    'emp|doc': ['R', 'U'],
    'emp|nur': ['R'],
    'emp|thr': ['R'],
    'emp|miw': ['R'],
    'emp|nut': ['R'],
    'emp|pha': ['R'],
    'emp|lab': ['R'],
    'emp|rad': ['R'],
  },
  '/ambulatory/encounter/[id]/process?menu=pa-lab-order': {
    'emp|doc': ['R', 'U'],
    'emp|nur': ['R'],
    'emp|thr': ['R'],
    'emp|miw': ['R'],
    'emp|nut': ['R'],
    'emp|pha': ['R'],
    'emp|lab': ['R'],
    'emp|rad': ['R'],
  },
  '/ambulatory/consulation': {
    'emp|doc': ['R'],
  },
  '/ambulatory/consulation/[id]/process': {
    'emp|doc': ['R', 'U'],
  },
}
