92 lines
3.9 KiB
Go
92 lines
3.9 KiB
Go
package logic
|
|
|
|
import (
|
|
friendentity "spark-server/internal/module/friend/entity"
|
|
groupentity "spark-server/internal/module/group/entity"
|
|
"spark-server/internal/module/meta/entity"
|
|
uploadentity "spark-server/internal/module/upload/entity"
|
|
"spark-server/internal/pkg/errs"
|
|
"spark-server/internal/pkg/i18n"
|
|
"spark-server/internal/transport/tcp/protocol"
|
|
)
|
|
|
|
func tcpCommand(lang i18n.Lang) []entity.Item {
|
|
return []entity.Item{
|
|
item(lang, "tcp_command", "auth", int(protocol.CmdAuth)),
|
|
item(lang, "tcp_command", "heartbeat", int(protocol.CmdHeartbeat)),
|
|
item(lang, "tcp_command", "generate_msg_id", int(protocol.CmdGenerateMsgID)),
|
|
item(lang, "tcp_command", "send_message", int(protocol.CmdSendMessage)),
|
|
item(lang, "tcp_command", "send_ack", int(protocol.CmdSendAck)),
|
|
item(lang, "tcp_command", "message", int(protocol.CmdMessage)),
|
|
item(lang, "tcp_command", "push_ack", int(protocol.CmdPushAck)),
|
|
item(lang, "tcp_command", "read", int(protocol.CmdReadMessage)),
|
|
item(lang, "tcp_command", "recall", int(protocol.CmdRecallMessage)),
|
|
item(lang, "tcp_command", "sync_inbox", int(protocol.CmdSyncInbox)),
|
|
item(lang, "tcp_command", "sync_inbox_finish", int(protocol.CmdSyncInboxFinish)),
|
|
item(lang, "tcp_command", "sync_messages", int(protocol.CmdSyncMessages)),
|
|
item(lang, "tcp_command", "sync_messages_finish", int(protocol.CmdSyncMessagesFinish)),
|
|
item(lang, "tcp_command", "kick", int(protocol.CmdKick)),
|
|
item(lang, "tcp_command", "delete_message", int(protocol.CmdDeleteMessage)),
|
|
}
|
|
}
|
|
|
|
func envelopeCode(lang i18n.Lang) []entity.Item {
|
|
return []entity.Item{
|
|
code(lang, "ok", errs.OK),
|
|
code(lang, "invalid_argument", errs.ErrInvalidArgument),
|
|
code(lang, "frame_too_large", errs.ErrFrameTooLarge),
|
|
code(lang, "invalid_frame", errs.ErrInvalidFrame),
|
|
code(lang, "invalid_proxy_header", errs.ErrProxyHeader),
|
|
code(lang, "unauthorized", errs.ErrUnauthorized),
|
|
code(lang, "not_authenticated", errs.ErrNotAuthenticated),
|
|
code(lang, "forbidden", errs.ErrForbidden),
|
|
code(lang, "not_found", errs.ErrNotFound),
|
|
code(lang, "media_expired", errs.ErrMediaExpired),
|
|
code(lang, "duplicate", errs.ErrDuplicate),
|
|
code(lang, "busy", errs.ErrBusy),
|
|
code(lang, "rate_limited", errs.ErrRateLimited),
|
|
code(lang, "outbound_dropped", errs.ErrOutboundDropped),
|
|
code(lang, "connection_closed", errs.ErrClosed),
|
|
code(lang, "internal", errs.ErrInner),
|
|
code(lang, "operation_failed", errs.ErrOperatFail),
|
|
code(lang, "clock_rewind", errs.ErrClockRewind),
|
|
code(lang, "unavailable", errs.ErrAvailable),
|
|
code(lang, "timeout", errs.ErrTimeout),
|
|
}
|
|
}
|
|
|
|
func code(lang i18n.Lang, name string, err *errs.AppError) entity.Item {
|
|
return entity.Item{Value: err.Code, Name: name, Label: i18n.ErrorMsg(lang, err.Code)}
|
|
}
|
|
|
|
func deviceType(lang i18n.Lang) []entity.Item {
|
|
return strSet(lang, "device_type", "ios", "android", "harmony", "windows", "macos", "web")
|
|
}
|
|
|
|
func language(lang i18n.Lang) []entity.Item {
|
|
return strSet(lang, "language", string(i18n.ZhCN), string(i18n.En), string(i18n.ZhTW))
|
|
}
|
|
|
|
func uploadPurpose(lang i18n.Lang) []entity.Item {
|
|
return strSet(lang, "upload_purpose",
|
|
uploadentity.PurposeAvatar, uploadentity.PurposeGroupAvatar, uploadentity.PurposeChatImage,
|
|
uploadentity.PurposeChatVoice, uploadentity.PurposeChatVideo, uploadentity.PurposeChatGIF, uploadentity.PurposeChatFile,
|
|
uploadentity.PurposeMomentImage, uploadentity.PurposeMomentVideo, uploadentity.PurposeMomentCover,
|
|
)
|
|
}
|
|
|
|
func systemKind(lang i18n.Lang) []entity.Item {
|
|
return strSet(lang, "system_kind",
|
|
friendentity.SystemKindBecameFriends, groupentity.SystemKindCreated, groupentity.SystemKindInvite,
|
|
groupentity.SystemKindLeave, groupentity.SystemKindKick, groupentity.SystemKindDissolve, groupentity.SystemKindTransfer,
|
|
)
|
|
}
|
|
|
|
func strSet(lang i18n.Lang, set string, values ...string) []entity.Item {
|
|
out := make([]entity.Item, 0, len(values))
|
|
for _, v := range values {
|
|
out = append(out, item(lang, set, v, v))
|
|
}
|
|
return out
|
|
}
|