diff --git a/src/pages/chat/chat.ts b/src/pages/chat/chat.ts index 6ec3203..61d9f7e 100755 --- a/src/pages/chat/chat.ts +++ b/src/pages/chat/chat.ts @@ -18,6 +18,7 @@ import { getCorrectDOM } from '../../utils/document.utils'; import chatStyle from '../../../public/style/chat.css?inline'; import { addressToEmoji } from '../../utils/sp-address.utils'; import Database from '../../services/database.service'; +import Services from '../../services/service'; const storageUrl = `/storage`; @@ -60,6 +61,7 @@ class ChatElement extends HTMLElement { name: member.name, roleName: 'Default Role' })); + private messageState: number = 0; constructor() { @@ -319,9 +321,9 @@ class ChatElement extends HTMLElement { ], validation_rules: [ { - quorum: 1.0, + quorum: 0.01, fields: ['messages'], - min_sig_member: 1.0, + min_sig_member: 0.01, }, ], storages: [storageUrl] @@ -340,26 +342,6 @@ class ChatElement extends HTMLElement { ); console.log('✅ Process message créé:', result); - - const db = await Database.getInstance(); - await db.addObject({ - storeName: 'diffs', - key: (result as any).process_id, - object: { - value_commitment: { - process_id: (result as any).process_id, - parent_id: processId, - description: 'messaging', - roles: messagingTemplate.roles, - states: [{ - encrypted_pcd: messagingTemplate - }] - }, - timestamp: Date.now() - } - }); - console.log('💾 Process message sauvegardé dans diffs'); - return result; } catch (e) { console.error('❌ Erreur:', e); @@ -420,37 +402,38 @@ class ChatElement extends HTMLElement { return; } - const recipientRole = Object.entries(messageProcess.roles).find(([_, roleData]: [string, any]) => - roleData.members?.some((member: any) => - member.sp_addresses.includes(this.selectedMemberId) - ) - )?.[0] || 'default'; + const timestamp = Date.now(); + const uniqueKey = `${this.getAttribute('process-id')}${timestamp}`; + const messageTemplate = { + value_commitment: uniqueKey, messaging_id: this.getAttribute('process-id'), - description: 'message_content', - state: 'sent', + description: 'message_content', content: { text: messageText, + timestamp: timestamp, sender: myAddresses[0], - recipient: this.selectedMemberId + recipient: this.selectedMemberId, + messageState: this.messageState }, roles: { - [recipientRole]: messageProcess.roles[recipientRole] + users: { + members: [ + { sp_addresses: myAddresses }, + { sp_addresses: [this.selectedMemberId] } + ] + } } }; - console.log('📝 Template message:', messageTemplate); + const db = await Database.getInstance(); + await db.addObject({ + storeName: 'diffs', + object: messageTemplate, + key: null + }); - const result = await this.sdkClient.create_new_process( - JSON.stringify(messageTemplate), - messageProcess.process_id, - 'relay_address', - 1 - ); - - console.log('✅ Message créé:', result); messageInput.value = ''; - await this.loadMemberChat(this.selectedMemberId); } catch (error) { console.error('❌ Erreur envoi message:', error);