syntax = "proto3"; option go_package = "./pb"; package pb; import "models/rpc_messages.proto"; import "models/model_log.proto"; // 审计日志服务 service LogService { // 创建日志 rpc createLog (CreateLogRequest) returns (CreateLogResponse); // 计算日志数量 rpc countLogs (CountLogRequest) returns (RPCCountResponse); // 列出单页日志 rpc listLogs (ListLogsRequest) returns (ListLogsResponse); // 删除单条 rpc deleteLogPermanently (DeleteLogPermanentlyRequest) returns (RPCSuccess); // 批量删除 rpc deleteLogsPermanently (DeleteLogsPermanentlyRequest) returns (RPCSuccess); // 清理 rpc cleanLogsPermanently (CleanLogsPermanentlyRequest) returns (RPCSuccess); // 计算日志容量大小 rpc sumLogsSize (SumLogsSizeRequest) returns (SumLogsResponse); } // 创建日志 message CreateLogRequest { string level = 1; // 级别:info, warn, error string description = 2; // 描述 string action = 3; // 可选项,发生操作所在的页面URL string ip = 4; // 可选项,操作用户IP string langMessageCode = 5; // 多语言消息 bytes langMessageArgsJSON = 6; // 多语言消息中的参数项,格式:[arg1, arg2, ...] } message CreateLogResponse { } // 计算日志数量 message CountLogRequest { string dayFrom = 1; // 可选项,开始日期 string dayTo = 2; // 可选项,结束日期 string keyword = 3; // 可选项,关键词 string userType = 4; // 可选项,用户类型:admin|user;用户端固定为user string level = 5; // 可选项,错误级别:info, warn, error } // 列出单页日志 message ListLogsRequest { int64 offset = 1; // 读取位置,从0开始 int64 size = 2; // 读取数量 string dayFrom = 3; // 可选项,开始日期 string dayTo = 4; // 可选项,结束日期 string keyword = 5; // 可选项,关键词 string userType = 6; // 可选项,用户类型:admin|user;用户端固定为user string level = 7; // 可选项,错误级别:info, warn, error } message ListLogsResponse { repeated Log logs = 1; } // 删除单条 message DeleteLogPermanentlyRequest { int64 logId = 1; } // 批量删除 message DeleteLogsPermanentlyRequest { repeated int64 logIds = 1; } // 清理 message CleanLogsPermanentlyRequest { int32 days = 1; bool clearAll = 2; } // 计算日志容量大小 message SumLogsSizeRequest { } message SumLogsResponse { int64 sizeBytes = 1; }