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()) {
|
||||
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();
|
||||
console.log('🔑 Mes adresses:', myAddresses);
|
||||
|
||||
if (!myAddresses) {
|
||||
throw new Error('No paired member found');
|
||||
}
|
||||
const messageContent = {
|
||||
text: '',
|
||||
timestamp: Date.now()
|
||||
};
|
||||
|
||||
const messagingTemplate = {
|
||||
process_id: crypto.randomUUID(),
|
||||
parent_id: null,
|
||||
parent_id: parentProcessId,
|
||||
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: {
|
||||
public: {
|
||||
members: allMembers,
|
||||
validation_rules: [
|
||||
{
|
||||
quorum: 0.0,
|
||||
fields: ['description', 'roles', 'messages'],
|
||||
min_sig_member: 0.0,
|
||||
},
|
||||
[roleName]: {
|
||||
members: [
|
||||
{ sp_addresses: myAddresses },
|
||||
{ sp_addresses: otherMembers[0].sp_addresses }
|
||||
],
|
||||
storages: [storageUrl]
|
||||
},
|
||||
owner: {
|
||||
members: meAndOne,
|
||||
validation_rules: [
|
||||
{
|
||||
quorum: 1.0,
|
||||
fields: ['description', 'roles', 'messages'],
|
||||
fields: ['messages'],
|
||||
min_sig_member: 1.0,
|
||||
},
|
||||
],
|
||||
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 {
|
||||
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) {
|
||||
console.error('❌ Erreur création process:', 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(
|
||||
[{ sp_addresses: [this.selectedMemberId] }],
|
||||
[{ sp_addresses: [this.selectedMemberId!] }],
|
||||
'relay_address',
|
||||
1
|
||||
1,
|
||||
this.processId || '',
|
||||
'default'
|
||||
);
|
||||
|
||||
await this.saveConversationProcessRef(this.selectedMemberId, messagingTemplate.process_id);
|
||||
@ -586,10 +563,15 @@ class ChatElement extends HTMLElement {
|
||||
sdkClientInitialized: !!this.sdkClient
|
||||
});
|
||||
|
||||
const roleName = roleElement.querySelector('.role-name')?.textContent || 'default';
|
||||
console.log('🎭 Role cliqué:', roleName);
|
||||
|
||||
const result = await this.createMessagingProcess(
|
||||
[member],
|
||||
'relay_address',
|
||||
1
|
||||
1,
|
||||
processId,
|
||||
roleName
|
||||
);
|
||||
|
||||
console.log('Messaging process created:', {
|
||||
@ -1088,9 +1070,8 @@ class ChatElement extends HTMLElement {
|
||||
return new Promise((resolve) => {
|
||||
// Logique d'initialisation du SDK
|
||||
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) => {
|
||||
// Implémentation de create_new_process
|
||||
return { success: true };
|
||||
}
|
||||
});
|
||||
|
Loading…
x
Reference in New Issue
Block a user