Files
services/files/proto/files.proto
2021-03-18 17:21:41 +00:00

52 lines
1.0 KiB
Protocol Buffer

syntax = "proto3";
package files;
option go_package = "./proto;files";
service Files {
rpc Save(SaveRequest) returns (SaveResponse) {}
rpc List(ListRequest) returns (ListResponse) {}
}
message File {
string id = 1;
// A custom string for namespacing purposes
// eg. files-of-mywebsite.com
string project = 2;
// Name of folder or file.
string name = 3;
// Path. Default is '/', ie. top level
string path = 4;
bool is_directory = 5;
// File contents. Empty for directories.
string file_contents = 6;
int64 created = 7;
int64 updated = 8;
// owner
string owner = 9;
}
// The save endpoint lets you batch save text files.
message SaveRequest {
repeated File files = 1;
}
message SaveResponse {
}
// List files by their project and optionally a path.
message ListRequest {
// Project, required for listing.
string project = 1;
// Defaults to '/', ie. lists all files in a project.
// Supply path if of a folder if you want to list
// file inside that folder
// eg. '/docs'
string path = 2;
}
message ListResponse {
repeated File files = 1;
}