65 lines
1.3 KiB
Protocol Buffer
65 lines
1.3 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
option go_package = "gitea.benny.dog/torjus/ezshare/pb";
|
|
package ezshare;
|
|
|
|
|
|
import "google/protobuf/timestamp.proto";
|
|
|
|
message File {
|
|
string file_id = 1;
|
|
bytes data = 2;
|
|
|
|
message Metadata {
|
|
google.protobuf.Timestamp uploaded_on = 1;
|
|
google.protobuf.Timestamp expires_on = 2;
|
|
string original_filename = 3;
|
|
};
|
|
|
|
Metadata metadata = 3;
|
|
};
|
|
|
|
|
|
// Service messages
|
|
// Upload
|
|
message UploadFileRequest {
|
|
bytes data = 1;
|
|
string original_filename = 2;
|
|
google.protobuf.Timestamp expires_on = 3;
|
|
}
|
|
message UploadFileResponse {
|
|
string id = 1;
|
|
string file_url = 2;
|
|
}
|
|
|
|
// Get
|
|
message GetFileRequest {
|
|
string id = 1;
|
|
}
|
|
message GetFileResponse {
|
|
File file = 1;
|
|
}
|
|
|
|
// Delete
|
|
message DeleteFileRequest {
|
|
string id = 1;
|
|
}
|
|
message DeleteFileResponse {
|
|
}
|
|
|
|
// List
|
|
message ListFilesRequest {}
|
|
message ListFilesResponse {
|
|
message ListFileInfo {
|
|
string file_id = 1;
|
|
File.Metadata metadata = 2;
|
|
}
|
|
repeated ListFileInfo files = 1;
|
|
}
|
|
|
|
service FileService {
|
|
rpc UploadFile(UploadFileRequest) returns (UploadFileResponse) {}
|
|
rpc GetFile(GetFileRequest) returns (GetFileResponse) {}
|
|
rpc DeleteFile(DeleteFileRequest) returns (DeleteFileResponse) {}
|
|
rpc ListFiles(ListFilesRequest) returns (ListFilesResponse) {}
|
|
} |