syntax = "proto3";
package initial;
option go_package = "bsm/full/module/base/initial/pb;initial";



// initial-检测是否有新版或新的配置
service Check{

    // HELLO
    rpc Hello(Crc) returns (StatusReply){}

    // 获取应用的相关配置信息
    rpc Config(ConfigRequest) returns (ConfigReply) {}

    // 检查更新
    rpc Updates(CheckForUpdatesRequest) returns (CheckForUpdatesReply) {}


}

message Crc{
    string code = 1;
}

message StatusReply{
    int32 code=1; // 状态码
    string message=2; // 状态说明
    string details=3; // 数据
	int64  timeseq=4;  // 响应时间序列
}



message ConfigRequest {
    string app = 1; // 应用程序名称 <必填>
    string os = 2; // 操作系统 <必填>
}

message ConfigReply {
    repeated ConfigItem data=1; // 配置参数列表
}


message ConfigItem {
    string Identity=1; //唯一标识
    string key=2;  //配置键
    string value=3; //配置值
    int64 version=4; //版本号
}


message CheckForUpdatesRequest {
    string app = 1; // 应用程序名称 <必填>
    string os = 2; // 操作系统 <必填>
    string arch = 3; // 构架名称 <必填>
    string version = 4; // 版本号 <必填>
}


message CheckForUpdatesReply {
    string identity = 1; // 唯一码
    string version = 2; // 版本号
    string summary = 3; // 更析说明
    string files = 4; // 更新文件以及文件hash
    string pubdate =5; // 发布时间
}
