| syntax = "proto3"; |
| |
| package teaclave_frontend_service_proto; |
| |
| import "teaclave_common.proto"; |
| |
| message RegisterInputFileRequest { |
| string url = 1; |
| string cmac = 2; |
| teaclave_common_proto.FileCryptoInfo crypto_info = 3; |
| } |
| |
| message RegisterInputFileResponse { |
| string data_id = 1; |
| } |
| |
| message RegisterOutputFileRequest { |
| string url = 1; |
| teaclave_common_proto.FileCryptoInfo crypto_info = 2; |
| } |
| |
| message RegisterOutputFileResponse { |
| string data_id = 1; |
| } |
| |
| message RegisterFusionOutputRequest { |
| repeated string owner_list = 1; |
| } |
| |
| message RegisterFusionOutputResponse { |
| string data_id = 1; |
| } |
| |
| message RegisterInputFromOutputRequest { |
| string data_id = 1; |
| } |
| |
| message RegisterInputFromOutputResponse { |
| string data_id = 1; |
| } |
| |
| message GetOutputFileRequest { |
| string data_id = 1; |
| } |
| |
| message GetOutputFileResponse { |
| repeated string owner = 1; |
| string cmac = 2; |
| } |
| |
| message GetInputFileRequest { |
| string data_id = 1; |
| } |
| |
| message GetInputFileResponse { |
| repeated string owner = 1; |
| string cmac = 2; |
| } |
| |
| message FunctionInput { |
| string name = 1; |
| string description = 2; |
| } |
| |
| message FunctionOutput { |
| string name = 1; |
| string description = 2; |
| } |
| |
| message OwnerList { |
| string data_name = 1; |
| repeated string uids = 2; |
| } |
| |
| message RegisterFunctionRequest { |
| string name = 1; |
| string description = 2; |
| string executor_type = 3; |
| bool public = 4; |
| bytes payload = 5; |
| repeated string arguments = 6; |
| repeated FunctionInput inputs = 10; |
| repeated FunctionOutput outputs = 11; |
| } |
| |
| message RegisterFunctionResponse { |
| string function_id = 1; |
| } |
| |
| message GetFunctionRequest { |
| string function_id = 1; |
| } |
| |
| message GetFunctionResponse { |
| string name = 1; |
| string description = 2; |
| string executor_type = 3; |
| string owner = 4; |
| bytes payload = 5; |
| bool public = 6; |
| repeated string arguments = 7; |
| repeated FunctionInput inputs = 10; |
| repeated FunctionOutput outputs = 11; |
| } |
| |
| message DataMap { |
| string data_name = 1; |
| string data_id = 2; |
| } |
| |
| message CreateTaskRequest { |
| string function_id = 1; |
| map<string, string> function_arguments = 2; |
| string executor = 3; |
| repeated OwnerList inputs_ownership = 10; |
| repeated OwnerList outputs_ownership= 11; |
| } |
| |
| message CreateTaskResponse { |
| string task_id = 1; |
| } |
| |
| message GetTaskRequest { |
| string task_id = 1; |
| } |
| |
| message GetTaskResponse { |
| string task_id = 1; |
| string creator = 2; |
| string function_id = 3; |
| string function_owner = 4; |
| map<string, string> function_arguments = 5; |
| repeated OwnerList inputs_ownership = 6; |
| repeated OwnerList outputs_ownership = 7; |
| repeated string participants = 8; |
| repeated string approved_users = 9; |
| repeated DataMap assigned_inputs = 10; |
| repeated DataMap assigned_outputs = 11; |
| teaclave_common_proto.TaskStatus status = 20; |
| teaclave_common_proto.TaskResult result = 21; |
| } |
| |
| message AssignDataRequest { |
| string task_id = 1; |
| repeated DataMap inputs = 2; |
| repeated DataMap outputs = 3; |
| } |
| |
| message AssignDataResponse { } |
| |
| message ApproveTaskRequest { |
| string task_id = 1; |
| } |
| |
| message ApproveTaskResponse { } |
| |
| message InvokeTaskRequest { |
| string task_id = 1; |
| } |
| |
| message InvokeTaskResponse { } |
| |
| service TeaclaveFrontend { |
| rpc RegisterInputFile (RegisterInputFileRequest) returns (RegisterInputFileResponse); |
| rpc RegisterOutputFile (RegisterOutputFileRequest) returns (RegisterOutputFileResponse); |
| rpc RegisterFusionOutput (RegisterFusionOutputRequest) returns (RegisterFusionOutputResponse); |
| rpc RegisterInputFromOutput (RegisterInputFromOutputRequest) returns (RegisterInputFromOutputResponse); |
| rpc GetOutputFile (GetOutputFileRequest) returns (GetOutputFileResponse); |
| rpc GetInputFile (GetInputFileRequest) returns (GetInputFileResponse); |
| rpc RegisterFunction (RegisterFunctionRequest) returns (RegisterFunctionResponse); |
| rpc GetFunction (GetFunctionRequest) returns (GetFunctionResponse); |
| rpc CreateTask (CreateTaskRequest) returns (CreateTaskResponse); |
| rpc GetTask (GetTaskRequest) returns (GetTaskResponse); |
| rpc AssignData (AssignDataRequest) returns (AssignDataResponse); |
| rpc ApproveTask (ApproveTaskRequest) returns (ApproveTaskResponse); |
| rpc InvokeTask (InvokeTaskRequest) returns (InvokeTaskResponse); |
| |
| } |