123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 |
- // SonarQube, open source software quality management tool.
- // Copyright (C) 2008-2016 SonarSource
- // mailto:contact AT sonarsource DOT com
- //
- // SonarQube 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.
- //
- // SonarQube 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.
-
- syntax = "proto2";
-
- package sonarqube.ws.users;
-
- import "ws-commons.proto";
-
- option java_package = "org.sonarqube.ws";
- option java_outer_classname = "Users";
- option optimize_for = SPEED;
-
- // WS api/users/search
- message SearchWsResponse {
- optional sonarqube.ws.commons.Paging paging = 1;
- repeated User users = 2;
-
- message User {
- optional string login = 1;
- optional string name = 2;
- optional bool active = 3;
- optional string email = 4;
- optional ScmAccounts scmAccounts = 5;
- optional Groups groups = 6;
- optional int32 tokensCount = 7;
- optional bool local = 8;
- optional string externalIdentity = 9;
- optional string externalProvider = 10;
- optional string avatar = 11;
- }
-
- message Groups {
- repeated string groups = 1;
- }
-
- message ScmAccounts {
- repeated string scmAccounts = 1;
- }
- }
-
- // WS api/users/identity_providers
- message IdentityProvidersWsResponse {
- repeated IdentityProvider identityProviders = 1;
- }
-
- message IdentityProvider {
- optional string key = 1;
- optional string name = 2;
- optional string iconPath = 3;
- optional string backgroundColor = 4;
- optional string helpMessage = 5;
- }
-
- message CreateWsResponse {
- optional User user = 1;
-
- message User {
- optional string login = 1;
- optional string name = 2;
- optional string email = 3;
- repeated string scmAccounts = 4;
- optional bool active = 5;
- optional bool local = 6;
- }
- }
-
- // WS api/users/groups
- message GroupsWsResponse {
- optional sonarqube.ws.commons.Paging paging = 1;
- repeated Group groups = 2;
-
- message Group {
- optional int64 id = 1;
- optional string name = 2;
- optional string description = 3;
- optional bool selected = 4;
- optional bool default = 5;
- }
- }
-
- // WS api/users/current
- message CurrentWsResponse {
- optional bool isLoggedIn = 1;
- optional string login = 2;
- optional string name = 3;
- optional string email = 4;
- optional bool local = 5;
- optional string externalIdentity = 6;
- optional string externalProvider = 7;
- repeated string scmAccounts = 8;
- repeated string groups = 9;
- optional Permissions permissions = 10;
- optional bool showOnboardingTutorial = 11;
- optional string avatar = 12;
- optional Homepage homepage = 13;
- optional string personalOrganization = 14;
-
- message Permissions {
- repeated string global = 1;
- }
-
- enum HomepageType {
- PROJECT = 1;
- ORGANIZATION = 2;
- MY_PROJECTS = 3;
- MY_ISSUES = 4;
- PROJECTS = 5;
- ISSUES = 6;
- PORTFOLIO = 7;
- PORTFOLIOS = 8;
- APPLICATION = 9;
- }
-
- message Homepage {
- optional HomepageType type = 1;
- optional string component = 2;
- optional string organization = 3;
- optional string branch = 4;
- }
- }
|