template_process_message_ok
This commit is contained in:
parent
37e69790d9
commit
ff911edf49
@ -265,92 +265,63 @@ class ChatElement extends HTMLElement {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public async createMessagingProcess(otherMembers: Member[], relayAddress: string, feeRate: number): Promise<ApiReturn> {
|
public async createMessagingProcess(
|
||||||
|
otherMembers: Member[],
|
||||||
|
relayAddress: string,
|
||||||
|
feeRate: number,
|
||||||
|
parentProcessId: string,
|
||||||
|
roleName: string
|
||||||
|
): Promise<ApiReturn> {
|
||||||
|
console.log('🚀 Début createMessagingProcess');
|
||||||
|
console.log('📝 Parent Process ID:', parentProcessId);
|
||||||
|
console.log('👥 Other Member:', otherMembers[0]);
|
||||||
|
console.log('👑 Role Name:', roleName);
|
||||||
|
|
||||||
if (!this.isPaired()) {
|
if (!this.isPaired()) {
|
||||||
throw new Error('Device not paired');
|
throw new Error('Device not paired');
|
||||||
}
|
}
|
||||||
const me = await this.getMemberFromDevice();
|
|
||||||
console.log('My SP addresses:', me);
|
|
||||||
if (!me) {
|
|
||||||
throw new Error('No paired member in device');
|
|
||||||
}
|
|
||||||
const allMembers: Member[] = otherMembers;
|
|
||||||
allMembers.push({ sp_addresses: me });
|
|
||||||
const meAndOne = [{ sp_addresses: me }, otherMembers.pop()!];
|
|
||||||
const everyOneElse = otherMembers;
|
|
||||||
const myAddresses = await this.getMemberFromDevice();
|
const myAddresses = await this.getMemberFromDevice();
|
||||||
|
console.log('🔑 Mes adresses:', myAddresses);
|
||||||
|
|
||||||
if (!myAddresses) {
|
if (!myAddresses) {
|
||||||
throw new Error('No paired member found');
|
throw new Error('No paired member found');
|
||||||
}
|
}
|
||||||
const messageContent = {
|
|
||||||
text: '',
|
|
||||||
timestamp: Date.now()
|
|
||||||
};
|
|
||||||
const messagingTemplate = {
|
const messagingTemplate = {
|
||||||
process_id: crypto.randomUUID(),
|
parent_id: parentProcessId,
|
||||||
parent_id: null,
|
|
||||||
description: 'messaging',
|
description: 'messaging',
|
||||||
messages: {
|
|
||||||
state: 'initial',
|
|
||||||
object: {
|
|
||||||
type: 'message_list',
|
|
||||||
content: [
|
|
||||||
{
|
|
||||||
text: messageContent.text,
|
|
||||||
timestamp: Date.now(),
|
|
||||||
sender: myAddresses[0]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
content_type: {
|
|
||||||
allowed: ['text', 'file'],
|
|
||||||
default: 'text'
|
|
||||||
},
|
|
||||||
metadata: {
|
|
||||||
created_at: Date.now(),
|
|
||||||
last_updated: Date.now()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
roles: {
|
roles: {
|
||||||
public: {
|
[roleName]: {
|
||||||
members: allMembers,
|
members: [
|
||||||
validation_rules: [
|
{ sp_addresses: myAddresses },
|
||||||
{
|
{ sp_addresses: otherMembers[0].sp_addresses }
|
||||||
quorum: 0.0,
|
|
||||||
fields: ['description', 'roles', 'messages'],
|
|
||||||
min_sig_member: 0.0,
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
storages: [storageUrl]
|
|
||||||
},
|
|
||||||
owner: {
|
|
||||||
members: meAndOne,
|
|
||||||
validation_rules: [
|
validation_rules: [
|
||||||
{
|
{
|
||||||
quorum: 1.0,
|
quorum: 1.0,
|
||||||
fields: ['description', 'roles', 'messages'],
|
fields: ['messages'],
|
||||||
min_sig_member: 1.0,
|
min_sig_member: 1.0,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
storages: [storageUrl]
|
storages: [storageUrl]
|
||||||
},
|
}
|
||||||
users: {
|
}
|
||||||
members: everyOneElse,
|
|
||||||
validation_rules: [
|
|
||||||
{
|
|
||||||
quorum: 0.0,
|
|
||||||
fields: ['description', 'roles', 'messages'],
|
|
||||||
min_sig_member: 0.0,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
storages: [storageUrl]
|
|
||||||
},
|
|
||||||
},
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
console.log('📋 Template final:', JSON.stringify(messagingTemplate, null, 2));
|
||||||
|
|
||||||
try {
|
try {
|
||||||
return this.sdkClient.create_new_process(JSON.stringify(messagingTemplate), null, relayAddress, feeRate);
|
const result = await this.sdkClient.create_new_process(
|
||||||
|
JSON.stringify(messagingTemplate),
|
||||||
|
parentProcessId,
|
||||||
|
relayAddress,
|
||||||
|
feeRate
|
||||||
|
);
|
||||||
|
console.log('✅ Résultat création process:', result);
|
||||||
|
return result;
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
|
console.error('❌ Erreur création process:', e);
|
||||||
throw new Error(`Creating process failed: ${e}`);
|
throw new Error(`Creating process failed: ${e}`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -468,10 +439,16 @@ class ChatElement extends HTMLElement {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const groupItem = this.shadowRoot?.querySelector('[data-process-id]');
|
||||||
|
const parentProcessId = groupItem?.getAttribute('data-process-id') || '';
|
||||||
|
const roleName = 'default';
|
||||||
|
|
||||||
const result = await this.createMessagingProcess(
|
const result = await this.createMessagingProcess(
|
||||||
[{ sp_addresses: [this.selectedMemberId] }],
|
[{ sp_addresses: [this.selectedMemberId!] }],
|
||||||
'relay_address',
|
'relay_address',
|
||||||
1
|
1,
|
||||||
|
this.processId || '',
|
||||||
|
'default'
|
||||||
);
|
);
|
||||||
|
|
||||||
await this.saveConversationProcessRef(this.selectedMemberId, messagingTemplate.process_id);
|
await this.saveConversationProcessRef(this.selectedMemberId, messagingTemplate.process_id);
|
||||||
@ -586,10 +563,15 @@ class ChatElement extends HTMLElement {
|
|||||||
sdkClientInitialized: !!this.sdkClient
|
sdkClientInitialized: !!this.sdkClient
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const roleName = roleElement.querySelector('.role-name')?.textContent || 'default';
|
||||||
|
console.log('🎭 Role cliqué:', roleName);
|
||||||
|
|
||||||
const result = await this.createMessagingProcess(
|
const result = await this.createMessagingProcess(
|
||||||
[member],
|
[member],
|
||||||
'relay_address',
|
'relay_address',
|
||||||
1
|
1,
|
||||||
|
processId,
|
||||||
|
roleName
|
||||||
);
|
);
|
||||||
|
|
||||||
console.log('Messaging process created:', {
|
console.log('Messaging process created:', {
|
||||||
@ -1088,9 +1070,8 @@ class ChatElement extends HTMLElement {
|
|||||||
return new Promise((resolve) => {
|
return new Promise((resolve) => {
|
||||||
// Logique d'initialisation du SDK
|
// Logique d'initialisation du SDK
|
||||||
resolve({
|
resolve({
|
||||||
is_paired: () => true, // Valeur par défaut pour le test
|
is_paired: () => true,
|
||||||
create_new_process: async (template: string, parentId: string | null, relayAddress: string, feeRate: number) => {
|
create_new_process: async (template: string, parentId: string | null, relayAddress: string, feeRate: number) => {
|
||||||
// Implémentation de create_new_process
|
|
||||||
return { success: true };
|
return { success: true };
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user