msg_in_indexedDB_ok

This commit is contained in:
Pascal 2025-01-13 23:34:05 +01:00
parent c9195601e8
commit c521d34504

View File

@ -18,6 +18,7 @@ import { getCorrectDOM } from '../../utils/document.utils';
import chatStyle from '../../../public/style/chat.css?inline'; import chatStyle from '../../../public/style/chat.css?inline';
import { addressToEmoji } from '../../utils/sp-address.utils'; import { addressToEmoji } from '../../utils/sp-address.utils';
import Database from '../../services/database.service'; import Database from '../../services/database.service';
import Services from '../../services/service';
const storageUrl = `/storage`; const storageUrl = `/storage`;
@ -60,6 +61,7 @@ class ChatElement extends HTMLElement {
name: member.name, name: member.name,
roleName: 'Default Role' roleName: 'Default Role'
})); }));
private messageState: number = 0;
constructor() { constructor() {
@ -319,9 +321,9 @@ class ChatElement extends HTMLElement {
], ],
validation_rules: [ validation_rules: [
{ {
quorum: 1.0, quorum: 0.01,
fields: ['messages'], fields: ['messages'],
min_sig_member: 1.0, min_sig_member: 0.01,
}, },
], ],
storages: [storageUrl] storages: [storageUrl]
@ -340,26 +342,6 @@ class ChatElement extends HTMLElement {
); );
console.log('✅ Process message créé:', result); 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; return result;
} catch (e) { } catch (e) {
console.error('❌ Erreur:', e); console.error('❌ Erreur:', e);
@ -420,37 +402,38 @@ class ChatElement extends HTMLElement {
return; return;
} }
const recipientRole = Object.entries(messageProcess.roles).find(([_, roleData]: [string, any]) => const timestamp = Date.now();
roleData.members?.some((member: any) => const uniqueKey = `${this.getAttribute('process-id')}${timestamp}`;
member.sp_addresses.includes(this.selectedMemberId)
)
)?.[0] || 'default';
const messageTemplate = { const messageTemplate = {
value_commitment: uniqueKey,
messaging_id: this.getAttribute('process-id'), messaging_id: this.getAttribute('process-id'),
description: 'message_content', description: 'message_content',
state: 'sent',
content: { content: {
text: messageText, text: messageText,
timestamp: timestamp,
sender: myAddresses[0], sender: myAddresses[0],
recipient: this.selectedMemberId recipient: this.selectedMemberId,
messageState: this.messageState
}, },
roles: { 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 = ''; messageInput.value = '';
await this.loadMemberChat(this.selectedMemberId); await this.loadMemberChat(this.selectedMemberId);
} catch (error) { } catch (error) {
console.error('❌ Erreur envoi message:', error); console.error('❌ Erreur envoi message:', error);