实现基础的通知媒介管理

This commit is contained in:
刘祥超
2021-04-05 20:48:39 +08:00
parent ff57c19211
commit 6a90b4a926
30 changed files with 8676 additions and 3 deletions

View File

@@ -0,0 +1,13 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
message MessageMedia {
int64 id = 1;
string type = 2;
string name = 3;
string description = 4;
string userDescription = 5;
bool isOn = 6;
}

View File

@@ -0,0 +1,15 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
import "models/message_media.proto";
message MessageMediaInstance {
int64 id = 1;
bool isOn = 2;
string name = 3;
MessageMedia messageMedia = 4;
bytes paramsJSON = 5;
string description = 6;
}

View File

@@ -0,0 +1,18 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
import "models/model_admin.proto";
import "models/message_recipient_group.proto";
import "models/message_media_instance.proto";
message MessageRecipient {
int64 id = 1;
Admin admin = 2;
MessageMediaInstance messageMediaInstance = 3;
bool isOn = 4;
repeated MessageRecipientGroup messageRecipientGroups = 5;
string description = 6;
string user = 7;
}

View File

@@ -0,0 +1,10 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
message MessageRecipientGroup {
int64 id = 1;
string name = 2;
bool isOn = 3;
}

View File

@@ -0,0 +1,26 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
import "models/message_recipient.proto";
import "models/message_media_instance.proto";
message MessageTask {
int64 id = 1;
MessageRecipient messageRecipient = 2;
string user = 3;
string subject = 4;
string body = 5;
int64 createdAt = 6;
int32 status = 7;
int64 sentAt = 8;
MessageTaskResult result = 9;
MessageMediaInstance messageMediaInstance = 10;
}
message MessageTaskResult {
bool isOk = 1;
string error = 2;
string response = 3;
}

View File

@@ -0,0 +1,16 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
import "models/message_task.proto";
// 消息任务日志
message MessageTaskLog {
int64 id = 1;
int64 createdAt = 2;
bool isOk = 3;
string error = 4;
string response = 5;
MessageTask messageTask = 6;
}

View File

@@ -0,0 +1,14 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
message MonitorNode {
int64 id = 1;
bool isOn = 2;
string uniqueId = 3;
string secret = 4;
string name = 5;
string description = 6;
bytes statusJSON = 7;
}

View File

@@ -0,0 +1,30 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
import "models/message_media.proto";
import "models/rpc_messages.proto";
// 消息媒介管理
service MessageMediaService {
// 获取所有支持的媒介
rpc findAllMessageMedias (FindAllMessageMediasRequest) returns (FindAllMessageMediasResponse);
// 设置所有支持的媒介
rpc updateMessageMedias (UpdateMessageMediasRequest) returns (RPCSuccess);
}
// 获取所有支持的媒介
message FindAllMessageMediasRequest {
}
message FindAllMessageMediasResponse {
repeated MessageMedia messageMedias = 1;
}
// 设置所有支持的媒介
message UpdateMessageMediasRequest {
repeated MessageMedia messageMedias = 2;
}

View File

@@ -0,0 +1,83 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
import "models/message_media_instance.proto";
import "models/rpc_messages.proto";
// 消息媒介实例
service MessageMediaInstanceService {
// 创建消息媒介实例
rpc createMessageMediaInstance (CreateMessageMediaInstanceRequest) returns (CreateMessageMediaInstanceResponse);
// 修改消息媒介实例
rpc updateMessageMediaInstance (UpdateMessageMediaInstanceRequest) returns (RPCSuccess);
// 删除消息媒介实例
rpc deleteMessageMediaInstance (DeleteMessageMediaInstanceRequest) returns (RPCSuccess);
// 计算消息媒介实例数量
rpc countAllEnabledMessageMediaInstances (CountAllEnabledMessageMediaInstancesRequest) returns (RPCCountResponse);
// 列出单页消息媒介实例
rpc listEnabledMessageMediaInstances (ListEnabledMessageMediaInstancesRequest) returns (ListEnabledMessageMediaInstancesResponse);
// 查找单个消息媒介实例信息
rpc findEnabledMessageMediaInstance (FindEnabledMessageMediaInstanceRequest) returns (FindEnabledMessageMediaInstanceResponse);
}
// 创建接收人
message CreateMessageMediaInstanceRequest {
string name = 1;
string mediaType = 2;
bytes paramsJSON = 3;
repeated int64 groupIds = 4;
string description = 5;
}
message CreateMessageMediaInstanceResponse {
int64 messageMediaInstanceId = 1;
}
// 修改接收人
message UpdateMessageMediaInstanceRequest {
int64 messageMediaInstanceId = 1;
string name = 2;
string mediaType = 3;
bytes paramsJSON = 4;
string description = 5;
bool isOn = 6;
}
// 删除接收人
message DeleteMessageMediaInstanceRequest {
int64 messageMediaInstanceId = 1;
}
// 计算接收人数量
message CountAllEnabledMessageMediaInstancesRequest {
string mediaType = 1;
string keyword = 2;
}
// 列出单页接收人
message ListEnabledMessageMediaInstancesRequest {
string mediaType = 1;
string keyword = 2;
int64 offset = 3;
int64 size = 4;
}
message ListEnabledMessageMediaInstancesResponse {
repeated MessageMediaInstance messageMediaInstances = 1;
}
// 查找单个接收人信息
message FindEnabledMessageMediaInstanceRequest {
int64 messageMediaInstanceId = 1;
}
message FindEnabledMessageMediaInstanceResponse {
MessageMediaInstance messageMediaInstance = 1;
}

View File

@@ -0,0 +1,88 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
import "models/message_recipient.proto";
import "models/rpc_messages.proto";
// 消息接收人
service MessageRecipientService {
// 创建接收人
rpc createMessageRecipient (CreateMessageRecipientRequest) returns (CreateMessageRecipientResponse);
// 修改接收人
rpc updateMessageRecipient (UpdateMessageRecipientRequest) returns (RPCSuccess);
// 删除接收人
rpc deleteMessageRecipient (DeleteMessageRecipientRequest) returns (RPCSuccess);
// 计算接收人数量
rpc countAllEnabledMessageRecipients (CountAllEnabledMessageRecipientsRequest) returns (RPCCountResponse);
// 列出单页接收人
rpc listEnabledMessageRecipients (ListEnabledMessageRecipientsRequest) returns (ListEnabledMessageRecipientsResponse);
// 查找单个接收人信息
rpc findEnabledMessageRecipient (FindEnabledMessageRecipientRequest) returns (FindEnabledMessageRecipientResponse);
}
// 创建接收人
message CreateMessageRecipientRequest {
int64 adminId = 1;
int64 instanceId = 2;
repeated int64 groupIds = 3;
string description = 4;
string user = 5;
}
message CreateMessageRecipientResponse {
int64 messageRecipientId = 1;
}
// 修改接收人
message UpdateMessageRecipientRequest {
int64 messageRecipientId = 1;
int64 adminId = 2;
int64 instanceId = 3;
repeated int64 groupIds = 4;
string description = 5;
bool isOn = 6;
string user = 7;
}
// 删除接收人
message DeleteMessageRecipientRequest {
int64 messageRecipientId = 1;
}
// 计算接收人数量
message CountAllEnabledMessageRecipientsRequest {
int64 adminId = 1;
string mediaType = 2;
int64 groupId = 3;
string keyword = 4;
}
// 列出单页接收人
message ListEnabledMessageRecipientsRequest {
int64 adminId = 1;
string mediaType = 2;
int64 groupId = 3;
string keyword = 4;
int64 offset = 5;
int64 size = 6;
}
message ListEnabledMessageRecipientsResponse {
repeated MessageRecipient messageRecipients = 1;
}
// 查找单个接收人信息
message FindEnabledMessageRecipientRequest {
int64 messageRecipientId = 1;
}
message FindEnabledMessageRecipientResponse {
MessageRecipient messageRecipient = 1;
}

View File

@@ -0,0 +1,64 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
import "models/message_recipient_group.proto";
import "models/rpc_messages.proto";
// 消息接收人分组
service MessageRecipientGroupService {
// 创建分组
rpc createMessageRecipientGroup (CreateMessageRecipientGroupRequest) returns (CreateMessageRecipientGroupResponse);
// 修改分组
rpc updateMessageRecipientGroup (UpdateMessageRecipientGroupRequest) returns (RPCSuccess);
// 查找所有可用的分组
rpc findAllEnabledMessageRecipientGroups (FindAllEnabledMessageRecipientGroupsRequest) returns (FindAllEnabledMessageRecipientGroupsResponse);
// 删除分组
rpc deleteMessageRecipientGroup (DeleteMessageRecipientGroupRequest) returns (RPCSuccess);
// 查找单个分组信息
rpc findEnabledMessageRecipientGroup (FindEnabledMessageRecipientGroupRequest) returns (FindEnabledMessageRecipientGroupResponse);
}
// 创建分组
message CreateMessageRecipientGroupRequest {
string name = 1;
}
message CreateMessageRecipientGroupResponse {
int64 messageRecipientGroupId = 1;
}
// 修改分组
message UpdateMessageRecipientGroupRequest {
int64 messageRecipientGroupId = 1;
string name = 2;
bool isOn = 3;
}
// 查找所有可用的分组
message FindAllEnabledMessageRecipientGroupsRequest {
}
message FindAllEnabledMessageRecipientGroupsResponse {
repeated MessageRecipientGroup messageRecipientGroups = 1;
}
// 删除分组
message DeleteMessageRecipientGroupRequest {
int64 messageRecipientGroupId = 1;
}
// 查找单个分组信息
message FindEnabledMessageRecipientGroupRequest {
int64 messageRecipientGroupId = 1;
}
message FindEnabledMessageRecipientGroupResponse {
MessageRecipientGroup messageRecipientGroup = 1;
}

View File

@@ -0,0 +1,69 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
import "models/message_task.proto";
import "models/rpc_messages.proto";
// 消息发送任务服务
service MessageTaskService {
// 创建消息任务
rpc createMessageTask (CreateMessageTaskRequest) returns (CreateMessageTaskResponse);
// 查找要发送的消息任务
rpc findSendingMessageTasks (FindSendingMessageTasksRequest) returns (FindSendingMessageTasksResponse);
// 修改消息任务状态
rpc updateMessageTaskStatus (UpdateMessageTaskStatusRequest) returns (RPCSuccess);
// 删除消息任务
rpc deleteMessageTask (DeleteMessageTaskRequest) returns (RPCSuccess);
// 读取消息任务状态
rpc findEnabledMessageTask (FindEnabledMessageTaskRequest) returns (FindEnabledMessageTaskResponse);
}
// 创建消息任务
message CreateMessageTaskRequest {
int64 recipientId = 1;
int64 instanceId = 2;
string user = 3;
string subject = 4;
string body = 5;
bool isPrimary = 6;
}
message CreateMessageTaskResponse {
int64 messageTaskId = 1;
}
// 查找要发送的消息任务
message FindSendingMessageTasksRequest {
int64 size = 1;
}
message FindSendingMessageTasksResponse {
repeated MessageTask messageTasks = 1;
}
// 修改消息任务状态
message UpdateMessageTaskStatusRequest {
int64 messageTaskId = 1;
int32 status = 2;
MessageTaskResult result = 3;
}
// 删除消息任务
message DeleteMessageTaskRequest {
int64 messageTaskId = 1;
}
// 读取消息任务状态
message FindEnabledMessageTaskRequest {
int64 messageTaskId = 1;
}
message FindEnabledMessageTaskResponse {
MessageTask messageTask = 1;
}

View File

@@ -0,0 +1,31 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
import "models/message_task_log.proto";
import "models/rpc_messages.proto";
// 消息发送任务日志
service MessageTaskLogService {
// 计算日志数量
rpc countMessageTaskLogs (CountMessageTaskLogsRequest) returns (RPCCountResponse);
// 列出当页日志
rpc listMessageTaskLogs (ListMessageTaskLogsRequest) returns (ListMessageTaskLogsResponse);
}
// 计算日志数量
message CountMessageTaskLogsRequest {
}
// 列出当页日志
message ListMessageTaskLogsRequest {
int64 offset = 1;
int64 size = 2;
}
message ListMessageTaskLogsResponse {
repeated MessageTaskLog messageTaskLogs = 1;
}

View File

@@ -0,0 +1,107 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
import "models/model_monitor_node.proto";
import "models/rpc_messages.proto";
service MonitorNodeService {
// 创建监控节点
rpc createMonitorNode (CreateMonitorNodeRequest) returns (CreateMonitorNodeResponse);
// 修改监控节点
rpc updateMonitorNode (UpdateMonitorNodeRequest) returns (RPCSuccess);
// 删除监控节点
rpc deleteMonitorNode (DeleteMonitorNodeRequest) returns (RPCSuccess);
// 列出所有可用监控节点
rpc findAllEnabledMonitorNodes (FindAllEnabledMonitorNodesRequest) returns (FindAllEnabledMonitorNodesResponse);
// 计算监控节点数量
rpc countAllEnabledMonitorNodes (CountAllEnabledMonitorNodesRequest) returns (RPCCountResponse);
// 列出单页的监控节点
rpc listEnabledMonitorNodes (ListEnabledMonitorNodesRequest) returns (ListEnabledMonitorNodesResponse);
// 根据ID查找节点
rpc findEnabledMonitorNode (FindEnabledMonitorNodeRequest) returns (FindEnabledMonitorNodeResponse);
// 获取当前监控节点信息
rpc findCurrentMonitorNode (FindCurrentMonitorNodeRequest) returns (FindCurrentMonitorNodeResponse);
// 更新节点状态
rpc updateMonitorNodeStatus (UpdateMonitorNodeStatusRequest) returns (RPCSuccess);
}
// 创建监控节点
message CreateMonitorNodeRequest {
string name = 1;
string description = 2;
bool isOn = 3;
}
message CreateMonitorNodeResponse {
int64 nodeId = 1;
}
// 修改监控节点
message UpdateMonitorNodeRequest {
int64 nodeId = 1;
string name = 2;
string description = 3;
bool isOn = 4;
}
// 删除监控节点
message DeleteMonitorNodeRequest {
int64 nodeId = 1;
}
// 列出所有可用监控节点
message FindAllEnabledMonitorNodesRequest {
}
message FindAllEnabledMonitorNodesResponse {
repeated MonitorNode nodes = 1;
}
// 计算监控节点数量
message CountAllEnabledMonitorNodesRequest {
}
// 列出单页的监控节点
message ListEnabledMonitorNodesRequest {
int64 offset = 1;
int64 size = 2;
}
message ListEnabledMonitorNodesResponse {
repeated MonitorNode nodes = 1;
}
// 根据ID查找节点
message FindEnabledMonitorNodeRequest {
int64 nodeId = 1;
}
message FindEnabledMonitorNodeResponse {
MonitorNode node = 1;
}
// 获取当前监控节点
message FindCurrentMonitorNodeRequest {
}
message FindCurrentMonitorNodeResponse {
MonitorNode node = 1;
}
// 更新监控状态
message UpdateMonitorNodeStatusRequest {
int64 nodeId = 1;
bytes statusJSON = 2;
}

View File

@@ -27,7 +27,7 @@ service UserNodeService {
// 根据ID查找节点
rpc findEnabledUserNode (FindEnabledUserNodeRequest) returns (FindEnabledUserNodeResponse);
// 获取当前用户节点
// 获取当前用户节点信息
rpc findCurrentUserNode (FindCurrentUserNodeRequest) returns (FindCurrentUserNodeResponse);
// 更新节点状态