// Copyright 2023 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. import * as Setting from "../Setting"; export function getGroups(owner = "", withTree = false, page = "", pageSize = "", field = "", value = "", sortField = "", sortOrder = "") { return fetch(`${Setting.ServerUrl}/api/get-groups?owner=${owner}&p=${page}&pageSize=${pageSize}&field=${field}&value=${value}&sortField=${sortField}&sortOrder=${sortOrder}&withTree=${withTree}`, { method: "GET", credentials: "include", headers: { "Accept-Language": Setting.getAcceptLanguage(), }, }).then(res => res.json()); } export function getGroup(owner, name) { return fetch(`${Setting.ServerUrl}/api/get-group?id=${owner}/${encodeURIComponent(name)}`, { method: "GET", credentials: "include", headers: { "Accept-Language": Setting.getAcceptLanguage(), }, }).then(res => res.json()); } export function updateGroup(owner, name, group) { const newGroup = Setting.deepCopy(group); return fetch(`${Setting.ServerUrl}/api/update-group?id=${owner}/${encodeURIComponent(name)}`, { method: "POST", credentials: "include", body: JSON.stringify(newGroup), headers: { "Accept-Language": Setting.getAcceptLanguage(), }, }).then(res => res.json()); } export function addGroup(group) { const newGroup = Setting.deepCopy(group); return fetch(`${Setting.ServerUrl}/api/add-group`, { method: "POST", credentials: "include", body: JSON.stringify(newGroup), headers: { "Accept-Language": Setting.getAcceptLanguage(), }, }).then(res => res.json()); } export function deleteGroup(group) { const newGroup = Setting.deepCopy(group); return fetch(`${Setting.ServerUrl}/api/delete-group`, { method: "POST", credentials: "include", body: JSON.stringify(newGroup), headers: { "Accept-Language": Setting.getAcceptLanguage(), }, }).then(res => res.json()); }