syntax = "proto3"; package sciobjsdb.api.storage.services.v1; option go_package = "github.com/ScienceObjectsDB/go-api/sciobjsdb/api/storage/services/v1"; option java_multiple_files = true; option java_package = "com.github.ScienceObjectsDB.java_api.sciobjsdb.api.storage.services.v1"; option java_outer_classname = "ProjectAPIServiceModels"; import "sciobjsdb/api/storage/models/v1/common_models.proto"; import "sciobjsdb/api/storage/models/v1/dataset.proto"; import "sciobjsdb/api/storage/models/v1/projects.proto"; // Request to create a project message CreateProjectRequest { string name = 1; string description = 2; repeated sciobjsdb.api.storage.models.v1.Label labels = 4; repeated sciobjsdb.api.storage.models.v1.Annotation annotations = 5; } //CreateProjectResponse Returns the id of the created project message CreateProjectResponse { string id = 1; } //AddUserToProjectRequest Request to add a user to a project message AddUserToProjectRequest { string user_id = 1; //oauth2 id of the added user repeated sciobjsdb.api.storage.models.v1.Right scope = 2; //rights of the user string project_id = 3; //projectid of the project the user should be granted access to } message AddUserToProjectResponse { } message CreateAPITokenRequest { string id = 1; } message CreateAPITokenResponse { sciobjsdb.api.storage.models.v1.APIToken token = 1; //API token with some additional information } message GetProjectDatasetsRequest { string id = 1; } message GetProjectDatasetsResponse { repeated sciobjsdb.api.storage.models.v1.Dataset datasets = 1; //Queried datasets } message GetUserProjectsRequest { } message GetUserProjectsResponse { repeated sciobjsdb.api.storage.models.v1.Project projects = 1; //Queried projects } message GetProjectRequest { string id = 1; } message GetProjectResponse { sciobjsdb.api.storage.models.v1.Project project = 1; //Quried project } message GetAPITokenResponse { repeated sciobjsdb.api.storage.models.v1.APIToken token = 1; //Queried API token } message GetAPITokenRequest { } message DeleteAPITokenRequest { string id = 1; } message DeleteAPITokenResponse { } message DeleteProjectRequest { string id = 1; } message DeleteProjectResponse { }