syntax = "proto3"; option go_package = "./protoapi/;protoapi"; import "common.proto"; service FileTransferService { rpc UploadFile (stream FileChunk) returns (UploadStatus); rpc ListFiles (EmptyRequest) returns (FileList); rpc DownloadFile (DownloadRequest) returns (stream FileChunk); } message FileChunk { string FileName = 1; bytes Content = 2; } message UploadStatus { bool Success = 1; string Message = 2; int64 BytesUploaded = 3; } message FileMetadata { string FileName = 1; int64 FileSize = 2; int64 UploadedAt = 3; } message FileList { repeated FileMetadata Files = 1; } message DownloadRequest { string FileName = 1; }