codemp/proto/workspace_service.proto

52 lines
1.3 KiB
Protocol Buffer

// Workspace effimero: sta in /tmp o proprio in memoria
// Workspace e` autenticato: come si decide mentre si rifa il server
// Workspace ha id univoco (stringa), usato per connettercisi
// Workspace implementera` access control:
// * accedere al workspace
// * i singoli buffer
// - i metadati maybe????
// Workspace offre le seguenti features:
// * listare i buffer DONE
// * listare gli user connessi DONE
// * creare buffers DONE REPLACE THE ONE ON buffer.proto
// * NO ATTACH: responsabilita` del buffer service
// * contiene metadata dei buffers:
// * path
// * data creazione
// Buffer id NON E` il path DONE
// BufferService NON ha metadata:
// Workspace tiene traccia di utenti attached (nel futuro) DONE
syntax = "proto2";
package workspace_service;
import "user.proto";
import "files.proto";
import "workspace.proto";
service Workspace {
rpc Create (workspace.BufferPayload) returns (workspace.Empty);
rpc Attach (workspace.AttachRequest) returns (workspace.Token);
rpc ListBuffers (workspace.BufferListRequest) returns (files.BufferTree);
rpc ListUsers (workspace.UserListRequest) returns (workspace.UserList);
rpc ListBufferUsers (workspace.Empty) returns (workspace.Empty);
rpc Join (workspace.JoinRequest) returns (workspace.Token);
rpc Delete (workspace.BufferPayload) returns (workspace.Empty); //deletes buffer
}