get_ij_ok
This commit is contained in:
parent
6491f85485
commit
c9195601e8
@ -270,68 +270,68 @@ class ChatElement extends HTMLElement {
|
|||||||
processId: string,
|
processId: string,
|
||||||
roleName: string
|
roleName: string
|
||||||
): Promise<ApiReturn> {
|
): Promise<ApiReturn> {
|
||||||
console.log('🚀 Début createMessagingProcess');
|
|
||||||
console.log('📝 Parent Process ID:', this.processId);
|
|
||||||
console.log('👥 Other Member:', otherMembers[0]);
|
|
||||||
console.log('👑 Role Name:', roleName);
|
|
||||||
|
|
||||||
if (!this.isPaired()) {
|
|
||||||
throw new Error('Device not paired');
|
|
||||||
}
|
|
||||||
|
|
||||||
const myAddresses = await this.getMemberFromDevice();
|
|
||||||
console.log('🔑 Mes adresses:', myAddresses);
|
|
||||||
|
|
||||||
if (!myAddresses) {
|
|
||||||
throw new Error('No paired member found');
|
|
||||||
}
|
|
||||||
|
|
||||||
const currentProcessId = this.getAttribute('process-id');
|
|
||||||
console.log('🔍 Current Process ID:', currentProcessId);
|
|
||||||
|
|
||||||
if (!currentProcessId) {
|
|
||||||
throw new Error('No process ID found');
|
|
||||||
}
|
|
||||||
|
|
||||||
// Vérifier si le processus existe déjà
|
|
||||||
const existingProcess = await this.getExistingMessageProcess(
|
|
||||||
currentProcessId,
|
|
||||||
otherMembers[0].sp_addresses
|
|
||||||
);
|
|
||||||
|
|
||||||
if (existingProcess) {
|
|
||||||
console.log('✅ Process message déjà existant, réutilisation:', existingProcess);
|
|
||||||
return existingProcess;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Si non existant, créer un nouveau processus
|
|
||||||
console.log('🆕 Création d\'un nouveau processus message');
|
|
||||||
|
|
||||||
const messagingTemplate = {
|
|
||||||
parent_id: currentProcessId,
|
|
||||||
description: 'messaging',
|
|
||||||
roles: {
|
|
||||||
[roleName]: {
|
|
||||||
members: [
|
|
||||||
{ sp_addresses: myAddresses },
|
|
||||||
{ sp_addresses: otherMembers[0].sp_addresses }
|
|
||||||
],
|
|
||||||
validation_rules: [
|
|
||||||
{
|
|
||||||
quorum: 1.0,
|
|
||||||
fields: ['messages'],
|
|
||||||
min_sig_member: 1.0,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
storages: [storageUrl]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
console.log('📋 Template final:', JSON.stringify(messagingTemplate, null, 2));
|
|
||||||
console.log('👥 Création du process message comme enfant de:', currentProcessId);
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
console.log('🚀 Début createMessagingProcess');
|
||||||
|
console.log('📝 Parent Process ID:', this.processId);
|
||||||
|
console.log('👥 Other Member:', otherMembers[0]);
|
||||||
|
console.log('👑 Role Name:', roleName);
|
||||||
|
|
||||||
|
if (!this.isPaired()) {
|
||||||
|
throw new Error('Device not paired');
|
||||||
|
}
|
||||||
|
|
||||||
|
const myAddresses = await this.getMemberFromDevice();
|
||||||
|
console.log('🔑 Mes adresses:', myAddresses);
|
||||||
|
|
||||||
|
if (!myAddresses) {
|
||||||
|
throw new Error('No paired member found');
|
||||||
|
}
|
||||||
|
|
||||||
|
const currentProcessId = this.getAttribute('process-id');
|
||||||
|
console.log('🔍 Current Process ID:', currentProcessId);
|
||||||
|
|
||||||
|
if (!currentProcessId) {
|
||||||
|
throw new Error('No process ID found');
|
||||||
|
}
|
||||||
|
|
||||||
|
// Vérifier si le processus existe déjà
|
||||||
|
const existingProcess = await this.getExistingMessageProcess(
|
||||||
|
currentProcessId,
|
||||||
|
otherMembers[0].sp_addresses
|
||||||
|
);
|
||||||
|
|
||||||
|
if (existingProcess) {
|
||||||
|
console.log('✅ Process message déjà existant, réutilisation:', existingProcess);
|
||||||
|
return existingProcess;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Si non existant, créer un nouveau processus
|
||||||
|
console.log('🆕 Création d\'un nouveau processus message');
|
||||||
|
|
||||||
|
const messagingTemplate = {
|
||||||
|
parent_id: currentProcessId,
|
||||||
|
description: 'messaging',
|
||||||
|
roles: {
|
||||||
|
[roleName]: {
|
||||||
|
members: [
|
||||||
|
{ sp_addresses: myAddresses },
|
||||||
|
{ sp_addresses: otherMembers[0].sp_addresses }
|
||||||
|
],
|
||||||
|
validation_rules: [
|
||||||
|
{
|
||||||
|
quorum: 1.0,
|
||||||
|
fields: ['messages'],
|
||||||
|
min_sig_member: 1.0,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
storages: [storageUrl]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
console.log('📋 Template final:', JSON.stringify(messagingTemplate, null, 2));
|
||||||
|
console.log('👥 Création du process message comme enfant de:', currentProcessId);
|
||||||
|
|
||||||
const result = await this.sdkClient.create_new_process(
|
const result = await this.sdkClient.create_new_process(
|
||||||
JSON.stringify(messagingTemplate),
|
JSON.stringify(messagingTemplate),
|
||||||
currentProcessId,
|
currentProcessId,
|
||||||
@ -340,15 +340,25 @@ class ChatElement extends HTMLElement {
|
|||||||
);
|
);
|
||||||
console.log('✅ Process message créé:', result);
|
console.log('✅ Process message créé:', result);
|
||||||
|
|
||||||
// Vérification dans IndexedDB
|
|
||||||
const db = await Database.getInstance();
|
const db = await Database.getInstance();
|
||||||
const processStore = 'processes';
|
await db.addObject({
|
||||||
const storedProcess = await db.getObject(processStore, (result as any).process_id);
|
storeName: 'diffs',
|
||||||
console.log('💾 Process message stocké dans IndexedDB:', {
|
key: (result as any).process_id,
|
||||||
store: processStore,
|
object: {
|
||||||
processId: (result as any).process_id,
|
value_commitment: {
|
||||||
data: storedProcess
|
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) {
|
||||||
@ -388,7 +398,6 @@ class ChatElement extends HTMLElement {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Send a messsage
|
|
||||||
private async sendMessage() {
|
private async sendMessage() {
|
||||||
const messageInput = this.shadowRoot?.querySelector('#message-input') as HTMLInputElement;
|
const messageInput = this.shadowRoot?.querySelector('#message-input') as HTMLInputElement;
|
||||||
if (!messageInput || !this.selectedMemberId) return;
|
if (!messageInput || !this.selectedMemberId) return;
|
||||||
@ -416,14 +425,12 @@ class ChatElement extends HTMLElement {
|
|||||||
member.sp_addresses.includes(this.selectedMemberId)
|
member.sp_addresses.includes(this.selectedMemberId)
|
||||||
)
|
)
|
||||||
)?.[0] || 'default';
|
)?.[0] || 'default';
|
||||||
|
|
||||||
const messageTemplate = {
|
const messageTemplate = {
|
||||||
messaging_id: messageProcess.process_id,
|
messaging_id: this.getAttribute('process-id'),
|
||||||
description: 'message_content',
|
description: 'message_content',
|
||||||
state: 'sent',
|
state: 'sent',
|
||||||
content: {
|
content: {
|
||||||
text: messageText,
|
text: messageText,
|
||||||
timestamp: Date.now(),
|
|
||||||
sender: myAddresses[0],
|
sender: myAddresses[0],
|
||||||
recipient: this.selectedMemberId
|
recipient: this.selectedMemberId
|
||||||
},
|
},
|
||||||
|
Loading…
x
Reference in New Issue
Block a user