UNPKG

@intuitionrobotics/permissions

Version:
61 lines 2.25 kB
/* * ts-common is the basic building blocks of our typescript projects * * Copyright (C) 2020 Intuition Robotics * * 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 {} from "../../../index.js"; import { BaseDB_ApiGeneratorCaller } from "@intuitionrobotics/db-api-generator/frontend"; import { ThunderDispatcher } from "@intuitionrobotics/thunderstorm/frontend"; const dispatch_onPermissionsLevelsLoaded = new ThunderDispatcher("__onPermissionsLevelsLoaded"); export class PermissionsAccessLevelModule_Class extends BaseDB_ApiGeneratorCaller { levels = {}; constructor() { super({ key: "level", relativeUrl: "/v1/permissions/manage/level" }, "PermissionsAccessLevelModule"); } init() { } async onEntryCreated(_response) { this.query(); } async onEntryDeleted(_response) { this.query(); } async onEntryUpdated(_response) { this.query(); } async onGotUnique(_response) { } async onQueryReturned(response) { this.levels = {}; response.forEach(level => { const levelArray = this.levels[level.domainId] || []; levelArray.push(level); this.levels[level.domainId] = levelArray; }); dispatch_onPermissionsLevelsLoaded.dispatchUI(); } getLevels(domainId) { return this.levels[domainId] || []; } getAllLevels() { let allLevelsArray = []; for (const key of Object.keys(this.levels)) { allLevelsArray = allLevelsArray.concat(this.levels[key]); } return allLevelsArray; } } export const ApiCaller_PermissionsAccessLevel = new PermissionsAccessLevelModule_Class(); //# sourceMappingURL=ApiCaller_PermissionsLevel.js.map