@@ -32,11 +32,11 @@ type ChatPayload struct {
3232}
3333
3434type ChatConversation struct {
35- DocID string `json:"_id"`
36- DocRev string `json:"_rev,omitempty"`
37- Messages []ChatMessage `json:"messages"`
38- Metadata * metadata.CozyMetadata `json:"cozyMetadata"`
39- RelationshipsMap map [ string ] interface {} `json:"relationships ,omitempty"`
35+ DocID string `json:"_id"`
36+ DocRev string `json:"_rev,omitempty"`
37+ Messages []ChatMessage `json:"messages"`
38+ Metadata * metadata.CozyMetadata `json:"cozyMetadata"`
39+ AssistantID string `json:"assistantID ,omitempty"`
4040}
4141
4242type ChatMessage struct {
@@ -70,9 +70,21 @@ func (c *ChatConversation) Clone() couchdb.Doc {
7070 copy (cloned .Messages , c .Messages )
7171 return & cloned
7272}
73- func (c * ChatConversation ) Included () []jsonapi.Object { return nil }
74- func (c * ChatConversation ) Relationships () jsonapi.RelationshipMap { return nil }
75- func (c * ChatConversation ) Links () * jsonapi.LinksList { return nil }
73+ func (c * ChatConversation ) Included () []jsonapi.Object { return nil }
74+ func (c * ChatConversation ) Relationships () jsonapi.RelationshipMap {
75+ if c .AssistantID == "" {
76+ return nil
77+ }
78+ return jsonapi.RelationshipMap {
79+ "assistant" : jsonapi.Relationship {
80+ Data : couchdb.DocReference {
81+ ID : c .AssistantID ,
82+ Type : consts .ChatAssistants ,
83+ },
84+ },
85+ }
86+ }
87+ func (c * ChatConversation ) Links () * jsonapi.LinksList { return nil }
7688
7789var _ jsonapi.Object = (* ChatConversation )(nil )
7890
@@ -106,16 +118,7 @@ func Chat(inst *instance.Instance, payload ChatPayload) (*ChatConversation, erro
106118 md .DocTypeVersion = DocTypeVersion
107119 md .UpdatedAt = md .CreatedAt
108120 chat .Metadata = md
109- if payload .AssistantID != "" {
110- chat .RelationshipsMap = map [string ]interface {}{
111- "assistant" : map [string ]interface {}{
112- "data" : map [string ]interface {}{
113- "_type" : "io.cozy.ai.chat.assistants" ,
114- "_id" : payload .AssistantID ,
115- },
116- },
117- }
118- }
121+ chat .AssistantID = payload .AssistantID
119122 } else if err != nil {
120123 return nil , err
121124 } else {
0 commit comments