diff options
author | Grégoire Aubert <gregoire.aubert@sonarsource.com> | 2017-03-29 11:11:56 +0200 |
---|---|---|
committer | Grégoire Aubert <gregaubert@users.noreply.github.com> | 2017-03-31 10:29:27 +0200 |
commit | 19adabdc666a5513b014776ffc283a911a6b2316 (patch) | |
tree | add80ced12cbd0362591d41eebc1be3083548b00 /server/sonar-web/src/main/js/api | |
parent | 76ad0222a481f307474b2990f264780f42cf3627 (diff) | |
download | sonarqube-19adabdc666a5513b014776ffc283a911a6b2316.tar.gz sonarqube-19adabdc666a5513b014776ffc283a911a6b2316.zip |
SONAR-8994 Add groups management in members view
Diffstat (limited to 'server/sonar-web/src/main/js/api')
-rw-r--r-- | server/sonar-web/src/main/js/api/user_groups.js | 43 | ||||
-rw-r--r-- | server/sonar-web/src/main/js/api/users.js | 20 |
2 files changed, 57 insertions, 6 deletions
diff --git a/server/sonar-web/src/main/js/api/user_groups.js b/server/sonar-web/src/main/js/api/user_groups.js new file mode 100644 index 00000000000..becfdb9c8a0 --- /dev/null +++ b/server/sonar-web/src/main/js/api/user_groups.js @@ -0,0 +1,43 @@ +/* + * SonarQube + * Copyright (C) 2009-2017 SonarSource SA + * mailto:info AT sonarsource DOT com + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ +//@flow +import { getJSON, post } from '../helpers/request'; + +export function searchUsersGroups(query?: string, organization?: string) { + const url = '/api/user_groups/search'; + const data: { q?: string, organization?: string } = {}; + if (query) { + data.q = query; + } + if (organization) { + data.organization = organization; + } + return getJSON(url, data); +} + +export function addUserToGroup(groupId: string, login: string) { + const url = '/api/user_groups/add_user'; + return post(url, { id: groupId, login }); +} + +export function removeUserFromGroup(groupId: string, login: string) { + const url = '/api/user_groups/remove_user'; + return post(url, { id: groupId, login }); +} diff --git a/server/sonar-web/src/main/js/api/users.js b/server/sonar-web/src/main/js/api/users.js index 2014d391454..c8a5e993449 100644 --- a/server/sonar-web/src/main/js/api/users.js +++ b/server/sonar-web/src/main/js/api/users.js @@ -17,6 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +//@flow import { getJSON, post } from '../helpers/request'; export function getCurrentUser() { @@ -24,25 +25,32 @@ export function getCurrentUser() { return getJSON(url); } -export function changePassword(login, password, previousPassword) { +export function changePassword(login: string, password: string, previousPassword?: string) { const url = '/api/users/change_password'; - const data = { login, password }; - + const data: { login: string, password: string, previousPassword?: string } = { login, password }; if (previousPassword != null) { data.previousPassword = previousPassword; } - return post(url, data); } +export function getUserGroups(login: string, organization?: string) { + const url = '/api/users/groups'; + const data: { login: string, organization?: string, q?: string } = { login }; + if (organization) { + data.organization = organization; + } + return getJSON(url, data); +} + export function getIdentityProviders() { const url = '/api/users/identity_providers'; return getJSON(url); } -export function searchUsers(query, pageSize) { +export function searchUsers(query: string, pageSize?: number) { const url = '/api/users/search'; - const data = { q: query }; + const data: { q: string, ps?: number } = { q: query }; if (pageSize != null) { data.ps = pageSize; } |