UNPKG

casdoor-nodejs-sdk

Version:
67 lines (66 loc) 2.14 kB
"use strict"; // Copyright 2021 The Casdoor Authors. All Rights Reserved. // // 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. Object.defineProperty(exports, "__esModule", { value: true }); exports.GroupSDK = void 0; class GroupSDK { constructor(config, request) { this.config = config; this.request = request; } async getGroups(withTree) { if (!this.request) { throw new Error('request init failed'); } const params = { owner: this.config.orgName }; if (withTree) { params.withTree = 'true'; } return (await this.request.get('/get-groups', { params, })); } async getGroup(id) { if (!this.request) { throw new Error('request init failed'); } return (await this.request.get('/get-group', { params: { id: `${this.config.orgName}/${id}`, }, })); } async modifyGroup(method, group) { if (!this.request) { throw new Error('request init failed'); } const url = `/${method}`; group.owner = this.config.orgName; return (await this.request.post(url, group, { params: { id: `${group.owner}/${group.name}`, }, })); } async addGroup(group) { return this.modifyGroup('add-group', group); } async updateGroup(group) { return this.modifyGroup('update-group', group); } async deleteGroup(group) { return this.modifyGroup('delete-group', group); } } exports.GroupSDK = GroupSDK;