Skip to content

Commit 17dd080

Browse files
committed
streamline message related types
1 parent 6076931 commit 17dd080

File tree

4 files changed

+40
-11
lines changed

4 files changed

+40
-11
lines changed

packages/js-sdk/src/conversation/types.ts

+1-5
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,7 @@ import {
33
DeliveryServiceProfile,
44
getAccountDisplayName,
55
} from '@dm3-org/dm3-lib-profile';
6-
7-
class Messages {
8-
public readonly list: string[];
9-
public addMessage(message: string) {}
10-
}
6+
import { Messages } from '../message/Messages';
117

128
export interface Contact {
139
name: string;

packages/js-sdk/src/message/Messages.ts

+1-5
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ import { encryptAsymmetric } from '@dm3-org/dm3-lib-crypto';
22
import {
33
buildEnvelop,
44
EncryptionEnvelop,
5-
Envelop,
65
getEnvelopSize,
76
Message,
87
MessageState,
@@ -13,10 +12,7 @@ import {
1312
ProfileKeys,
1413
} from '@dm3-org/dm3-lib-profile';
1514
import { sha256, stringify } from '@dm3-org/dm3-lib-shared';
16-
import {
17-
StorageAPI,
18-
StorageEnvelopContainer as StorageEnvelopContainerNew,
19-
} from '@dm3-org/dm3-lib-storage';
15+
import { StorageAPI } from '@dm3-org/dm3-lib-storage';
2016
import { submitEnvelopsToReceiversDs } from '../api/ds/submitEnvelopsToReceiversDs';
2117
import { Conversations } from '../conversation/Conversations';
2218
import { Contact } from '../conversation/types';

packages/js-sdk/src/message/renderer/renderMessage.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { MessageModel } from '../Messages';
1+
import { MessageModel } from '../types';
22
import { renderDelete } from './messageTypes/renderDelete';
33
import { renderDuplicates } from './messageTypes/renderDuplicates';
44
import { renderEdit } from './messageTypes/renderEdit';

packages/js-sdk/src/message/types.ts

+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
import { Envelop } from '@dm3-org/dm3-lib-messaging';
2+
import {
3+
StorageAPI,
4+
StorageEnvelopContainer as StorageEnvelopContainerNew,
5+
} from '@dm3-org/dm3-lib-storage';
6+
export enum MessageActionType {
7+
NEW = 'NEW',
8+
EDIT = 'EDIT',
9+
DELETE = 'DELETE_REQUEST',
10+
REPLY = 'REPLY',
11+
REACT = 'REACTION',
12+
NONE = 'NONE',
13+
}
14+
15+
export enum MessageIndicator {
16+
SENT = 'SENT',
17+
RECEIVED = 'RECEIVED',
18+
READED = 'READED',
19+
}
20+
//Message source to identify where a message comes from. This is important to handle pagination of storage messages properly
21+
export enum MessageSource {
22+
//Messages added by the client via addMessage
23+
Client,
24+
//Messages fetched from the storage
25+
Storage,
26+
//Messages fetched from the deliveryService
27+
DeliveryService,
28+
//Messages received from the Websocket
29+
WebSocket,
30+
}
31+
32+
export type MessageModel = StorageEnvelopContainerNew & {
33+
reactions: Envelop[];
34+
replyToMessageEnvelop?: Envelop;
35+
source: MessageSource;
36+
indicator?: MessageIndicator;
37+
};

0 commit comments

Comments
 (0)