{"size": 1321, "ext": "js", "max_stars_repo_path": "client/src/models/cloudRegions/CloudRegions.js", "max_stars_repo_name": "msleprosy/cloud-pipeline", "max_stars_repo_stars_event_min_datetime": "2019-03-22T19:40:38.000Z", "max_stars_repo_stars_event_max_datetime": "2022-02-16T13:01:44.000Z", "max_issues_repo_path": "client/src/models/cloudRegions/CloudRegions.js", "max_issues_repo_name": "msleprosy/cloud-pipeline", "max_issues_repo_issues_event_min_datetime": "2019-03-25T10:39:27.000Z", "max_issues_repo_issues_event_max_datetime": "2022-03-31T12:50:33.000Z", "max_forks_repo_path": "client/src/models/cloudRegions/CloudRegions.js", "max_forks_repo_name": "msleprosy/cloud-pipeline", "max_forks_repo_forks_event_min_datetime": "2019-03-22T22:09:49.000Z", "max_forks_repo_forks_event_max_datetime": "2022-03-08T12:05:56.000Z"}
{"max_stars_count": 126, "max_issues_count": 1189, "max_forks_count": 62, "avg_line_length": 25.9019607843, "max_line_length": 75, "alphanum_fraction": 0.6154428463}
/*
 * Copyright 2017-2019 EPAM Systems, Inc. (https://www.epam.com/)
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

import Remote from '../basic/Remote';

class CloudRegions extends Remote {
  constructor () {
    super();
    this.url = '/cloud/region';
  };

  getRegionName = (id) => {
    if (this.loaded && id) {
      const [region] = (this.value || []).filter(r => r.id === id);
      if (region) {
        return region.name;
      }
    }
    return null;
  };

  getRegion = (id) => {
    if (this.loaded && id) {
      return (this.value || []).filter(r => r.id === id)[0];
    }
    return null;
  };

  getRegionByUID = (id) => {
    if (this.loaded && id) {
      return (this.value || []).filter(r => r.regionId === id)[0];
    }
    return null;
  };
}

export default new CloudRegions();
