UNPKG

casdoor-nodejs-sdk

Version:
94 lines (93 loc) 3.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.ResourceSDK = void 0; class ResourceSDK { constructor(config, request) { this.config = config; this.request = request; } async uploadResource(resource, psotFile) { if (!this.request) { throw new Error('request init failed'); } const url = `/upload-resource`; return (await this.request.postFile(url, psotFile, { params: { owner: this.config.orgName, user: resource.owner, application: this.config.appName, tag: resource.name, parent: resource.parent, fullFilePath: resource.fullFilePath, }, })); } async getResources(owner, user, field, value, sortField, sortOrder) { if (!this.request) { throw new Error('request init failed'); } return (await this.request.get('/get-resources', { params: { owner: owner, user: user, field: field, value: value, sortField: sortField, sortOrder: sortOrder, }, })); } async getResource(id) { if (!this.request) { throw new Error('request init failed'); } return (await this.request.get('/get-resource', { params: { id: `${this.config.orgName}/${id}`, }, })); } async modifyResource(method, resource) { if (!this.request) { throw new Error('request init failed'); } const url = `/${method}`; resource.owner = this.config.orgName; return (await this.request.post(url, resource, { params: { id: `${resource.owner}/${resource.name}`, }, })); } async addResource(resource) { return this.modifyResource('add-resource', resource); } async updateResource(resource) { return this.modifyResource('update-resource', resource); } async deleteResource(resource) { if (!this.request) { throw new Error('request init failed'); } const url = `/delete-resource`; const post = { owner: resource.owner, name: resource.name, }; return (await this.request.post(url, JSON.stringify(post))); } } exports.ResourceSDK = ResourceSDK;