syntax = "proto3"; // This is for posting a paragraph. message Post { string content = 1; optional int64 ref = 2; repeated bytes files = 3; } enum Status { Failed = 0; Success = 1; } // The response of the posting, defining what should return. message PostResponse { Status status = 1; string hash = 2; uint64 id = 3; optional string failed_message = 4; } message FetchPostResponse { message Message { uint64 id = 1; string content = 2; // reply to a post, like a mail chat. // optional uint64 ref = 3; // request files through /article/file/ with MIME type. // See it as a BLOB url; repeated string files_hash = 3; optional string igid = 4; repeated string comments_hash = 5; } // Several post info repeated Message posts = 1; } message FetchCommentResponse { message Message { string sha1 = 1; string content = 2; } // Several comment info repeated Message posts = 1; } // FOR ADMIN message AdminFetchPostResponse { message Message { uint64 id = 1; string content = 2; repeated string files_hash = 3; optional string igid = 4; repeated string comments_hash = 5; string ip = 6; string hash = 7; string mark = 8; } // Several post info repeated Message posts = 1; } message AdminFetchCommentResponse { message Message { string sha1 = 1; string content = 2; string ip = 3; string hash = 4; string mark = 5; } // Several comment info repeated Message posts = 1; }