export const OPERATION_SCOPES = {
  mcpList: 'base',
  mcpCreate: 'base',
  mcpUpdate: 'base',
  mcpDelete: 'base',
  mcpGet: 'base',
  mcpRootList: 'org',
  recordAuditList: 'base',
  oAuthClientList: 'org',
  oAuthClientCreate: 'org',
  oAuthClientUpdate: 'org',
  oAuthClientDelete: 'org',
  oAuthClientGet: 'org',
  oAuthAuthorizationList: 'org',
  oAuthAuthorizationRevoke: 'org',
  oAuthClientRegenerateSecret: 'org',
  checkDependency: 'base',

  // UI Get Operations
  tableGet: 'base',
  columnsHash: 'base',
  viewList: 'base',
  viewColumnList: 'base',
  viewRowColorInfo: 'base',
  filterList: 'base',
  filterChildrenList: 'base',
  sortList: 'base',
  hookList: 'base',
  hookLogList: 'base',
  hookFilterList: 'base',
  hookSamplePayload: 'base',
  tableSampleData: 'base',
  linkFilterList: 'base',
  widgetFilterList: 'base',
  formViewGet: 'base',
  mapViewGet: 'base',
  // Extensions
  extensionList: 'base',
  extensionRead: 'base',

  // UI Post Operations
  tableUpdate: 'base',
  tableDelete: 'base',
  tableReorder: 'base',
  columnAdd: 'base',
  columnUpdate: 'base',
  columnDelete: 'base',
  columnSetAsPrimary: 'base',
  columnsBulk: 'base',
  viewUpdate: 'base',
  viewDelete: 'base',
  shareView: 'base',
  shareViewUpdate: 'base',
  shareViewDelete: 'base',
  showAllColumns: 'base',
  hideAllColumns: 'base',
  viewColumnUpdate: 'base',
  gridColumnUpdate: 'base',
  viewColumnCreate: 'base',
  viewRowColorConditionAdd: 'base',
  viewRowColorConditionUpdate: 'base',
  viewRowColorConditionDelete: 'base',
  viewRowColorSelectAdd: 'base',
  viewRowColorInfoDelete: 'base',
  filterCreate: 'base',
  filterUpdate: 'base',
  filterDelete: 'base',
  sortCreate: 'base',
  sortUpdate: 'base',
  sortDelete: 'base',
  hookCreate: 'base',
  hookUpdate: 'base',
  hookDelete: 'base',
  hookTest: 'base',
  hookTrigger: 'base',
  hookFilterCreate: 'base',
  gridViewCreate: 'base',
  formViewCreate: 'base',
  galleryViewCreate: 'base',
  kanbanViewCreate: 'base',
  mapViewCreate: 'base',
  calendarViewCreate: 'base',
  gridViewUpdate: 'base',
  formViewUpdate: 'base',
  formColumnUpdate: 'base',
  galleryViewUpdate: 'base',
  kanbanViewUpdate: 'base',
  mapViewUpdate: 'base',
  calendarViewUpdate: 'base',
  widgetFilterCreate: 'base',
  linkFilterCreate: 'base',
  rowColorConditionsFilterCreate: 'base',
  dataExport: 'base',

  nestedDataList: 'base',
  nestedDataLink: 'base',
  nestedDataUnlink: 'base',
  nestedDataListCopyPasteOrDeleteAll: 'base',
  dataAggregate: 'base',
  bulkAggregate: 'base',
  bulkDataList: 'base',
  commentList: 'base',
  commentCount: 'base',
  commentRow: 'base',
  commentUpdate: 'base',
  commentDelete: 'base',
  commentResolve: 'base',
  dataList: 'base',
  linkDataList: 'base',
  dataInsert: 'base',
  dataUpdate: 'base',
  dataDelete: 'base',
  dataDeleteAll: 'base',
  bulkDataDeleteAll: 'base',

  // AT Import
  syncSourceList: 'base',
  syncSourceCreate: 'base',
  syncSourceUpdate: 'base',
  syncSourceDelete: 'base',
  atImportTrigger: 'base',

  // Extensions
  extensionCreate: 'base',
  extensionUpdate: 'base',
  extensionDelete: 'base',

  // Managed App Operations
  managedAppStoreList: 'org',
  managedAppList: 'workspace',
  managedAppGet: 'org',
  managedAppCreate: 'workspace',
  managedAppUpdate: 'base',
  managedAppDelete: 'base',
  managedAppPublish: 'base',
  managedAppCreateDraft: 'base',
  managedAppUnpublish: 'base',
  managedAppInstall: 'workspace',
  managedAppGetUpdates: 'base',
  managedAppVersionsList: 'base',
  managedAppInstallationsList: 'base',
  managedAppDeployments: 'base',
  managedAppVersionDeployments: 'base',
  managedAppDeploymentLogs: 'base',
} as const;
