mirror of
https://github.com/anyproto/anytype-heart.git
synced 2025-06-10 18:10:49 +09:00
Merge pull request #1582 from anyproto/go-4108-chats-dummy-protocol-impl-for-release-7
GO-4108 dummy chat api
This commit is contained in:
commit
4ed3e7c92b
11 changed files with 15592 additions and 3084 deletions
File diff suppressed because it is too large
Load diff
99
core/chats.go
Normal file
99
core/chats.go
Normal file
|
@ -0,0 +1,99 @@
|
|||
package core
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/anyproto/anytype-heart/pb"
|
||||
)
|
||||
|
||||
// TODO: chats are temporary done as dummy API for clients to merge the API
|
||||
|
||||
func (mw *Middleware) ObjectChatAdd(ctx context.Context, request *pb.RpcObjectChatAddRequest) *pb.RpcObjectChatAddResponse {
|
||||
// TODO implement me
|
||||
return &pb.RpcObjectChatAddResponse{
|
||||
Error: &pb.RpcObjectChatAddResponseError{
|
||||
Code: pb.RpcObjectChatAddResponseError_UNKNOWN_ERROR,
|
||||
Description: "not implemented",
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
func (mw *Middleware) ChatAddMessage(ctx context.Context, request *pb.RpcChatAddMessageRequest) *pb.RpcChatAddMessageResponse {
|
||||
// TODO implement me
|
||||
return &pb.RpcChatAddMessageResponse{
|
||||
Error: &pb.RpcChatAddMessageResponseError{
|
||||
Code: pb.RpcChatAddMessageResponseError_UNKNOWN_ERROR,
|
||||
Description: "not implemented",
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
func (mw *Middleware) ChatEditMessageContent(ctx context.Context, request *pb.RpcChatEditMessageContentRequest) *pb.RpcChatEditMessageContentResponse {
|
||||
// TODO implement me
|
||||
return &pb.RpcChatEditMessageContentResponse{
|
||||
Error: &pb.RpcChatEditMessageContentResponseError{
|
||||
Code: pb.RpcChatEditMessageContentResponseError_UNKNOWN_ERROR,
|
||||
Description: "not implemented",
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
func (mw *Middleware) ChatToggleMessageReaction(ctx context.Context, request *pb.RpcChatToggleMessageReactionRequest) *pb.RpcChatToggleMessageReactionResponse {
|
||||
// TODO implement me
|
||||
return &pb.RpcChatToggleMessageReactionResponse{
|
||||
Error: &pb.RpcChatToggleMessageReactionResponseError{
|
||||
Code: pb.RpcChatToggleMessageReactionResponseError_UNKNOWN_ERROR,
|
||||
Description: "not implemented",
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
func (mw *Middleware) ChatDeleteMessage(ctx context.Context, request *pb.RpcChatDeleteMessageRequest) *pb.RpcChatDeleteMessageResponse {
|
||||
// TODO implement me
|
||||
return &pb.RpcChatDeleteMessageResponse{
|
||||
Error: &pb.RpcChatDeleteMessageResponseError{
|
||||
Code: pb.RpcChatDeleteMessageResponseError_UNKNOWN_ERROR,
|
||||
Description: "not implemented",
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
func (mw *Middleware) ChatGetMessages(ctx context.Context, request *pb.RpcChatGetMessagesRequest) *pb.RpcChatGetMessagesResponse {
|
||||
// TODO implement me
|
||||
return &pb.RpcChatGetMessagesResponse{
|
||||
Error: &pb.RpcChatGetMessagesResponseError{
|
||||
Code: pb.RpcChatGetMessagesResponseError_UNKNOWN_ERROR,
|
||||
Description: "not implemented",
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
func (mw *Middleware) ChatGetMessagesByIds(ctx context.Context, request *pb.RpcChatGetMessagesByIdsRequest) *pb.RpcChatGetMessagesByIdsResponse {
|
||||
// TODO implement me
|
||||
return &pb.RpcChatGetMessagesByIdsResponse{
|
||||
Error: &pb.RpcChatGetMessagesByIdsResponseError{
|
||||
Code: pb.RpcChatGetMessagesByIdsResponseError_UNKNOWN_ERROR,
|
||||
Description: "not implemented",
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
func (mw *Middleware) ChatSubscribeLastMessages(ctx context.Context, request *pb.RpcChatSubscribeLastMessagesRequest) *pb.RpcChatSubscribeLastMessagesResponse {
|
||||
// TODO implement me
|
||||
return &pb.RpcChatSubscribeLastMessagesResponse{
|
||||
Error: &pb.RpcChatSubscribeLastMessagesResponseError{
|
||||
Code: pb.RpcChatSubscribeLastMessagesResponseError_UNKNOWN_ERROR,
|
||||
Description: "not implemented",
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
func (mw *Middleware) ChatUnsubscribe(ctx context.Context, request *pb.RpcChatUnsubscribeRequest) *pb.RpcChatUnsubscribeResponse {
|
||||
// TODO implement me
|
||||
return &pb.RpcChatUnsubscribeResponse{
|
||||
Error: &pb.RpcChatUnsubscribeResponseError{
|
||||
Code: pb.RpcChatUnsubscribeResponseError_UNKNOWN_ERROR,
|
||||
Description: "not implemented",
|
||||
},
|
||||
}
|
||||
}
|
924
docs/proto.md
924
docs/proto.md
File diff suppressed because it is too large
Load diff
10043
pb/commands.pb.go
10043
pb/commands.pb.go
File diff suppressed because it is too large
Load diff
2528
pb/events.pb.go
2528
pb/events.pb.go
File diff suppressed because it is too large
Load diff
|
@ -1592,6 +1592,28 @@ message Rpc {
|
|||
}
|
||||
}
|
||||
|
||||
message ChatAdd {
|
||||
message Request {
|
||||
string objectId = 1;
|
||||
}
|
||||
|
||||
message Response {
|
||||
Error error = 1;
|
||||
string chatId = 2;
|
||||
|
||||
message Error {
|
||||
Code code = 1;
|
||||
string description = 2;
|
||||
enum Code {
|
||||
NULL = 0;
|
||||
UNKNOWN_ERROR = 1;
|
||||
BAD_INPUT = 2;
|
||||
// ...
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
message BookmarkFetch {
|
||||
message Request {
|
||||
string contextId = 1;
|
||||
|
@ -7233,6 +7255,198 @@ message Rpc {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
message Chat {
|
||||
message AddMessage {
|
||||
message Request {
|
||||
string chatObjectId = 1;
|
||||
model.ChatMessage message = 2;
|
||||
}
|
||||
|
||||
message Response {
|
||||
Error error = 1;
|
||||
string messageId = 2;
|
||||
ResponseEvent event = 3;
|
||||
|
||||
message Error {
|
||||
Code code = 1;
|
||||
string description = 2;
|
||||
|
||||
enum Code {
|
||||
NULL = 0;
|
||||
UNKNOWN_ERROR = 1;
|
||||
BAD_INPUT = 2;
|
||||
// ...
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
message EditMessageContent {
|
||||
message Request {
|
||||
string chatObjectId = 1;
|
||||
string messageId = 2;
|
||||
model.ChatMessage editedMessage = 3;
|
||||
}
|
||||
|
||||
message Response {
|
||||
Error error = 1;
|
||||
|
||||
message Error {
|
||||
Code code = 1;
|
||||
string description = 2;
|
||||
|
||||
enum Code {
|
||||
NULL = 0;
|
||||
UNKNOWN_ERROR = 1;
|
||||
BAD_INPUT = 2;
|
||||
// ...
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
message ToggleMessageReaction {
|
||||
message Request {
|
||||
string chatObjectId = 1;
|
||||
string messageId = 2;
|
||||
string emoji = 3;
|
||||
}
|
||||
|
||||
message Response {
|
||||
Error error = 1;
|
||||
|
||||
message Error {
|
||||
Code code = 1;
|
||||
string description = 2;
|
||||
|
||||
enum Code {
|
||||
NULL = 0;
|
||||
UNKNOWN_ERROR = 1;
|
||||
BAD_INPUT = 2;
|
||||
// ...
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
message DeleteMessage {
|
||||
message Request {
|
||||
string chatObjectId = 1;
|
||||
string messageId = 2;
|
||||
}
|
||||
|
||||
message Response {
|
||||
Error error = 1;
|
||||
|
||||
message Error {
|
||||
Code code = 1;
|
||||
string description = 2;
|
||||
|
||||
enum Code {
|
||||
NULL = 0;
|
||||
UNKNOWN_ERROR = 1;
|
||||
BAD_INPUT = 2;
|
||||
// ...
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
message GetMessages {
|
||||
message Request {
|
||||
string chatObjectId = 1;
|
||||
string beforeOrderId = 2; // OrderId of the message before which to get messages
|
||||
int32 limit = 3;
|
||||
}
|
||||
|
||||
message Response {
|
||||
Error error = 1;
|
||||
repeated model.ChatMessage messages = 2;
|
||||
|
||||
message Error {
|
||||
Code code = 1;
|
||||
string description = 2;
|
||||
|
||||
enum Code {
|
||||
NULL = 0;
|
||||
UNKNOWN_ERROR = 1;
|
||||
BAD_INPUT = 2;
|
||||
// ...
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
message GetMessagesByIds {
|
||||
message Request {
|
||||
string chatObjectId = 1;
|
||||
repeated string messageIds = 2;
|
||||
}
|
||||
|
||||
message Response {
|
||||
Error error = 1;
|
||||
repeated model.ChatMessage messages = 2;
|
||||
|
||||
message Error {
|
||||
Code code = 1;
|
||||
string description = 2;
|
||||
|
||||
enum Code {
|
||||
NULL = 0;
|
||||
UNKNOWN_ERROR = 1;
|
||||
BAD_INPUT = 2;
|
||||
// ...
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
message SubscribeLastMessages {
|
||||
message Request {
|
||||
string chatObjectId = 1; // Identifier for the chat
|
||||
int32 limit = 2; // Number of max last messages to return and subscribe
|
||||
}
|
||||
|
||||
message Response {
|
||||
Error error = 1;
|
||||
repeated model.ChatMessage messages = 2; // List of messages
|
||||
int32 numMessagesBefore = 3; // Number of messages before the returned messages
|
||||
|
||||
message Error {
|
||||
Code code = 1;
|
||||
string description = 2;
|
||||
|
||||
enum Code {
|
||||
NULL = 0;
|
||||
UNKNOWN_ERROR = 1;
|
||||
BAD_INPUT = 2;
|
||||
// ...
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
message Unsubscribe {
|
||||
message Request {
|
||||
string chatObjectId = 1; // Identifier for the chat
|
||||
}
|
||||
message Response {
|
||||
Error error = 1;
|
||||
|
||||
message Error {
|
||||
Code code = 1;
|
||||
string description = 2;
|
||||
|
||||
enum Code {
|
||||
NULL = 0;
|
||||
UNKNOWN_ERROR = 1;
|
||||
BAD_INPUT = 2;
|
||||
// ...
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -110,6 +110,30 @@ message Event {
|
|||
P2PStatus.Update p2pStatusUpdate = 120;
|
||||
|
||||
Import.Finish importFinish = 121;
|
||||
|
||||
Chat.Add chatAdd = 128;
|
||||
Chat.Update chatUpdate = 129;
|
||||
Chat.UpdateReactions chatUpdateReactions = 130;
|
||||
Chat.Delete chatDelete = 131;
|
||||
}
|
||||
}
|
||||
|
||||
message Chat {
|
||||
message Add {
|
||||
string id = 1;
|
||||
string orderId = 2;
|
||||
model.ChatMessage message = 3;
|
||||
}
|
||||
message Delete {
|
||||
string id = 1;
|
||||
}
|
||||
message Update {
|
||||
string id = 1;
|
||||
model.ChatMessage message = 2;
|
||||
}
|
||||
message UpdateReactions {
|
||||
string id = 1;
|
||||
model.ChatMessage.Reactions reactions = 2;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -73,6 +73,7 @@ service ClientCommands {
|
|||
rpc ObjectCreate (anytype.Rpc.Object.Create.Request) returns (anytype.Rpc.Object.Create.Response);
|
||||
rpc ObjectCreateBookmark (anytype.Rpc.Object.CreateBookmark.Request) returns (anytype.Rpc.Object.CreateBookmark.Response);
|
||||
rpc ObjectCreateFromUrl (anytype.Rpc.Object.CreateFromUrl.Request) returns (anytype.Rpc.Object.CreateFromUrl.Response);
|
||||
rpc ObjectChatAdd (anytype.Rpc.Object.ChatAdd.Request) returns (anytype.Rpc.Object.ChatAdd.Response);
|
||||
|
||||
// ObjectCreateSet just creates the new set, without adding the link to it from some other page
|
||||
rpc ObjectCreateSet (anytype.Rpc.Object.CreateSet.Request) returns (anytype.Rpc.Object.CreateSet.Response);
|
||||
|
@ -357,4 +358,14 @@ service ClientCommands {
|
|||
rpc DeviceSetName (anytype.Rpc.Device.SetName.Request) returns (anytype.Rpc.Device.SetName.Response);
|
||||
rpc DeviceList (anytype.Rpc.Device.List.Request) returns (anytype.Rpc.Device.List.Response);
|
||||
rpc DeviceNetworkStateSet (anytype.Rpc.Device.NetworkState.Set.Request) returns (anytype.Rpc.Device.NetworkState.Set.Response);
|
||||
|
||||
// Chats dummy impl
|
||||
rpc ChatAddMessage (anytype.Rpc.Chat.AddMessage.Request) returns (anytype.Rpc.Chat.AddMessage.Response);
|
||||
rpc ChatEditMessageContent (anytype.Rpc.Chat.EditMessageContent.Request) returns (anytype.Rpc.Chat.EditMessageContent.Response);
|
||||
rpc ChatToggleMessageReaction (anytype.Rpc.Chat.ToggleMessageReaction.Request) returns (anytype.Rpc.Chat.ToggleMessageReaction.Response);
|
||||
rpc ChatDeleteMessage (anytype.Rpc.Chat.DeleteMessage.Request) returns (anytype.Rpc.Chat.DeleteMessage.Response);
|
||||
rpc ChatGetMessages (anytype.Rpc.Chat.GetMessages.Request) returns (anytype.Rpc.Chat.GetMessages.Response);
|
||||
rpc ChatGetMessagesByIds (anytype.Rpc.Chat.GetMessagesByIds.Request) returns (anytype.Rpc.Chat.GetMessagesByIds.Response);
|
||||
rpc ChatSubscribeLastMessages (anytype.Rpc.Chat.SubscribeLastMessages.Request) returns (anytype.Rpc.Chat.SubscribeLastMessages.Response);
|
||||
rpc ChatUnsubscribe (anytype.Rpc.Chat.Unsubscribe.Request) returns (anytype.Rpc.Chat.Unsubscribe.Response);
|
||||
}
|
||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -51,6 +51,9 @@ enum SmartBlockType {
|
|||
|
||||
NotificationObject = 0x217;
|
||||
DevicesObject = 0x218;
|
||||
|
||||
ChatObject = 0x219; // Container for any-store based chats
|
||||
ChatDerivedObject = 0x220; // Any-store based object for chat
|
||||
}
|
||||
|
||||
message Search {
|
||||
|
@ -97,6 +100,7 @@ message Block {
|
|||
Content.TableColumn tableColumn = 27;
|
||||
Content.TableRow tableRow = 28;
|
||||
Content.Widget widget = 29;
|
||||
Content.Chat chat = 30;
|
||||
}
|
||||
|
||||
message Restrictions {
|
||||
|
@ -574,6 +578,9 @@ message Block {
|
|||
View = 4;
|
||||
}
|
||||
}
|
||||
message Chat {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -751,6 +758,8 @@ message ObjectType {
|
|||
participant = 19;
|
||||
|
||||
pdf = 20;
|
||||
chat = 21;
|
||||
chatDerived = 22;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1308,4 +1317,41 @@ message DeviceInfo {
|
|||
int64 addDate = 3;
|
||||
bool archived = 4;
|
||||
bool isConnected = 5;
|
||||
}
|
||||
|
||||
message ChatMessage {
|
||||
string id = 1; // Unique message identifier
|
||||
string orderId = 2; // Used for subscriptions
|
||||
string creator = 3; // Identifier for the message creator
|
||||
int64 createdAt = 4;
|
||||
int64 modifiedAt = 9;
|
||||
string replyToMessageId = 5; // Identifier for the message being replied to
|
||||
MessageContent message = 6; // Message content
|
||||
repeated Attachment attachments = 7; // Attachments slice
|
||||
Reactions reactions = 8; // Reactions to the message
|
||||
|
||||
message MessageContent {
|
||||
string text = 1; // The text content of the message part
|
||||
Block.Content.Text.Style style = 2; // The style/type of the message part
|
||||
repeated Block.Content.Text.Mark marks = 3; // List of marks applied to the text
|
||||
}
|
||||
|
||||
message Attachment {
|
||||
string target = 1; // Identifier for the attachment object
|
||||
AttachmentType type = 2; // Type of attachment
|
||||
|
||||
enum AttachmentType {
|
||||
FILE = 0; // File attachment
|
||||
IMAGE = 1; // Image attachment
|
||||
LINK = 2; // Link attachment
|
||||
}
|
||||
}
|
||||
|
||||
message Reactions {
|
||||
map<string, IdentityList> reactions = 1; // Map of emoji to list of user IDs
|
||||
|
||||
message IdentityList {
|
||||
repeated string ids = 1; // List of user IDs
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue