@@ -2,16 +2,27 @@ import Vue, { VNode, Component, PluginFunction } from 'vue'
2
2
3
3
export type StringNumber = string | number
4
4
5
- export type Rooms = Room [ ]
5
+ export interface UserStatus {
6
+ state : 'online' | 'offline'
7
+ lastChanged : string
8
+ }
6
9
7
- export interface Room {
8
- roomId : StringNumber
9
- roomName : string
10
- users : RoomUsers
11
- unreadCount ?: StringNumber
12
- index ?: StringNumber | Date
13
- lastMessage ?: LastMessage
14
- typingUsers ?: StringNumber [ ]
10
+ export interface RoomUser {
11
+ _id : StringNumber
12
+ username : string
13
+ avatar : string
14
+ status : UserStatus
15
+ }
16
+
17
+ export type RoomUsers = RoomUser [ ]
18
+
19
+ export interface MessageFile {
20
+ name : string
21
+ type : string
22
+ url : string
23
+ size ?: number
24
+ audio ?: boolean
25
+ duration ?: number
15
26
}
16
27
17
28
export interface LastMessage {
@@ -26,21 +37,22 @@ export interface LastMessage {
26
37
files ?: MessageFile [ ]
27
38
}
28
39
29
- export type RoomUsers = RoomUser [ ]
30
-
31
- export interface RoomUser {
32
- _id : StringNumber
33
- username : string
34
- avatar : string
35
- status : UserStatus
40
+ export interface Room {
41
+ roomId : StringNumber
42
+ roomName : string
43
+ avatar : String
44
+ users : RoomUsers
45
+ unreadCount ?: StringNumber
46
+ index ?: StringNumber | Date
47
+ lastMessage ?: LastMessage
48
+ typingUsers ?: StringNumber [ ]
36
49
}
37
50
38
- export interface UserStatus {
39
- state : 'online' | 'offline'
40
- lastChanged : string
41
- }
51
+ export type Rooms = Room [ ]
42
52
43
- export type Messages = Message [ ]
53
+ export interface MessageReactions {
54
+ [ key : string ] : StringNumber [ ]
55
+ }
44
56
45
57
export interface Message {
46
58
_id : StringNumber
@@ -59,18 +71,7 @@ export interface Message {
59
71
reactions : MessageReactions
60
72
}
61
73
62
- export interface MessageFile {
63
- name : string
64
- type : string
65
- url : string
66
- size ?: number
67
- audio ?: boolean
68
- duration ?: number
69
- }
70
-
71
- export interface MessageReactions {
72
- [ key : string ] : StringNumber [ ]
73
- }
74
+ export type Messages = Message [ ]
74
75
75
76
export interface CustomAction {
76
77
name : string
0 commit comments