diff --git a/app/src/conversation/conversation.ts b/app/src/conversation/conversation.ts index 696e0ef..2183efb 100644 --- a/app/src/conversation/conversation.ts +++ b/app/src/conversation/conversation.ts @@ -11,6 +11,7 @@ export class Conversation { public id: number; public data: Message[]; public end: boolean; + public refer: string; public constructor(id: number, callback?: ConversationCallback) { if (callback) this.setCallback(callback); @@ -19,12 +20,14 @@ export class Conversation { this.id = id; this.end = true; this.connection = new Connection(this.id); + this.refer = ""; if (id === -1 && this.idx === -1) { event.bind(({ refer, data }) => { console.log( `[conversation] load from sharing event (ref: ${refer}, length: ${data.length})`, ); + this.refer = refer; this.load(data); }); } diff --git a/manager/conversation/shared.go b/manager/conversation/shared.go index 320421f..5597021 100644 --- a/manager/conversation/shared.go +++ b/manager/conversation/shared.go @@ -128,3 +128,17 @@ func UseSharedConversation(db *sql.DB, user *auth.User, hash string) *Conversati Message: shared.Messages, } } + +func (c *Conversation) LoadSharing(db *sql.DB, hash string) { + if strings.TrimSpace(hash) == "" { + return + } + + shared, err := GetSharedConversation(db, hash) + if err != nil { + return + } + + c.Message = shared.Messages + c.Name = shared.Name +}