message_object_ok

This commit is contained in:
Pascal 2025-01-08 15:06:46 +01:00
parent 3ecbe0da24
commit 77dbde3129

View File

@ -225,7 +225,7 @@ class ChatElement extends HTMLElement {
} }
} }
public async createMessagingProcess(otherMembers: Member[],relayAddress: string, feeRate: number): Promise<ApiReturn> { public async createMessagingProcess(otherMembers: Member[], relayAddress: string, feeRate: number): Promise<ApiReturn> {
if (!this.isPaired()) { if (!this.isPaired()) {
throw new Error('Device not paired'); throw new Error('Device not paired');
} }
@ -238,49 +238,66 @@ class ChatElement extends HTMLElement {
const meAndOne = [{ sp_addresses: me }, otherMembers.pop()!]; const meAndOne = [{ sp_addresses: me }, otherMembers.pop()!];
const everyOneElse = otherMembers; const everyOneElse = otherMembers;
const messagingTemplate = { const messagingTemplate = {
description: 'messaging', process_id: crypto.randomUUID(),
roles: { description: 'messaging',
public: { messages: {
members: allMembers, state: 'initial',
validation_rules: [ object: {
{ type: 'message_list',
quorum: 0.0, content: [],
fields: ['description', 'roles'], content_type: {
min_sig_member: 0.0, allowed: ['text', 'file'],
}, default: 'text'
], },
storages: [storageUrl] metadata: {
created_at: Date.now(),
last_updated: Date.now()
}
}
}, },
owner: { roles: {
members: meAndOne, public: {
validation_rules: [ members: allMembers,
{ validation_rules: [
quorum: 1.0, {
fields: ['description', 'roles'], quorum: 0.0,
min_sig_member: 1.0, fields: ['description', 'roles', 'messages'],
min_sig_member: 0.0,
},
],
storages: [storageUrl]
}, },
], owner: {
storages: [storageUrl] members: meAndOne,
}, validation_rules: [
users: { {
members: everyOneElse, quorum: 1.0,
validation_rules: [ fields: ['description', 'roles', 'messages'],
{ min_sig_member: 1.0,
quorum: 0.0, },
fields: ['description', 'roles'], ],
min_sig_member: 0.0, storages: [storageUrl]
},
users: {
members: everyOneElse,
validation_rules: [
{
quorum: 0.0,
fields: ['description', 'roles', 'messages'],
min_sig_member: 0.0,
},
],
storages: [storageUrl]
}, },
],
storages: [storageUrl]
}, },
},
}; };
try { try {
return this.sdkClient.create_new_process(JSON.stringify(messagingTemplate), null, relayAddress, feeRate); return this.sdkClient.create_new_process(JSON.stringify(messagingTemplate), null, relayAddress, feeRate);
} catch (e) { } catch (e) {
throw new Error(`Creating process failed: ${e}`); throw new Error(`Creating process failed: ${e}`);
} }
} }
async getMemberFromDevice(): Promise<string[] | null> { async getMemberFromDevice(): Promise<string[] | null> {
try { try {