Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 56 additions & 3 deletions aruna/api/storage/services/v1/user_service.proto
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,19 @@ service UserService {
};
}

// ActivateUser
// DeActivateUser
//
// Status: ALPHA
//
// This deactivates a specific user (Admin request)
rpc DeactivateUser(DeactivateUserRequest) returns (DeactivateUserResponse) {
option (google.api.http) = {
patch : "/v1/user/{user_id}/deactivate"
body : "*"
};
}

// ActivateUser
//
// Status: STABLE
//
Expand Down Expand Up @@ -148,6 +160,18 @@ service UserService {
get : "/v1/user/not_activated"
};
}

// GetAllUsers
//
// Status: ALPHA
//
// Get all users inkluding permissions (Admin only)
rpc GetAllUsers(GetAllUsersRequest)
returns (GetAllUsersResponse) {
option (google.api.http) = {
get : "/v1/user/all"
};
}
}

message ExpiresAt {
Expand All @@ -156,8 +180,12 @@ message ExpiresAt {
}

message RegisterUserRequest {
// Optional user_displayname
// user_displayname
string display_name = 1;
// Mail address
string email = 2;
// Project description string (optional)
string project = 3;
}

message RegisterUserResponse {
Expand All @@ -179,6 +207,8 @@ message CreateAPITokenRequest {
ExpiresAt expires_at = 4;
// Token permissions
storage.models.v1.Permission permission = 5;
// Session token
bool is_session = 6;
}

message CreateAPITokenResponse {
Expand Down Expand Up @@ -270,6 +300,8 @@ message GetUserProjectsResponse {
message ActivateUserRequest {
// User to activate
string user_id = 1;
// (optional) add user to project
storage.models.v1.ProjectPermission project_perms = 2;
}

message ActivateUserResponse {}
Expand All @@ -279,4 +311,25 @@ message GetNotActivatedUsersRequest {}
message GetNotActivatedUsersResponse {
// List of users that are not yet activated
repeated storage.models.v1.User users = 1;
}
}

message GetAllUsersRequest {
bool include_permissions = 1;
}

message UserWithPerms {
storage.models.v1.User user = 1;
repeated storage.models.v1.ProjectPermission project_perms = 2;
}

message GetAllUsersResponse {
repeated UserWithPerms user_with_perms = 1;
}


message DeactivateUserRequest {
// User to activate
string user_id = 1;
}

message DeactivateUserResponse {}