58 lines
1.8 KiB
Protocol Buffer
58 lines
1.8 KiB
Protocol Buffer
syntax = "proto3";
|
|
package cloud;
|
|
option go_package = ".;cloud";
|
|
import "blocks.proto";
|
|
|
|
// 书签服务
|
|
service Bookmark {
|
|
// 创建书签
|
|
rpc CreateBookmark(CreateBookmarkRequest) returns (StatusReply);
|
|
// 获取书签详情
|
|
rpc GetBookmark(IDRequest) returns (CloudBookmarkItem);
|
|
// 更新书签
|
|
rpc UpdateBookmark(CloudBookmarkItem) returns (StatusReply);
|
|
// 删除书签
|
|
rpc DeleteBookmark(IDRequest) returns (StatusReply);
|
|
// 获取书签列表
|
|
rpc ListBookmarks(FetchRequest) returns (ListBookmarksResponse);
|
|
// 导入书签
|
|
rpc ImportBookmarks(ImportBookmarksRequest) returns (StatusReply);
|
|
}
|
|
|
|
message CreateBookmarkRequest {
|
|
uint64 cloud_id = 1;
|
|
string cloud_identity = 2;
|
|
string title = 3; // 标题
|
|
string url = 4; // 网址
|
|
string description = 5; // 描述
|
|
string category = 6; // 分类
|
|
string tags = 7; // 标签
|
|
string icon = 8; // 网站图标URL
|
|
bool is_private = 9; // 是否私有
|
|
}
|
|
|
|
message ListBookmarksResponse {
|
|
repeated CloudBookmarkItem bookmarks = 1;
|
|
int64 total = 2;
|
|
}
|
|
|
|
message ImportBookmarksRequest {
|
|
string data = 1; // JSON格式的书签数据
|
|
string format = 2; // 导入格式: chrome, firefox, safari, etc.
|
|
}
|
|
|
|
// 网址收藏夹模型
|
|
message CloudBookmarkItem {
|
|
uint64 id = 1;
|
|
string identity = 2;
|
|
string title = 3; // 标题
|
|
string url = 4; // 网址
|
|
string description = 5; // 描述
|
|
string category = 6; // 分类
|
|
string tags = 7; // 标签
|
|
string icon = 8; // 网站图标URL
|
|
bool is_private = 9; // 是否私有
|
|
string created_at = 10;
|
|
string updated_at = 11;
|
|
}
|