polfan-server-js-client 0.1.59 → 0.1.92

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (301) hide show
  1. package/.idea/vcs.xml +1 -0
  2. package/build/index.js +174 -99
  3. package/build/index.js.map +1 -1
  4. package/build/types/AbstractChatClient.d.ts +14 -4
  5. package/build/types/Permissions.d.ts +4 -0
  6. package/build/types/state-tracker/MessagesManager.d.ts +16 -10
  7. package/build/types/state-tracker/RoomsManager.d.ts +1 -0
  8. package/build/types/types/dist/index.d.ts +1 -0
  9. package/build/types/types/dist/schemes/AckReport.d.ts +1 -0
  10. package/build/types/types/dist/schemes/ChatLocation.d.ts +1 -0
  11. package/build/types/types/dist/schemes/Envelope.d.ts +1 -0
  12. package/build/types/types/dist/schemes/FollowedTopic.d.ts +1 -0
  13. package/build/types/types/dist/schemes/Message.d.ts +1 -0
  14. package/build/types/types/dist/schemes/PermissionOverwritesValue.d.ts +1 -0
  15. package/build/types/types/dist/schemes/Role.d.ts +1 -0
  16. package/build/types/types/dist/schemes/Room.d.ts +1 -0
  17. package/build/types/types/dist/schemes/RoomMember.d.ts +1 -0
  18. package/build/types/types/dist/schemes/RoomSummary.d.ts +1 -0
  19. package/build/types/types/dist/schemes/Space.d.ts +1 -0
  20. package/build/types/types/dist/schemes/SpaceMember.d.ts +1 -0
  21. package/build/types/types/dist/schemes/Topic.d.ts +1 -0
  22. package/build/types/types/dist/schemes/User.d.ts +1 -0
  23. package/build/types/types/dist/schemes/UserState.d.ts +1 -0
  24. package/build/types/types/dist/schemes/commands/Ack.d.ts +1 -0
  25. package/build/types/types/dist/schemes/commands/AssignRole.d.ts +1 -0
  26. package/build/types/types/dist/schemes/commands/CreateMessage.d.ts +1 -0
  27. package/build/types/types/dist/schemes/commands/CreateOwner.d.ts +1 -0
  28. package/build/types/types/dist/schemes/commands/CreateRole.d.ts +1 -0
  29. package/build/types/types/dist/schemes/commands/CreateRoom.d.ts +1 -0
  30. package/build/types/types/dist/schemes/commands/CreateSpace.d.ts +1 -0
  31. package/build/types/types/dist/schemes/commands/CreateTopic.d.ts +1 -0
  32. package/build/types/types/dist/schemes/commands/DeassignRole.d.ts +1 -0
  33. package/build/types/types/dist/schemes/commands/DeleteOwner.d.ts +1 -0
  34. package/build/types/types/dist/schemes/commands/DeleteRole.d.ts +1 -0
  35. package/build/types/types/dist/schemes/commands/DeleteRoom.d.ts +1 -0
  36. package/build/types/types/dist/schemes/commands/DeleteSpace.d.ts +1 -0
  37. package/build/types/types/dist/schemes/commands/DeleteTopic.d.ts +1 -0
  38. package/build/types/types/dist/schemes/commands/FollowTopic.d.ts +1 -0
  39. package/build/types/types/dist/schemes/commands/GetAckReports.d.ts +1 -0
  40. package/build/types/types/dist/schemes/commands/GetComputedPermissions.d.ts +1 -0
  41. package/build/types/types/dist/schemes/commands/GetFollowedTopics.d.ts +1 -0
  42. package/build/types/types/dist/schemes/commands/GetOwners.d.ts +1 -0
  43. package/build/types/types/dist/schemes/commands/GetPermissionOverwriteTargets.d.ts +1 -0
  44. package/build/types/types/dist/schemes/commands/GetPermissionOverwrites.d.ts +1 -0
  45. package/build/types/types/dist/schemes/commands/GetRoomMembers.d.ts +1 -0
  46. package/build/types/types/dist/schemes/commands/GetSession.d.ts +1 -0
  47. package/build/types/types/dist/schemes/commands/GetSpaceMembers.d.ts +1 -0
  48. package/build/types/types/dist/schemes/commands/GetSpaceRooms.d.ts +1 -0
  49. package/build/types/types/dist/schemes/commands/JoinRoom.d.ts +1 -0
  50. package/build/types/types/dist/schemes/commands/JoinSpace.d.ts +1 -0
  51. package/build/types/types/dist/schemes/commands/LeaveRoom.d.ts +1 -0
  52. package/build/types/types/dist/schemes/commands/LeaveSpace.d.ts +1 -0
  53. package/build/types/types/dist/schemes/commands/SetPermissionOverwrites.d.ts +1 -0
  54. package/build/types/types/dist/schemes/commands/UnfollowTopic.d.ts +1 -0
  55. package/build/types/types/dist/schemes/commands/UpdateRole.d.ts +1 -0
  56. package/build/types/types/dist/schemes/commands/UpdateRoom.d.ts +1 -0
  57. package/build/types/types/dist/schemes/commands/UpdateSpace.d.ts +1 -0
  58. package/build/types/types/dist/schemes/events/AckReports.d.ts +1 -0
  59. package/build/types/types/dist/schemes/events/Bye.d.ts +1 -0
  60. package/build/types/types/dist/schemes/events/ComputedPermissions.d.ts +1 -0
  61. package/build/types/types/dist/schemes/events/Error.d.ts +1 -0
  62. package/build/types/types/dist/schemes/events/FollowedTopics.d.ts +1 -0
  63. package/build/types/types/dist/schemes/events/NewMessage.d.ts +1 -0
  64. package/build/types/types/dist/schemes/events/NewRole.d.ts +1 -0
  65. package/build/types/types/dist/schemes/events/NewRoom.d.ts +1 -0
  66. package/build/types/types/dist/schemes/events/NewTopic.d.ts +1 -0
  67. package/build/types/types/dist/schemes/events/Ok.d.ts +1 -0
  68. package/build/types/types/dist/schemes/events/Owners.d.ts +1 -0
  69. package/build/types/types/dist/schemes/events/PermissionOverwriteTargets.d.ts +1 -0
  70. package/build/types/types/dist/schemes/events/PermissionOverwrites.d.ts +1 -0
  71. package/build/types/types/dist/schemes/events/PermissionOverwritesUpdated.d.ts +1 -0
  72. package/build/types/types/dist/schemes/events/RoleDeleted.d.ts +1 -0
  73. package/build/types/types/dist/schemes/events/RoleUpdated.d.ts +1 -0
  74. package/build/types/types/dist/schemes/events/RoomDeleted.d.ts +1 -0
  75. package/build/types/types/dist/schemes/events/RoomJoined.d.ts +1 -0
  76. package/build/types/types/dist/schemes/events/RoomLeft.d.ts +1 -0
  77. package/build/types/types/dist/schemes/events/RoomMemberJoined.d.ts +1 -0
  78. package/build/types/types/dist/schemes/events/RoomMemberLeft.d.ts +1 -0
  79. package/build/types/types/dist/schemes/events/RoomMemberUpdated.d.ts +1 -0
  80. package/build/types/types/dist/schemes/events/RoomMembers.d.ts +1 -0
  81. package/build/types/types/dist/schemes/events/RoomUpdated.d.ts +1 -0
  82. package/build/types/types/dist/schemes/events/Session.d.ts +1 -0
  83. package/build/types/types/dist/schemes/events/SpaceDeleted.d.ts +1 -0
  84. package/build/types/types/dist/schemes/events/SpaceJoined.d.ts +1 -0
  85. package/build/types/types/dist/schemes/events/SpaceLeft.d.ts +1 -0
  86. package/build/types/types/dist/schemes/events/SpaceMemberJoined.d.ts +1 -0
  87. package/build/types/types/dist/schemes/events/SpaceMemberLeft.d.ts +1 -0
  88. package/build/types/types/dist/schemes/events/SpaceMemberUpdated.d.ts +1 -0
  89. package/build/types/types/dist/schemes/events/SpaceMembers.d.ts +1 -0
  90. package/build/types/types/dist/schemes/events/SpaceRooms.d.ts +1 -0
  91. package/build/types/types/dist/schemes/events/SpaceUpdated.d.ts +1 -0
  92. package/build/types/types/dist/schemes/events/TopicDeleted.d.ts +1 -0
  93. package/build/types/types/dist/schemes/events/TopicFollowed.d.ts +1 -0
  94. package/build/types/types/dist/schemes/events/TopicUnfollowed.d.ts +1 -0
  95. package/build/types/types/dist/schemes/events/UserUpdated.d.ts +1 -0
  96. package/build/types/types/src/index.d.ts +9 -4
  97. package/build/types/types/src/schemes/FollowedTopic.d.ts +7 -0
  98. package/build/types/types/src/schemes/Room.d.ts +1 -1
  99. package/build/types/types/src/schemes/Topic.d.ts +5 -1
  100. package/build/types/types/src/schemes/commands/CreateTopic.d.ts +2 -2
  101. package/build/types/types/src/schemes/commands/FollowTopic.d.ts +4 -0
  102. package/build/types/types/src/schemes/commands/GetFollowedTopics.d.ts +4 -0
  103. package/build/types/types/src/schemes/commands/UnfollowTopic.d.ts +4 -0
  104. package/build/types/types/src/schemes/events/FollowedTopics.d.ts +4 -0
  105. package/build/types/types/src/schemes/events/TopicFollowed.d.ts +4 -0
  106. package/build/types/types/src/schemes/events/TopicUnfollowed.d.ts +4 -0
  107. package/package.json +1 -1
  108. package/src/AbstractChatClient.ts +13 -5
  109. package/src/Permissions.ts +8 -7
  110. package/src/state-tracker/MessagesManager.ts +113 -57
  111. package/src/state-tracker/RoomsManager.ts +15 -0
  112. package/src/types/dist/index.d.ts +87 -0
  113. package/src/types/dist/index.js +2 -0
  114. package/src/types/dist/schemes/AckReport.js +2 -0
  115. package/src/types/dist/schemes/ChatLocation.d.ts +5 -0
  116. package/src/types/dist/schemes/ChatLocation.js +2 -0
  117. package/src/types/dist/schemes/Envelope.d.ts +5 -0
  118. package/src/types/dist/schemes/Envelope.js +2 -0
  119. package/src/types/dist/schemes/FollowedTopic.d.ts +7 -0
  120. package/src/types/dist/schemes/FollowedTopic.js +2 -0
  121. package/src/types/dist/schemes/Message.d.ts +7 -0
  122. package/src/types/dist/schemes/Message.js +2 -0
  123. package/src/types/dist/schemes/PermissionOverwritesValue.d.ts +4 -0
  124. package/src/types/dist/schemes/PermissionOverwritesValue.js +2 -0
  125. package/src/types/dist/schemes/Role.d.ts +6 -0
  126. package/src/types/dist/schemes/Role.js +2 -0
  127. package/src/types/dist/schemes/Room.d.ts +10 -0
  128. package/src/types/dist/schemes/Room.js +2 -0
  129. package/src/types/dist/schemes/RoomMember.d.ts +7 -0
  130. package/src/types/dist/schemes/RoomMember.js +2 -0
  131. package/src/types/dist/schemes/RoomSummary.d.ts +5 -0
  132. package/src/types/dist/schemes/RoomSummary.js +2 -0
  133. package/src/types/dist/schemes/Space.d.ts +6 -0
  134. package/src/types/dist/schemes/Space.js +2 -0
  135. package/src/types/dist/schemes/SpaceMember.d.ts +5 -0
  136. package/src/types/dist/schemes/SpaceMember.js +2 -0
  137. package/src/types/dist/schemes/Topic.d.ts +9 -0
  138. package/src/types/dist/schemes/Topic.js +2 -0
  139. package/src/types/dist/schemes/User.d.ts +8 -0
  140. package/src/types/dist/schemes/User.js +2 -0
  141. package/src/types/dist/schemes/UserState.d.ts +6 -0
  142. package/src/types/dist/schemes/UserState.js +2 -0
  143. package/src/types/dist/schemes/commands/Ack.d.ts +5 -0
  144. package/src/types/dist/schemes/commands/Ack.js +2 -0
  145. package/src/types/dist/schemes/commands/AssignRole.d.ts +6 -0
  146. package/src/types/dist/schemes/commands/AssignRole.js +2 -0
  147. package/src/types/dist/schemes/commands/CreateMessage.d.ts +5 -0
  148. package/src/types/dist/schemes/commands/CreateMessage.js +2 -0
  149. package/src/types/dist/schemes/commands/CreateOwner.d.ts +5 -0
  150. package/src/types/dist/schemes/commands/CreateOwner.js +2 -0
  151. package/src/types/dist/schemes/commands/CreateRole.d.ts +5 -0
  152. package/src/types/dist/schemes/commands/CreateRole.js +2 -0
  153. package/src/types/dist/schemes/commands/CreateRoom.d.ts +7 -0
  154. package/src/types/dist/schemes/commands/CreateRoom.js +2 -0
  155. package/src/types/dist/schemes/commands/CreateSpace.d.ts +3 -0
  156. package/src/types/dist/schemes/commands/CreateSpace.js +2 -0
  157. package/src/types/dist/schemes/commands/CreateTopic.d.ts +12 -0
  158. package/src/types/dist/schemes/commands/CreateTopic.js +2 -0
  159. package/src/types/dist/schemes/commands/DeassignRole.d.ts +6 -0
  160. package/src/types/dist/schemes/commands/DeassignRole.js +2 -0
  161. package/src/types/dist/schemes/commands/DeleteOwner.d.ts +5 -0
  162. package/src/types/dist/schemes/commands/DeleteOwner.js +2 -0
  163. package/src/types/dist/schemes/commands/DeleteRole.d.ts +4 -0
  164. package/src/types/dist/schemes/commands/DeleteRole.js +2 -0
  165. package/src/types/dist/schemes/commands/DeleteRoom.d.ts +3 -0
  166. package/src/types/dist/schemes/commands/DeleteRoom.js +2 -0
  167. package/src/types/dist/schemes/commands/DeleteSpace.d.ts +3 -0
  168. package/src/types/dist/schemes/commands/DeleteSpace.js +2 -0
  169. package/src/types/dist/schemes/commands/DeleteTopic.d.ts +4 -0
  170. package/src/types/dist/schemes/commands/DeleteTopic.js +2 -0
  171. package/src/types/dist/schemes/commands/FollowTopic.d.ts +4 -0
  172. package/src/types/dist/schemes/commands/FollowTopic.js +2 -0
  173. package/src/types/dist/schemes/commands/GetAckReports.js +2 -0
  174. package/src/types/dist/schemes/commands/GetComputedPermissions.d.ts +4 -0
  175. package/src/types/dist/schemes/commands/GetComputedPermissions.js +2 -0
  176. package/src/types/dist/schemes/commands/GetFollowedTopics.d.ts +4 -0
  177. package/src/types/dist/schemes/commands/GetFollowedTopics.js +2 -0
  178. package/src/types/dist/schemes/commands/GetOwners.d.ts +4 -0
  179. package/src/types/dist/schemes/commands/GetOwners.js +2 -0
  180. package/src/types/dist/schemes/commands/GetPermissionOverwriteTargets.d.ts +4 -0
  181. package/src/types/dist/schemes/commands/GetPermissionOverwriteTargets.js +2 -0
  182. package/src/types/dist/schemes/commands/GetPermissionOverwrites.d.ts +6 -0
  183. package/src/types/dist/schemes/commands/GetPermissionOverwrites.js +2 -0
  184. package/src/types/dist/schemes/commands/GetRoomMembers.d.ts +3 -0
  185. package/src/types/dist/schemes/commands/GetRoomMembers.js +2 -0
  186. package/src/types/dist/schemes/commands/GetSession.d.ts +2 -0
  187. package/src/types/dist/schemes/commands/GetSession.js +2 -0
  188. package/src/types/dist/schemes/commands/GetSpaceMembers.d.ts +3 -0
  189. package/src/types/dist/schemes/commands/GetSpaceMembers.js +2 -0
  190. package/src/types/dist/schemes/commands/GetSpaceRooms.d.ts +3 -0
  191. package/src/types/dist/schemes/commands/GetSpaceRooms.js +2 -0
  192. package/src/types/dist/schemes/commands/JoinRoom.d.ts +3 -0
  193. package/src/types/dist/schemes/commands/JoinRoom.js +2 -0
  194. package/src/types/dist/schemes/commands/JoinSpace.d.ts +3 -0
  195. package/src/types/dist/schemes/commands/JoinSpace.js +2 -0
  196. package/src/types/dist/schemes/commands/LeaveRoom.d.ts +3 -0
  197. package/src/types/dist/schemes/commands/LeaveRoom.js +2 -0
  198. package/src/types/dist/schemes/commands/LeaveSpace.d.ts +3 -0
  199. package/src/types/dist/schemes/commands/LeaveSpace.js +2 -0
  200. package/src/types/dist/schemes/commands/SetPermissionOverwrites.d.ts +8 -0
  201. package/src/types/dist/schemes/commands/SetPermissionOverwrites.js +2 -0
  202. package/src/types/dist/schemes/commands/UnfollowTopic.d.ts +4 -0
  203. package/src/types/dist/schemes/commands/UnfollowTopic.js +2 -0
  204. package/src/types/dist/schemes/commands/UpdateRole.d.ts +7 -0
  205. package/src/types/dist/schemes/commands/UpdateRole.js +2 -0
  206. package/src/types/dist/schemes/commands/UpdateRoom.d.ts +5 -0
  207. package/src/types/dist/schemes/commands/UpdateRoom.js +2 -0
  208. package/src/types/dist/schemes/commands/UpdateSpace.d.ts +4 -0
  209. package/src/types/dist/schemes/commands/UpdateSpace.js +2 -0
  210. package/src/types/dist/schemes/events/AckReports.d.ts +4 -0
  211. package/src/types/dist/schemes/events/AckReports.js +2 -0
  212. package/src/types/dist/schemes/events/Bye.d.ts +3 -0
  213. package/src/types/dist/schemes/events/Bye.js +2 -0
  214. package/src/types/dist/schemes/events/ComputedPermissions.d.ts +5 -0
  215. package/src/types/dist/schemes/events/ComputedPermissions.js +2 -0
  216. package/src/types/dist/schemes/events/Error.d.ts +4 -0
  217. package/src/types/dist/schemes/events/Error.js +2 -0
  218. package/src/types/dist/schemes/events/FollowedTopics.d.ts +4 -0
  219. package/src/types/dist/schemes/events/FollowedTopics.js +2 -0
  220. package/src/types/dist/schemes/events/NewMessage.d.ts +6 -0
  221. package/src/types/dist/schemes/events/NewMessage.js +2 -0
  222. package/src/types/dist/schemes/events/NewRole.d.ts +5 -0
  223. package/src/types/dist/schemes/events/NewRole.js +2 -0
  224. package/src/types/dist/schemes/events/NewRoom.d.ts +5 -0
  225. package/src/types/dist/schemes/events/NewRoom.js +2 -0
  226. package/src/types/dist/schemes/events/NewTopic.d.ts +5 -0
  227. package/src/types/dist/schemes/events/NewTopic.js +2 -0
  228. package/src/types/dist/schemes/events/Ok.d.ts +2 -0
  229. package/src/types/dist/schemes/events/Ok.js +2 -0
  230. package/src/types/dist/schemes/events/Owners.d.ts +8 -0
  231. package/src/types/dist/schemes/events/Owners.js +2 -0
  232. package/src/types/dist/schemes/events/PermissionOverwriteTargets.d.ts +10 -0
  233. package/src/types/dist/schemes/events/PermissionOverwriteTargets.js +2 -0
  234. package/src/types/dist/schemes/events/PermissionOverwrites.d.ts +8 -0
  235. package/src/types/dist/schemes/events/PermissionOverwrites.js +2 -0
  236. package/src/types/dist/schemes/events/PermissionOverwritesUpdated.d.ts +8 -0
  237. package/src/types/dist/schemes/events/PermissionOverwritesUpdated.js +2 -0
  238. package/src/types/dist/schemes/events/RoleDeleted.d.ts +4 -0
  239. package/src/types/dist/schemes/events/RoleDeleted.js +2 -0
  240. package/src/types/dist/schemes/events/RoleUpdated.d.ts +5 -0
  241. package/src/types/dist/schemes/events/RoleUpdated.js +2 -0
  242. package/src/types/dist/schemes/events/RoomDeleted.d.ts +3 -0
  243. package/src/types/dist/schemes/events/RoomDeleted.js +2 -0
  244. package/src/types/dist/schemes/events/RoomJoined.d.ts +4 -0
  245. package/src/types/dist/schemes/events/RoomJoined.js +2 -0
  246. package/src/types/dist/schemes/events/RoomLeft.d.ts +3 -0
  247. package/src/types/dist/schemes/events/RoomLeft.js +2 -0
  248. package/src/types/dist/schemes/events/RoomMemberJoined.d.ts +5 -0
  249. package/src/types/dist/schemes/events/RoomMemberJoined.js +2 -0
  250. package/src/types/dist/schemes/events/RoomMemberLeft.d.ts +4 -0
  251. package/src/types/dist/schemes/events/RoomMemberLeft.js +2 -0
  252. package/src/types/dist/schemes/events/RoomMemberUpdated.d.ts +6 -0
  253. package/src/types/dist/schemes/events/RoomMemberUpdated.js +2 -0
  254. package/src/types/dist/schemes/events/RoomMembers.d.ts +5 -0
  255. package/src/types/dist/schemes/events/RoomMembers.js +2 -0
  256. package/src/types/dist/schemes/events/RoomUpdated.d.ts +4 -0
  257. package/src/types/dist/schemes/events/RoomUpdated.js +2 -0
  258. package/src/types/dist/schemes/events/Session.d.ts +7 -0
  259. package/src/types/dist/schemes/events/Session.js +2 -0
  260. package/src/types/dist/schemes/events/SpaceDeleted.d.ts +3 -0
  261. package/src/types/dist/schemes/events/SpaceDeleted.js +2 -0
  262. package/src/types/dist/schemes/events/SpaceJoined.d.ts +4 -0
  263. package/src/types/dist/schemes/events/SpaceJoined.js +2 -0
  264. package/src/types/dist/schemes/events/SpaceLeft.d.ts +3 -0
  265. package/src/types/dist/schemes/events/SpaceLeft.js +2 -0
  266. package/src/types/dist/schemes/events/SpaceMemberJoined.d.ts +5 -0
  267. package/src/types/dist/schemes/events/SpaceMemberJoined.js +2 -0
  268. package/src/types/dist/schemes/events/SpaceMemberLeft.d.ts +4 -0
  269. package/src/types/dist/schemes/events/SpaceMemberLeft.js +2 -0
  270. package/src/types/dist/schemes/events/SpaceMemberUpdated.d.ts +6 -0
  271. package/src/types/dist/schemes/events/SpaceMemberUpdated.js +2 -0
  272. package/src/types/dist/schemes/events/SpaceMembers.d.ts +5 -0
  273. package/src/types/dist/schemes/events/SpaceMembers.js +2 -0
  274. package/src/types/dist/schemes/events/SpaceRooms.d.ts +5 -0
  275. package/src/types/dist/schemes/events/SpaceRooms.js +2 -0
  276. package/src/types/dist/schemes/events/SpaceUpdated.d.ts +4 -0
  277. package/src/types/dist/schemes/events/SpaceUpdated.js +2 -0
  278. package/src/types/dist/schemes/events/TopicDeleted.d.ts +4 -0
  279. package/src/types/dist/schemes/events/TopicDeleted.js +2 -0
  280. package/src/types/dist/schemes/events/TopicFollowed.d.ts +4 -0
  281. package/src/types/dist/schemes/events/TopicFollowed.js +2 -0
  282. package/src/types/dist/schemes/events/TopicUnfollowed.d.ts +4 -0
  283. package/src/types/dist/schemes/events/TopicUnfollowed.js +2 -0
  284. package/src/types/dist/schemes/events/UserUpdated.d.ts +4 -0
  285. package/src/types/dist/schemes/events/UserUpdated.js +2 -0
  286. package/src/types/src/index.ts +16 -6
  287. package/src/types/src/schemes/FollowedTopic.ts +8 -0
  288. package/src/types/src/schemes/Room.ts +1 -1
  289. package/src/types/src/schemes/Topic.ts +6 -1
  290. package/src/types/src/schemes/commands/CreateTopic.ts +2 -2
  291. package/src/types/src/schemes/commands/{GetAckReports.ts → FollowTopic.ts} +1 -1
  292. package/src/types/src/schemes/commands/GetFollowedTopics.ts +5 -0
  293. package/src/types/src/schemes/commands/UnfollowTopic.ts +5 -0
  294. package/src/types/src/schemes/events/FollowedTopics.ts +5 -0
  295. package/src/types/src/schemes/events/TopicFollowed.ts +5 -0
  296. package/src/types/src/schemes/events/TopicUnfollowed.ts +5 -0
  297. package/build/types/types/src/schemes/events/AckReports.d.ts +0 -4
  298. package/src/types/src/schemes/AckReport.ts +0 -7
  299. package/src/types/src/schemes/events/AckReports.ts +0 -5
  300. /package/{build/types/types/src → src/types/dist}/schemes/AckReport.d.ts +0 -0
  301. /package/{build/types/types/src → src/types/dist}/schemes/commands/GetAckReports.d.ts +0 -0
package/.idea/vcs.xml CHANGED
@@ -2,5 +2,6 @@
2
2
  <project version="4">
3
3
  <component name="VcsDirectoryMappings">
4
4
  <mapping directory="" vcs="Git" />
5
+ <mapping directory="$PROJECT_DIR$/src/types" vcs="Git" />
5
6
  </component>
6
7
  </project>
package/build/index.js CHANGED
@@ -653,12 +653,27 @@ var MessagesManager = /*#__PURE__*/function () {
653
653
  MessagesManager_classCallCheck(this, MessagesManager);
654
654
  this.tracker = tracker;
655
655
  MessagesManager_defineProperty(this, "list", new IndexedCollection());
656
- MessagesManager_defineProperty(this, "acks", new IndexedCollection());
656
+ MessagesManager_defineProperty(this, "followedTopics", new IndexedCollection());
657
657
  this.tracker.client.on('NewMessage', function (ev) {
658
658
  return _this.handleNewMessage(ev);
659
659
  });
660
- this.tracker.client.on('AckReports', function (ev) {
661
- return _this.handleAckReports(ev);
660
+ this.tracker.client.on('FollowedTopics', function (ev) {
661
+ return _this.handleFollowedTopics(ev);
662
+ });
663
+ this.tracker.client.on('TopicFollowed', function (ev) {
664
+ return _this.handleTopicFollowed(ev);
665
+ });
666
+ this.tracker.client.on('TopicUnfollowed', function (ev) {
667
+ return _this.handleTopicUnfollowed(ev);
668
+ });
669
+ this.tracker.client.on('RoomDeleted', function (ev) {
670
+ return _this.handleRoomDeleted(ev);
671
+ });
672
+ this.tracker.client.on('RoomLeft', function (ev) {
673
+ return _this.handleRoomLeft(ev);
674
+ });
675
+ this.tracker.client.on('TopicDeleted', function (ev) {
676
+ return _this.handleTopicDeleted(ev);
662
677
  });
663
678
  }
664
679
 
@@ -688,15 +703,14 @@ var MessagesManager = /*#__PURE__*/function () {
688
703
  }()
689
704
  /**
690
705
  * Cache ack reports for all joined rooms in a space and fetch them in bulk if necessary.
691
- * Then you can get the reports using getRoomAckReports().
692
- * @see getRoomAckReports
706
+ * Then you can get the reports using getRoomFollowedTopics().
707
+ * @see getRoomFollowedTopics
693
708
  */
694
709
  }, {
695
- key: "cacheSpaceAckReports",
710
+ key: "cacheSpaceFollowedTopic",
696
711
  value: function () {
697
- var _cacheSpaceAckReports = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(spaceId) {
698
- var _this2 = this;
699
- var roomIds, missingRoomIds, result;
712
+ var _cacheSpaceFollowedTopic = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(spaceId) {
713
+ var result;
700
714
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
701
715
  while (1) {
702
716
  switch (_context2.prev = _context2.next) {
@@ -711,59 +725,41 @@ var MessagesManager = /*#__PURE__*/function () {
711
725
  throw new Error("You are not in space ".concat(spaceId));
712
726
  case 4:
713
727
  _context2.next = 6;
714
- return this.tracker.rooms.get();
715
- case 6:
716
- roomIds = _context2.sent.findBy('spaceId', spaceId).map(function (room) {
717
- return room.id;
718
- });
719
- missingRoomIds = roomIds.filter(function (roomId) {
720
- return !_this2.acks.has(roomId);
721
- });
722
- if (!missingRoomIds.length) {
723
- _context2.next = 15;
724
- break;
725
- }
726
- _context2.next = 11;
727
- return this.tracker.client.send('GetAckReports', {
728
+ return this.tracker.client.send('GetFollowedTopics', {
728
729
  location: {
729
730
  spaceId: spaceId
730
731
  }
731
732
  });
732
- case 11:
733
+ case 6:
733
734
  result = _context2.sent;
734
735
  if (!result.error) {
735
- _context2.next = 14;
736
+ _context2.next = 9;
736
737
  break;
737
738
  }
738
739
  throw result.error;
739
- case 14:
740
- missingRoomIds.forEach(function (roomId) {
741
- var reports = result.data.reports.filter(function (report) {
742
- return report.roomId === roomId;
743
- });
744
- _this2.acks.set([roomId, new ObservableIndexedObjectCollection('topicId', reports)]);
745
- });
746
- case 15:
740
+ case 9:
741
+ this.setFollowedTopicsArray(result.data.followedTopics);
742
+ case 10:
747
743
  case "end":
748
744
  return _context2.stop();
749
745
  }
750
746
  }
751
747
  }, _callee2, this);
752
748
  }));
753
- function cacheSpaceAckReports(_x2) {
754
- return _cacheSpaceAckReports.apply(this, arguments);
749
+ function cacheSpaceFollowedTopic(_x2) {
750
+ return _cacheSpaceFollowedTopic.apply(this, arguments);
755
751
  }
756
- return cacheSpaceAckReports;
752
+ return cacheSpaceFollowedTopic;
757
753
  }()
758
754
  /**
759
755
  * Get ack reports for the given room. Undefined if you are not in the room.
760
756
  * @param roomId
761
757
  */
762
758
  }, {
763
- key: "getRoomAckReports",
759
+ key: "getRoomFollowedTopics",
764
760
  value: function () {
765
- var _getRoomAckReports = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(roomId) {
766
- var room, result;
761
+ var _getRoomFollowedTopics = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(roomId) {
762
+ var result;
767
763
  return _regeneratorRuntime().wrap(function _callee3$(_context3) {
768
764
  while (1) {
769
765
  switch (_context3.prev = _context3.next) {
@@ -771,45 +767,44 @@ var MessagesManager = /*#__PURE__*/function () {
771
767
  _context3.next = 2;
772
768
  return this.tracker.rooms.get();
773
769
  case 2:
774
- room = _context3.sent.get(roomId);
775
- if (room) {
776
- _context3.next = 5;
770
+ if (_context3.sent.has(roomId)) {
771
+ _context3.next = 4;
777
772
  break;
778
773
  }
779
774
  return _context3.abrupt("return", undefined);
780
- case 5:
781
- if (this.acks.has(roomId)) {
782
- _context3.next = 12;
775
+ case 4:
776
+ if (this.followedTopics.has(roomId)) {
777
+ _context3.next = 11;
783
778
  break;
784
779
  }
785
- _context3.next = 8;
786
- return this.tracker.client.send('GetAckReports', {
780
+ _context3.next = 7;
781
+ return this.tracker.client.send('GetFollowedTopics', {
787
782
  location: {
788
783
  roomId: roomId
789
784
  }
790
785
  });
791
- case 8:
786
+ case 7:
792
787
  result = _context3.sent;
793
788
  if (!result.error) {
794
- _context3.next = 11;
789
+ _context3.next = 10;
795
790
  break;
796
791
  }
797
792
  throw result.error;
793
+ case 10:
794
+ this.setFollowedTopicsArray(result.data.followedTopics);
798
795
  case 11:
799
- this.acks.set([roomId, new ObservableIndexedObjectCollection('topicId', result.data.reports)]);
796
+ return _context3.abrupt("return", this.followedTopics.get(roomId));
800
797
  case 12:
801
- return _context3.abrupt("return", this.acks.get(roomId));
802
- case 13:
803
798
  case "end":
804
799
  return _context3.stop();
805
800
  }
806
801
  }
807
802
  }, _callee3, this);
808
803
  }));
809
- function getRoomAckReports(_x3) {
810
- return _getRoomAckReports.apply(this, arguments);
804
+ function getRoomFollowedTopics(_x3) {
805
+ return _getRoomFollowedTopics.apply(this, arguments);
811
806
  }
812
- return getRoomAckReports;
807
+ return getRoomFollowedTopics;
813
808
  }()
814
809
  /**
815
810
  * For internal use. If you want to delete the message, execute a proper command on client object.
@@ -818,7 +813,7 @@ var MessagesManager = /*#__PURE__*/function () {
818
813
  }, {
819
814
  key: "_deleteByTopicIds",
820
815
  value: function _deleteByTopicIds(roomId) {
821
- var _this$list, _this$acks$get;
816
+ var _this$list, _this$followedTopics$;
822
817
  for (var _len = arguments.length, topicIds = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
823
818
  topicIds[_key - 1] = arguments[_key];
824
819
  }
@@ -828,7 +823,7 @@ var MessagesManager = /*#__PURE__*/function () {
828
823
  topicId: topicId
829
824
  });
830
825
  })));
831
- (_this$acks$get = this.acks.get(roomId)) === null || _this$acks$get === void 0 ? void 0 : _this$acks$get["delete"].apply(_this$acks$get, topicIds);
826
+ (_this$followedTopics$ = this.followedTopics.get(roomId)) === null || _this$followedTopics$ === void 0 ? void 0 : _this$followedTopics$["delete"].apply(_this$followedTopics$, topicIds);
832
827
  }
833
828
 
834
829
  /**
@@ -838,65 +833,78 @@ var MessagesManager = /*#__PURE__*/function () {
838
833
  }, {
839
834
  key: "_handleNewTopics",
840
835
  value: function _handleNewTopics(roomId) {
841
- var _this$list2;
842
- for (var _len2 = arguments.length, topics = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
843
- topics[_key2 - 1] = arguments[_key2];
836
+ for (var _len2 = arguments.length, newTopics = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
837
+ newTopics[_key2 - 1] = arguments[_key2];
844
838
  }
845
- (_this$list2 = this.list).set.apply(_this$list2, MessagesManager_toConsumableArray(topics.map(function (topic) {
846
- return [getCombinedId({
839
+ for (var _i = 0, _newTopics = newTopics; _i < _newTopics.length; _i++) {
840
+ var newTopic = _newTopics[_i];
841
+ var newTopicCombinedId = getCombinedId({
847
842
  roomId: roomId,
848
- topicId: topic.id
849
- }), new ObservableIndexedObjectCollection('id')];
850
- })));
851
- this.createAckReportsForNewTopics(roomId, topics);
843
+ topicId: newTopic.id
844
+ });
845
+ this.list.set([newTopicCombinedId, new ObservableIndexedObjectCollection('id')]);
846
+
847
+ // If new topic refers to some message from this room, update other structures
848
+ if (newTopic.messageRef) {
849
+ var refTopicCombinedId = getCombinedId({
850
+ roomId: roomId,
851
+ topicId: newTopic.messageRef.topicId
852
+ });
853
+ var refTopicMessages = this.list.get(refTopicCombinedId);
854
+ var refMessage = refTopicMessages === null || refTopicMessages === void 0 ? void 0 : refTopicMessages.get(newTopic.messageRef.messageId);
855
+ if (refMessage) {
856
+ // Update referenced topic ID in message
857
+ refTopicMessages.set(_objectSpread(_objectSpread({}, refMessage), {}, {
858
+ topicRef: newTopic.id
859
+ }));
860
+ }
861
+ }
862
+ }
863
+ this.createFollowedStructuresForNewTopics(roomId, newTopics);
852
864
  }
853
865
  }, {
854
866
  key: "handleNewMessage",
855
867
  value: function handleNewMessage(ev) {
856
868
  this.list.get(getCombinedId(ev.location)).set(ev.message);
857
- this.updateLocallyAckReportOnNewMessage(ev);
869
+ this.updateLocallyFollowedTopicOnNewMessage(ev);
858
870
  }
859
871
  }, {
860
- key: "handleAckReports",
861
- value: function handleAckReports(ev) {
862
- var _this3 = this;
863
- ev.reports.forEach(function (report) {
864
- var ackReports = _this3.acks.get(report.roomId);
865
- if (ackReports) {
866
- ackReports.set(report);
867
- }
868
- });
872
+ key: "handleFollowedTopics",
873
+ value: function handleFollowedTopics(ev) {
874
+ this.setFollowedTopicsArray(ev.followedTopics);
869
875
  }
870
876
  }, {
871
- key: "createAckReportsForNewTopics",
872
- value: function createAckReportsForNewTopics(roomId, topics) {
873
- var ackReports = this.acks.get(roomId);
874
- if (!ackReports) {
877
+ key: "createFollowedStructuresForNewTopics",
878
+ value: function createFollowedStructuresForNewTopics(roomId, topics) {
879
+ var followedTopic = this.followedTopics.get(roomId);
880
+ if (!followedTopic) {
875
881
  // If we don't follow ack reports for this room, skip
876
882
  return;
877
883
  }
878
- var newReports = topics.map(function (topic) {
884
+ var followedTopics = topics.map(function (topic) {
879
885
  return {
880
- roomId: roomId,
881
- topicId: topic.id,
886
+ location: {
887
+ roomId: roomId,
888
+ topicId: topic.id
889
+ },
882
890
  lastAckMessageId: null,
883
891
  missed: 0,
884
892
  missedMoreThan: null
885
893
  };
886
894
  });
887
- ackReports.set.apply(ackReports, MessagesManager_toConsumableArray(newReports));
895
+ followedTopic.set.apply(followedTopic, MessagesManager_toConsumableArray(followedTopics));
888
896
  }
889
897
  }, {
890
- key: "updateLocallyAckReportOnNewMessage",
891
- value: function updateLocallyAckReportOnNewMessage(ev) {
898
+ key: "updateLocallyFollowedTopicOnNewMessage",
899
+ value: function updateLocallyFollowedTopicOnNewMessage(ev) {
892
900
  var _this$tracker$me;
893
- var ackReports = this.acks.get(ev.location.roomId);
894
- if (!ackReports) {
901
+ var followedTopic = this.followedTopics.get(ev.location.roomId);
902
+ if (!followedTopic) {
895
903
  // If we don't follow ack reports for this room, skip
896
904
  return;
897
905
  }
898
906
  var isMe = ev.message.author.id === ((_this$tracker$me = this.tracker.me) === null || _this$tracker$me === void 0 ? void 0 : _this$tracker$me.id);
899
- var currentAckReport = ackReports.get(ev.location.topicId);
907
+ var currentFollowedTopic = followedTopic.get(ev.location.topicId);
900
908
  var update;
901
909
  if (isMe) {
902
910
  // Reset missed messages count if new message is authored by me
@@ -908,11 +916,59 @@ var MessagesManager = /*#__PURE__*/function () {
908
916
  } else {
909
917
  // ...add 1 otherwise
910
918
  update = {
911
- missed: currentAckReport.missed === null ? null : currentAckReport.missed + 1,
912
- missedMoreThan: currentAckReport.missedMoreThan === null ? null : currentAckReport.missedMoreThan
919
+ missed: currentFollowedTopic.missed === null ? null : currentFollowedTopic.missed + 1,
920
+ missedMoreThan: currentFollowedTopic.missedMoreThan === null ? null : currentFollowedTopic.missedMoreThan
913
921
  };
914
922
  }
915
- ackReports.set(_objectSpread(_objectSpread({}, currentAckReport), update));
923
+ followedTopic.set(_objectSpread(_objectSpread({}, currentFollowedTopic), update));
924
+ }
925
+ }, {
926
+ key: "handleTopicFollowed",
927
+ value: function handleTopicFollowed(ev) {
928
+ this.setFollowedTopicsArray([ev.followedTopic]);
929
+ }
930
+ }, {
931
+ key: "handleTopicUnfollowed",
932
+ value: function handleTopicUnfollowed(ev) {
933
+ var _this$followedTopics$2;
934
+ (_this$followedTopics$2 = this.followedTopics.get(ev.location.roomId)) === null || _this$followedTopics$2 === void 0 ? void 0 : _this$followedTopics$2["delete"](ev.location.topicId);
935
+ }
936
+ }, {
937
+ key: "handleRoomDeleted",
938
+ value: function handleRoomDeleted(ev) {
939
+ this.followedTopics["delete"](ev.id);
940
+ }
941
+ }, {
942
+ key: "handleRoomLeft",
943
+ value: function handleRoomLeft(ev) {
944
+ this.followedTopics["delete"](ev.id);
945
+ }
946
+ }, {
947
+ key: "handleTopicDeleted",
948
+ value: function handleTopicDeleted(ev) {
949
+ var _this$followedTopics$3;
950
+ (_this$followedTopics$3 = this.followedTopics.get(ev.location.roomId)) === null || _this$followedTopics$3 === void 0 ? void 0 : _this$followedTopics$3["delete"](ev.location.topicId);
951
+ }
952
+ }, {
953
+ key: "setFollowedTopicsArray",
954
+ value: function setFollowedTopicsArray(followedTopics) {
955
+ var roomToTopics = {};
956
+
957
+ // Reassign reports to limit collection change event emit
958
+ followedTopics.forEach(function (followedTopic) {
959
+ var _followedTopic$locati, _roomToTopics$_follow;
960
+ (_roomToTopics$_follow = roomToTopics[_followedTopic$locati = followedTopic.location.roomId]) !== null && _roomToTopics$_follow !== void 0 ? _roomToTopics$_follow : roomToTopics[_followedTopic$locati] = [];
961
+ roomToTopics[followedTopic.location.roomId].push(followedTopic);
962
+ });
963
+ for (var _roomId in roomToTopics) {
964
+ var _this$followedTopics$4;
965
+ if (!this.followedTopics.has(_roomId)) {
966
+ this.followedTopics.set([_roomId, new ObservableIndexedObjectCollection(function (report) {
967
+ return report.location.topicId;
968
+ })]);
969
+ }
970
+ (_this$followedTopics$4 = this.followedTopics.get(_roomId)).set.apply(_this$followedTopics$4, MessagesManager_toConsumableArray(roomToTopics[_roomId]));
971
+ }
916
972
  }
917
973
  }]);
918
974
  return MessagesManager;
@@ -952,6 +1008,9 @@ var RoomsManager = /*#__PURE__*/function () {
952
1008
  RoomsManager_defineProperty(this, "deferredSession", new DeferredTask());
953
1009
  RoomsManager_defineProperty(this, "membersPromises", new PromiseRegistry());
954
1010
  this.messages = new MessagesManager(tracker);
1011
+ this.tracker.client.on('NewMessage', function (ev) {
1012
+ return _this.handleNewMessage(ev);
1013
+ });
955
1014
  this.tracker.client.on('NewTopic', function (ev) {
956
1015
  return _this.handleNewTopic(ev);
957
1016
  });
@@ -1366,6 +1425,18 @@ var RoomsManager = /*#__PURE__*/function () {
1366
1425
  members.set(newMember);
1367
1426
  });
1368
1427
  }
1428
+ }, {
1429
+ key: "handleNewMessage",
1430
+ value: function handleNewMessage(ev) {
1431
+ var topics = this.topics.get(ev.location.roomId);
1432
+ var topic = topics.get(ev.location.topicId);
1433
+ if (topic) {
1434
+ topics.set(RoomsManager_objectSpread(RoomsManager_objectSpread({}, topic), {}, {
1435
+ messageCount: topic.messageCount + 1,
1436
+ lastMessage: ev.message
1437
+ }));
1438
+ }
1439
+ }
1369
1440
  }]);
1370
1441
  return RoomsManager;
1371
1442
  }();
@@ -1931,32 +2002,36 @@ Permissions_defineProperty(Permissions, "list", {
1931
2002
  value: 1 << 4,
1932
2003
  maxLayer: Layer.Room
1933
2004
  },
1934
- ManageTopic: {
2005
+ CreateTopics: {
1935
2006
  value: 1 << 5,
2007
+ maxLayer: Layer.Room
2008
+ },
2009
+ ManageTopic: {
2010
+ value: 1 << 6,
1936
2011
  maxLayer: Layer.Topic
1937
2012
  },
1938
2013
  ManageSpaceMembers: {
1939
- value: 1 << 6,
2014
+ value: 1 << 7,
1940
2015
  maxLayer: Layer.Space
1941
2016
  },
1942
2017
  ManageRoomMembers: {
1943
- value: 1 << 7,
2018
+ value: 1 << 8,
1944
2019
  maxLayer: Layer.Room
1945
2020
  },
1946
2021
  CreateMessages: {
1947
- value: 1 << 8,
2022
+ value: 1 << 9,
1948
2023
  maxLayer: Layer.Topic
1949
2024
  },
1950
2025
  ManagePermissions: {
1951
- value: 1 << 9,
2026
+ value: 1 << 10,
1952
2027
  maxLayer: Layer.Topic
1953
2028
  },
1954
2029
  CreateSpaceRooms: {
1955
- value: 1 << 10,
2030
+ value: 1 << 11,
1956
2031
  maxLayer: Layer.Space
1957
2032
  },
1958
2033
  ManageSpaceRooms: {
1959
- value: 1 << 11,
2034
+ value: 1 << 12,
1960
2035
  maxLayer: Layer.Space
1961
2036
  }
1962
2037
  });