function DataModel()

in dialogflow-cx/vpc-sc-demo/frontend/src/DataModel.js [296:363]


function DataModel() {
  const pageMapper = BuildMapPageNumberToState();
  const loggedIn = {current: null, set: null};
  const pageNumber = {current: null, set: null};
  const renderedPageNumber = {current: null, set: null};
  const terraformLocked = {current: null, set: null};
  const validProjectId = {current: null, set: null};
  const validAccessPolicy = {current: null, set: null};
  const invertAssetCollectionSwitches = {current: null, set: null};
  const showServicesPanel = {current: null, set: null};
  const sessionExpiredModalOpen = {current: null, set: null};
  const loginRedirect = {current: null, set: null};
  const refetchAssetStatus = {current: null, set: null};
  const projectIdColor = {current: null, set: null};
  const accessPolicyTitleColor = {current: null, set: null};

  const allStates = {};
  allStates['dialogflowRestrictedState'] = getState();
  allStates['cloudfunctionsRestrictedState'] = getState();
  allStates['webhookAccessState'] = getState();
  allStates['webhookIngressState'] = getState();
  allStates['serviceDirectoryWebhookState'] = getState();
  InitializeState(allStates['dialogflowRestrictedState']);
  InitializeState(allStates['cloudfunctionsRestrictedState']);
  InitializeState(allStates['webhookAccessState']);
  InitializeState(allStates['webhookIngressState']);
  InitializeState(allStates['serviceDirectoryWebhookState']);

  [loggedIn.current, loggedIn.set] = useState(false);
  [pageNumber.current, pageNumber.set] = useState(33);
  [renderedPageNumber.current, renderedPageNumber.set] = useState(null);
  [terraformLocked.current, terraformLocked.set] = useState(false);
  [validProjectId.current, validProjectId.set] = useState(false);
  [validAccessPolicy.current, validAccessPolicy.set] = useState(true);
  [invertAssetCollectionSwitches.current, invertAssetCollectionSwitches.set] =
    useState(false);
  [showServicesPanel.current, showServicesPanel.set] = useState(true);
  [sessionExpiredModalOpen.current, sessionExpiredModalOpen.set] =
    useState(false);
  [loginRedirect.current, loginRedirect.set] = useState(false);
  [refetchAssetStatus.current, refetchAssetStatus.set] = useState(false);
  [projectIdColor.current, projectIdColor.set] = useState('primary');
  [accessPolicyTitleColor.current, accessPolicyTitleColor.set] =
    useState('primary');

  const dataModel = {
    pageMapper: pageMapper,
    loggedIn: loggedIn,
    pageNumber: pageNumber,
    allStates: allStates,
    renderedPageNumber: renderedPageNumber,
    projectData: ProjectData(),
    assetStatus: AssetStatus(),
    terraformLocked: terraformLocked,
    validProjectId: validProjectId,
    validAccessPolicy: validAccessPolicy,
    invertAssetCollectionSwitches: invertAssetCollectionSwitches,
    showServicesPanel: showServicesPanel,
    sessionExpiredModalOpen: sessionExpiredModalOpen,
    loginRedirect: loginRedirect,
    refetchAssetStatus: refetchAssetStatus,
    projectIdColor: projectIdColor,
    accessPolicyTitleColor: accessPolicyTitleColor,
    activePage: {current: null, set: null},
    queryParams: {},
  };
  return dataModel;
}