Welcome to mirror list, hosted at ThFree Co, Russian Federation.

serverless_store.js « stores « serverless « javascripts « assets « app - gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 816d55a03f94d09ca761f27113102a9f0a0af560 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
export default class ServerlessStore {
  constructor(knativeInstalled = false, clustersPath, helpPath) {
    this.state = {
      functions: {},
      hasFunctionData: true,
      loadingData: true,
      installed: knativeInstalled,
      clustersPath,
      helpPath,
    };
  }

  updateFunctionsFromServer(upstreamFunctions = []) {
    this.state.functions = upstreamFunctions.reduce((rv, func) => {
      const envs = rv;
      envs[func.environment_scope] = (rv[func.environment_scope] || []).concat([func]);

      return envs;
    }, {});
  }

  updateLoadingState(loadingData) {
    this.state.loadingData = loadingData;
  }

  toggleNoFunctionData() {
    this.state.hasFunctionData = false;
  }
}