@@ -25,125 +25,57 @@ class CachedChatRoom extends PrivateCachedCollection<IRoom> {
25
25
}
26
26
27
27
private mergeWithSubscription ( room : IRoom ) : IRoom {
28
- const sub = CachedChatSubscription . collection . state . find ( ( record ) => record . rid === room . _id ) ;
29
- if ( ! sub ) {
30
- return room ;
31
- }
32
-
33
- CachedChatSubscription . collection . update ( sub . _id , {
34
- ...sub ,
35
- encrypted : room . encrypted ,
36
- description : room . description ,
37
- cl : room . cl ,
38
- topic : room . topic ,
39
- announcement : room . announcement ,
40
- broadcast : room . broadcast ,
41
- archived : room . archived ,
42
- avatarETag : room . avatarETag ,
43
- retention : ( room as IRoomWithRetentionPolicy | undefined ) ?. retention ,
44
- uids : room . uids ,
45
- usernames : room . usernames ,
46
- usersCount : room . usersCount ,
47
- lastMessage : room . lastMessage ,
48
- teamId : room . teamId ,
49
- teamMain : room . teamMain ,
50
- v : ( room as IOmnichannelRoom | undefined ) ?. v ,
51
- transcriptRequest : ( room as IOmnichannelRoom | undefined ) ?. transcriptRequest ,
52
- servedBy : ( room as IOmnichannelRoom | undefined ) ?. servedBy ,
53
- onHold : ( room as IOmnichannelRoom | undefined ) ?. onHold ,
54
- tags : ( room as IOmnichannelRoom | undefined ) ?. tags ,
55
- closedAt : ( room as IOmnichannelRoom | undefined ) ?. closedAt ,
56
- metrics : ( room as IOmnichannelRoom | undefined ) ?. metrics ,
57
- muted : room . muted ,
58
- waitingResponse : ( room as IOmnichannelRoom | undefined ) ?. waitingResponse ,
59
- responseBy : ( room as IOmnichannelRoom | undefined ) ?. responseBy ,
60
- priorityId : ( room as IOmnichannelRoom | undefined ) ?. priorityId ,
61
- priorityWeight : ( room as IOmnichannelRoom | undefined ) ?. priorityWeight || LivechatPriorityWeight . NOT_SPECIFIED ,
62
- estimatedWaitingTimeQueue :
63
- ( room as IOmnichannelRoom | undefined ) ?. estimatedWaitingTimeQueue || DEFAULT_SLA_CONFIG . ESTIMATED_WAITING_TIME_QUEUE ,
64
- slaId : ( room as IOmnichannelRoom | undefined ) ?. slaId ,
65
- livechatData : ( room as IOmnichannelRoom | undefined ) ?. livechatData ,
66
- departmentId : ( room as IOmnichannelRoom | undefined ) ?. departmentId ,
67
- ts : room . ts ?? sub . ts ,
68
- source : ( room as IOmnichannelRoom | undefined ) ?. source ,
69
- queuedAt : ( room as IOmnichannelRoom | undefined ) ?. queuedAt ,
70
- federated : room . federated ,
71
- ...( ( ) => {
72
- const name = room . name || sub . name ;
73
- const fname = room . fname || sub . fname || name ;
74
- return {
75
- lowerCaseName : String ( ! room . prid ? name : fname ) . toLowerCase ( ) ,
76
- lowerCaseFName : String ( fname ) . toLowerCase ( ) ,
77
- } ;
78
- } ) ( ) ,
79
- lm : ( sub . lm ?. getTime ( ) ?? - 1 ) < ( room . lm ?. getTime ( ) ?? - 1 ) ? room . lm : sub . lm ,
80
- } ) ;
81
-
82
- // CachedChatSubscription.collection.update(
83
- // {
84
- // rid: room._id,
85
- // },
86
- // {
87
- // $set: {
88
- // encrypted: room.encrypted,
89
- // description: room.description,
90
- // cl: room.cl,
91
- // topic: room.topic,
92
- // announcement: room.announcement,
93
- // broadcast: room.broadcast,
94
- // archived: room.archived,
95
- // avatarETag: room.avatarETag,
96
- // retention: (room as IRoomWithRetentionPolicy | undefined)?.retention,
97
- // uids: room.uids,
98
- // usernames: room.usernames,
99
- // usersCount: room.usersCount,
100
- // lastMessage: room.lastMessage,
101
- // teamId: room.teamId,
102
- // teamMain: room.teamMain,
103
- // v: (room as IOmnichannelRoom | undefined)?.v,
104
- // transcriptRequest: (room as IOmnichannelRoom | undefined)?.transcriptRequest,
105
- // servedBy: (room as IOmnichannelRoom | undefined)?.servedBy,
106
- // onHold: (room as IOmnichannelRoom | undefined)?.onHold,
107
- // tags: (room as IOmnichannelRoom | undefined)?.tags,
108
- // closedAt: (room as IOmnichannelRoom | undefined)?.closedAt,
109
- // metrics: (room as IOmnichannelRoom | undefined)?.metrics,
110
- // muted: room.muted,
111
- // waitingResponse: (room as IOmnichannelRoom | undefined)?.waitingResponse,
112
- // responseBy: (room as IOmnichannelRoom | undefined)?.responseBy,
113
- // priorityId: (room as IOmnichannelRoom | undefined)?.priorityId,
114
- // priorityWeight: (room as IOmnichannelRoom | undefined)?.priorityWeight || LivechatPriorityWeight.NOT_SPECIFIED,
115
- // estimatedWaitingTimeQueue:
116
- // (room as IOmnichannelRoom | undefined)?.estimatedWaitingTimeQueue || DEFAULT_SLA_CONFIG.ESTIMATED_WAITING_TIME_QUEUE,
117
- // slaId: (room as IOmnichannelRoom | undefined)?.slaId,
118
- // livechatData: (room as IOmnichannelRoom | undefined)?.livechatData,
119
- // departmentId: (room as IOmnichannelRoom | undefined)?.departmentId,
120
- // ts: room.ts,
121
- // source: (room as IOmnichannelRoom | undefined)?.source,
122
- // queuedAt: (room as IOmnichannelRoom | undefined)?.queuedAt,
123
- // federated: room.federated,
124
- // ...(() => {
125
- // const name = room.name || sub.name;
126
- // const fname = room.fname || sub.fname || name;
127
- // return {
128
- // lowerCaseName: String(!room.prid ? name : fname).toLowerCase(),
129
- // lowerCaseFName: String(fname).toLowerCase(),
130
- // };
131
- // })(),
132
- // },
133
- // },
134
- // );
135
-
136
- // CachedChatSubscription.collection.update(
137
- // {
138
- // rid: room._id,
139
- // lm: { $lt: room.lm },
140
- // },
141
- // {
142
- // $set: {
143
- // lm: room.lm,
144
- // },
145
- // },
146
- // );
28
+ CachedChatSubscription . collection . store . update (
29
+ ( record ) => record . rid === room . _id ,
30
+ ( sub ) => ( {
31
+ ...sub ,
32
+ encrypted : room . encrypted ,
33
+ description : room . description ,
34
+ cl : room . cl ,
35
+ topic : room . topic ,
36
+ announcement : room . announcement ,
37
+ broadcast : room . broadcast ,
38
+ archived : room . archived ,
39
+ avatarETag : room . avatarETag ,
40
+ retention : ( room as IRoomWithRetentionPolicy | undefined ) ?. retention ,
41
+ uids : room . uids ,
42
+ usernames : room . usernames ,
43
+ usersCount : room . usersCount ,
44
+ lastMessage : room . lastMessage ,
45
+ teamId : room . teamId ,
46
+ teamMain : room . teamMain ,
47
+ v : ( room as IOmnichannelRoom | undefined ) ?. v ,
48
+ transcriptRequest : ( room as IOmnichannelRoom | undefined ) ?. transcriptRequest ,
49
+ servedBy : ( room as IOmnichannelRoom | undefined ) ?. servedBy ,
50
+ onHold : ( room as IOmnichannelRoom | undefined ) ?. onHold ,
51
+ tags : ( room as IOmnichannelRoom | undefined ) ?. tags ,
52
+ closedAt : ( room as IOmnichannelRoom | undefined ) ?. closedAt ,
53
+ metrics : ( room as IOmnichannelRoom | undefined ) ?. metrics ,
54
+ muted : room . muted ,
55
+ waitingResponse : ( room as IOmnichannelRoom | undefined ) ?. waitingResponse ,
56
+ responseBy : ( room as IOmnichannelRoom | undefined ) ?. responseBy ,
57
+ priorityId : ( room as IOmnichannelRoom | undefined ) ?. priorityId ,
58
+ priorityWeight : ( room as IOmnichannelRoom | undefined ) ?. priorityWeight || LivechatPriorityWeight . NOT_SPECIFIED ,
59
+ estimatedWaitingTimeQueue :
60
+ ( room as IOmnichannelRoom | undefined ) ?. estimatedWaitingTimeQueue || DEFAULT_SLA_CONFIG . ESTIMATED_WAITING_TIME_QUEUE ,
61
+ slaId : ( room as IOmnichannelRoom | undefined ) ?. slaId ,
62
+ livechatData : ( room as IOmnichannelRoom | undefined ) ?. livechatData ,
63
+ departmentId : ( room as IOmnichannelRoom | undefined ) ?. departmentId ,
64
+ ts : room . ts ?? sub . ts ,
65
+ source : ( room as IOmnichannelRoom | undefined ) ?. source ,
66
+ queuedAt : ( room as IOmnichannelRoom | undefined ) ?. queuedAt ,
67
+ federated : room . federated ,
68
+ ...( ( ) => {
69
+ const name = room . name || sub . name ;
70
+ const fname = room . fname || sub . fname || name ;
71
+ return {
72
+ lowerCaseName : String ( ! room . prid ? name : fname ) . toLowerCase ( ) ,
73
+ lowerCaseFName : String ( fname ) . toLowerCase ( ) ,
74
+ } ;
75
+ } ) ( ) ,
76
+ lm : ( sub . lm ?. getTime ( ) ?? - 1 ) < ( room . lm ?. getTime ( ) ?? - 1 ) ? room . lm : sub . lm ,
77
+ } ) ,
78
+ ) ;
147
79
148
80
return room ;
149
81
}
0 commit comments