polfan-server-js-client 0.1.55 → 0.1.57

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 (190) hide show
  1. package/.gitmodules +3 -0
  2. package/build/index.js +297 -140
  3. package/build/index.js.map +1 -1
  4. package/build/types/AbstractChatClient.d.ts +2 -2
  5. package/build/types/index.d.ts +3 -1
  6. package/build/types/state-tracker/ChatStateTracker.d.ts +5 -5
  7. package/build/types/state-tracker/MessagesManager.d.ts +3 -3
  8. package/build/types/state-tracker/PermissionsManager.d.ts +5 -4
  9. package/build/types/state-tracker/RoomsManager.d.ts +1 -1
  10. package/build/types/state-tracker/SpacesManager.d.ts +2 -1
  11. package/build/types/state-tracker/functions.d.ts +1 -1
  12. package/build/types/types/src/index.d.ts +81 -0
  13. package/build/types/types/src/schemes/AckReport.d.ts +7 -0
  14. package/build/types/types/src/schemes/ChatLocation.d.ts +5 -0
  15. package/build/types/types/src/schemes/Envelope.d.ts +5 -0
  16. package/build/types/types/src/schemes/Message.d.ts +7 -0
  17. package/build/types/types/src/schemes/PermissionOverwritesValue.d.ts +4 -0
  18. package/build/types/types/src/schemes/Role.d.ts +6 -0
  19. package/build/types/types/src/schemes/Room.d.ts +10 -0
  20. package/build/types/types/src/schemes/RoomMember.d.ts +7 -0
  21. package/build/types/types/src/schemes/RoomSummary.d.ts +5 -0
  22. package/build/types/types/src/schemes/Space.d.ts +6 -0
  23. package/build/types/types/src/schemes/SpaceMember.d.ts +5 -0
  24. package/build/types/types/src/schemes/Topic.d.ts +5 -0
  25. package/build/types/types/src/schemes/User.d.ts +8 -0
  26. package/build/types/types/src/schemes/UserState.d.ts +6 -0
  27. package/build/types/types/src/schemes/commands/Ack.d.ts +5 -0
  28. package/build/types/types/src/schemes/commands/AssignRole.d.ts +6 -0
  29. package/build/types/types/src/schemes/commands/CreateMessage.d.ts +5 -0
  30. package/build/types/types/src/schemes/commands/CreateOwner.d.ts +5 -0
  31. package/build/types/types/src/schemes/commands/CreateRole.d.ts +5 -0
  32. package/build/types/types/src/schemes/commands/CreateRoom.d.ts +5 -0
  33. package/build/types/types/src/schemes/commands/CreateSpace.d.ts +3 -0
  34. package/build/types/types/src/schemes/commands/CreateTopic.d.ts +12 -0
  35. package/build/types/types/src/schemes/commands/DeassignRole.d.ts +6 -0
  36. package/build/types/types/src/schemes/commands/DeleteOwner.d.ts +5 -0
  37. package/build/types/types/src/schemes/commands/DeleteRole.d.ts +4 -0
  38. package/build/types/types/src/schemes/commands/DeleteRoom.d.ts +3 -0
  39. package/build/types/types/src/schemes/commands/DeleteSpace.d.ts +3 -0
  40. package/build/types/types/src/schemes/commands/DeleteTopic.d.ts +4 -0
  41. package/build/types/types/src/schemes/commands/GetAckReports.d.ts +4 -0
  42. package/build/types/types/src/schemes/commands/GetComputedPermissions.d.ts +4 -0
  43. package/build/types/types/src/schemes/commands/GetOwners.d.ts +4 -0
  44. package/build/types/types/src/schemes/commands/GetPermissionOverwriteTargets.d.ts +4 -0
  45. package/build/types/types/src/schemes/commands/GetPermissionOverwrites.d.ts +6 -0
  46. package/build/types/types/src/schemes/commands/GetRoomMembers.d.ts +3 -0
  47. package/build/types/types/src/schemes/commands/GetSession.d.ts +2 -0
  48. package/build/types/types/src/schemes/commands/GetSpaceMembers.d.ts +3 -0
  49. package/build/types/types/src/schemes/commands/GetSpaceRooms.d.ts +3 -0
  50. package/build/types/types/src/schemes/commands/JoinRoom.d.ts +3 -0
  51. package/build/types/types/src/schemes/commands/JoinSpace.d.ts +3 -0
  52. package/build/types/types/src/schemes/commands/LeaveRoom.d.ts +3 -0
  53. package/build/types/types/src/schemes/commands/LeaveSpace.d.ts +3 -0
  54. package/build/types/types/src/schemes/commands/SetPermissionOverwrites.d.ts +8 -0
  55. package/build/types/types/src/schemes/commands/UpdateRole.d.ts +7 -0
  56. package/build/types/types/src/schemes/commands/UpdateRoom.d.ts +5 -0
  57. package/build/types/types/src/schemes/commands/UpdateSpace.d.ts +4 -0
  58. package/build/types/types/src/schemes/events/AckReports.d.ts +4 -0
  59. package/build/types/types/src/schemes/events/Bye.d.ts +3 -0
  60. package/build/types/types/src/schemes/events/ComputedPermissions.d.ts +5 -0
  61. package/build/types/types/src/schemes/events/Error.d.ts +4 -0
  62. package/build/types/types/src/schemes/events/NewMessage.d.ts +6 -0
  63. package/build/types/types/src/schemes/events/NewRole.d.ts +5 -0
  64. package/build/types/types/src/schemes/events/NewRoom.d.ts +5 -0
  65. package/build/types/types/src/schemes/events/NewTopic.d.ts +5 -0
  66. package/build/types/types/src/schemes/events/Ok.d.ts +2 -0
  67. package/build/types/types/src/schemes/events/Owners.d.ts +8 -0
  68. package/build/types/types/src/schemes/events/PermissionOverwriteTargets.d.ts +10 -0
  69. package/build/types/types/src/schemes/events/PermissionOverwrites.d.ts +8 -0
  70. package/build/types/types/src/schemes/events/PermissionOverwritesUpdated.d.ts +8 -0
  71. package/build/types/types/src/schemes/events/RoleDeleted.d.ts +4 -0
  72. package/build/types/types/src/schemes/events/RoleUpdated.d.ts +5 -0
  73. package/build/types/types/src/schemes/events/RoomDeleted.d.ts +3 -0
  74. package/build/types/types/src/schemes/events/RoomJoined.d.ts +4 -0
  75. package/build/types/types/src/schemes/events/RoomLeft.d.ts +3 -0
  76. package/build/types/types/src/schemes/events/RoomMemberJoined.d.ts +5 -0
  77. package/build/types/types/src/schemes/events/RoomMemberLeft.d.ts +4 -0
  78. package/build/types/types/src/schemes/events/RoomMemberUpdated.d.ts +6 -0
  79. package/build/types/types/src/schemes/events/RoomMembers.d.ts +5 -0
  80. package/build/types/types/src/schemes/events/RoomUpdated.d.ts +4 -0
  81. package/build/types/types/src/schemes/events/Session.d.ts +7 -0
  82. package/build/types/types/src/schemes/events/SpaceDeleted.d.ts +3 -0
  83. package/build/types/types/src/schemes/events/SpaceJoined.d.ts +4 -0
  84. package/build/types/types/src/schemes/events/SpaceLeft.d.ts +3 -0
  85. package/build/types/types/src/schemes/events/SpaceMemberJoined.d.ts +5 -0
  86. package/build/types/types/src/schemes/events/SpaceMemberLeft.d.ts +4 -0
  87. package/build/types/types/src/schemes/events/SpaceMemberUpdated.d.ts +6 -0
  88. package/build/types/types/src/schemes/events/SpaceMembers.d.ts +5 -0
  89. package/build/types/types/src/schemes/events/SpaceRooms.d.ts +5 -0
  90. package/build/types/types/src/schemes/events/SpaceUpdated.d.ts +4 -0
  91. package/build/types/types/src/schemes/events/TopicDeleted.d.ts +4 -0
  92. package/build/types/types/src/schemes/events/UserUpdated.d.ts +4 -0
  93. package/package.json +3 -4
  94. package/src/AbstractChatClient.ts +3 -3
  95. package/src/Permissions.ts +2 -2
  96. package/src/WebApiChatClient.ts +1 -1
  97. package/src/WebSocketChatClient.ts +1 -1
  98. package/src/index.ts +5 -2
  99. package/src/state-tracker/ChatStateTracker.ts +5 -5
  100. package/src/state-tracker/MessagesManager.ts +11 -11
  101. package/src/state-tracker/PermissionsManager.ts +51 -53
  102. package/src/state-tracker/RoomsManager.ts +11 -6
  103. package/src/state-tracker/SpacesManager.ts +12 -4
  104. package/src/state-tracker/functions.ts +1 -1
  105. package/src/types/README.md +2 -0
  106. package/src/types/package-lock.json +31 -0
  107. package/src/types/package.json +16 -0
  108. package/src/types/src/index.ts +166 -0
  109. package/src/types/src/schemes/AckReport.ts +7 -0
  110. package/src/types/src/schemes/ChatLocation.ts +5 -0
  111. package/src/types/src/schemes/Envelope.ts +5 -0
  112. package/src/types/src/schemes/Message.ts +8 -0
  113. package/src/types/src/schemes/PermissionOverwritesValue.ts +4 -0
  114. package/src/types/src/schemes/Role.ts +6 -0
  115. package/src/types/src/schemes/Room.ts +12 -0
  116. package/src/types/src/schemes/RoomMember.ts +8 -0
  117. package/src/types/src/schemes/RoomSummary.ts +5 -0
  118. package/src/types/src/schemes/Space.ts +7 -0
  119. package/src/types/src/schemes/SpaceMember.ts +6 -0
  120. package/src/types/src/schemes/Topic.ts +5 -0
  121. package/src/types/src/schemes/User.ts +9 -0
  122. package/src/types/src/schemes/UserState.ts +7 -0
  123. package/src/types/src/schemes/commands/Ack.ts +6 -0
  124. package/src/types/src/schemes/commands/AssignRole.ts +7 -0
  125. package/src/types/src/schemes/commands/CreateMessage.ts +6 -0
  126. package/src/types/src/schemes/commands/CreateOwner.ts +6 -0
  127. package/src/types/src/schemes/commands/CreateRole.ts +5 -0
  128. package/src/types/src/schemes/commands/CreateRoom.ts +5 -0
  129. package/src/types/src/schemes/commands/CreateSpace.ts +3 -0
  130. package/src/types/src/schemes/commands/CreateTopic.ts +14 -0
  131. package/src/types/src/schemes/commands/DeassignRole.ts +7 -0
  132. package/src/types/src/schemes/commands/DeleteOwner.ts +6 -0
  133. package/src/types/src/schemes/commands/DeleteRole.ts +4 -0
  134. package/src/types/src/schemes/commands/DeleteRoom.ts +3 -0
  135. package/src/types/src/schemes/commands/DeleteSpace.ts +3 -0
  136. package/src/types/src/schemes/commands/DeleteTopic.ts +5 -0
  137. package/src/types/src/schemes/commands/GetAckReports.ts +5 -0
  138. package/src/types/src/schemes/commands/GetComputedPermissions.ts +5 -0
  139. package/src/types/src/schemes/commands/GetOwners.ts +5 -0
  140. package/src/types/src/schemes/commands/GetPermissionOverwriteTargets.ts +5 -0
  141. package/src/types/src/schemes/commands/GetPermissionOverwrites.ts +7 -0
  142. package/src/types/src/schemes/commands/GetRoomMembers.ts +3 -0
  143. package/src/types/src/schemes/commands/GetSession.ts +2 -0
  144. package/src/types/src/schemes/commands/GetSpaceMembers.ts +3 -0
  145. package/src/types/src/schemes/commands/GetSpaceRooms.ts +3 -0
  146. package/src/types/src/schemes/commands/JoinRoom.ts +3 -0
  147. package/src/types/src/schemes/commands/JoinSpace.ts +3 -0
  148. package/src/types/src/schemes/commands/LeaveRoom.ts +3 -0
  149. package/src/types/src/schemes/commands/LeaveSpace.ts +3 -0
  150. package/src/types/src/schemes/commands/SetPermissionOverwrites.ts +9 -0
  151. package/src/types/src/schemes/commands/UpdateRole.ts +7 -0
  152. package/src/types/src/schemes/commands/UpdateRoom.ts +5 -0
  153. package/src/types/src/schemes/commands/UpdateSpace.ts +4 -0
  154. package/src/types/src/schemes/events/AckReports.ts +5 -0
  155. package/src/types/src/schemes/events/Bye.ts +3 -0
  156. package/src/types/src/schemes/events/ComputedPermissions.ts +6 -0
  157. package/src/types/src/schemes/events/Error.ts +4 -0
  158. package/src/types/src/schemes/events/NewMessage.ts +7 -0
  159. package/src/types/src/schemes/events/NewRole.ts +6 -0
  160. package/src/types/src/schemes/events/NewRoom.ts +6 -0
  161. package/src/types/src/schemes/events/NewTopic.ts +6 -0
  162. package/src/types/src/schemes/events/Ok.ts +3 -0
  163. package/src/types/src/schemes/events/Owners.ts +9 -0
  164. package/src/types/src/schemes/events/PermissionOverwriteTargets.ts +11 -0
  165. package/src/types/src/schemes/events/PermissionOverwrites.ts +9 -0
  166. package/src/types/src/schemes/events/PermissionOverwritesUpdated.ts +9 -0
  167. package/src/types/src/schemes/events/RoleDeleted.ts +4 -0
  168. package/src/types/src/schemes/events/RoleUpdated.ts +6 -0
  169. package/src/types/src/schemes/events/RoomDeleted.ts +3 -0
  170. package/src/types/src/schemes/events/RoomJoined.ts +5 -0
  171. package/src/types/src/schemes/events/RoomLeft.ts +3 -0
  172. package/src/types/src/schemes/events/RoomMemberJoined.ts +6 -0
  173. package/src/types/src/schemes/events/RoomMemberLeft.ts +4 -0
  174. package/src/types/src/schemes/events/RoomMemberUpdated.ts +7 -0
  175. package/src/types/src/schemes/events/RoomMembers.ts +6 -0
  176. package/src/types/src/schemes/events/RoomUpdated.ts +5 -0
  177. package/src/types/src/schemes/events/Session.ts +8 -0
  178. package/src/types/src/schemes/events/SpaceDeleted.ts +3 -0
  179. package/src/types/src/schemes/events/SpaceJoined.ts +5 -0
  180. package/src/types/src/schemes/events/SpaceLeft.ts +3 -0
  181. package/src/types/src/schemes/events/SpaceMemberJoined.ts +6 -0
  182. package/src/types/src/schemes/events/SpaceMemberLeft.ts +4 -0
  183. package/src/types/src/schemes/events/SpaceMemberUpdated.ts +7 -0
  184. package/src/types/src/schemes/events/SpaceMembers.ts +6 -0
  185. package/src/types/src/schemes/events/SpaceRooms.ts +6 -0
  186. package/src/types/src/schemes/events/SpaceUpdated.ts +5 -0
  187. package/src/types/src/schemes/events/TopicDeleted.ts +5 -0
  188. package/src/types/src/schemes/events/UserUpdated.ts +5 -0
  189. package/src/types/tsconfig.json +75 -0
  190. package/tests/permissions.test.ts +8 -8
@@ -1,4 +1,4 @@
1
- import { Bye, GetSession, JoinSpace, Session, SpaceJoined, Error as ErrorType, SpaceLeft, SpaceMemberJoined, SpaceMemberLeft, SpaceMemberUpdated, SpaceDeleted, SpaceMembers, SpaceRooms, NewRole, RoomDeleted, RoomJoined, RoomLeft, RoomMemberLeft, RoomMemberJoined, RoomMembers, NewRoom, NewTopic, TopicDeleted, NewMessage, GetPermissionOverwrites, GetComputedPermissions, LeaveSpace, CreateSpace, DeleteSpace, GetSpaceMembers, GetSpaceRooms, CreateRole, DeleteRole, AssignRole, DeassignRole, SetPermissionOverwrites, JoinRoom, LeaveRoom, CreateRoom, DeleteRoom, GetRoomMembers, CreateTopic, DeleteTopic, CreateMessage, Envelope, PermissionOverwrites, PermissionOverwritesUpdated, RoomMemberUpdated, UpdateRole, RoleUpdated, AckReports, Ack, GetAckReports, UserUpdated, UpdateRoom, RoomUpdated, UpdateSpace, SpaceUpdated, PermissionOverwriteTargets, GetPermissionOverwriteTargets, Owners, Ok, GetOwners, CreateOwner } from "pserv-ts-types";
1
+ import { Bye, GetSession, JoinSpace, Session, SpaceJoined, Error as ErrorType, SpaceLeft, SpaceMemberJoined, SpaceMemberLeft, SpaceMemberUpdated, SpaceDeleted, SpaceMembers, SpaceRooms, NewRole, RoomDeleted, RoomJoined, RoomLeft, RoomMemberLeft, RoomMemberJoined, RoomMembers, NewRoom, NewTopic, TopicDeleted, NewMessage, GetPermissionOverwrites, GetComputedPermissions, LeaveSpace, CreateSpace, DeleteSpace, GetSpaceMembers, GetSpaceRooms, CreateRole, DeleteRole, AssignRole, DeassignRole, SetPermissionOverwrites, JoinRoom, LeaveRoom, CreateRoom, DeleteRoom, GetRoomMembers, CreateTopic, DeleteTopic, CreateMessage, Envelope, PermissionOverwrites, PermissionOverwritesUpdated, RoomMemberUpdated, UpdateRole, RoleUpdated, AckReports, Ack, GetAckReports, UserUpdated, UpdateRoom, RoomUpdated, UpdateSpace, SpaceUpdated, PermissionOverwriteTargets, GetPermissionOverwriteTargets, Owners, Ok, GetOwners, CreateOwner, RoleDeleted } from "./types/src/index";
2
2
  import { EventTarget } from "./EventTarget";
3
3
  type ArrayOfPromiseResolvers = [(value: any) => void, (reason?: any) => void];
4
4
  export declare abstract class AbstractChatClient extends EventTarget {
@@ -39,7 +39,7 @@ export type EventsMap = {
39
39
  SpaceMembers: SpaceMembers;
40
40
  SpaceRooms: SpaceRooms;
41
41
  NewRole: NewRole;
42
- RoleDeleted: RoomDeleted;
42
+ RoleDeleted: RoleDeleted;
43
43
  RoleUpdated: RoleUpdated;
44
44
  RoomJoined: RoomJoined;
45
45
  RoomLeft: RoomLeft;
@@ -3,4 +3,6 @@ import { WebApiChatClient } from "./WebApiChatClient";
3
3
  import { IndexedCollection, IndexedObjectCollection, ObservableIndexedCollection, ObservableIndexedObjectCollection } from "./IndexedObjectCollection";
4
4
  import { AuthClient } from "./AuthClient";
5
5
  import { Permissions, PermissionDefinition, Layer } from "./Permissions";
6
- export { IndexedCollection, ObservableIndexedCollection, IndexedObjectCollection, ObservableIndexedObjectCollection, Permissions, PermissionDefinition, Layer, WebSocketChatClient, WebApiChatClient, AuthClient };
6
+ import * as ChatTypes from './types/src';
7
+ export { IndexedCollection, ObservableIndexedCollection, IndexedObjectCollection, ObservableIndexedObjectCollection, Permissions, PermissionDefinition, Layer, WebSocketChatClient, WebApiChatClient, AuthClient, };
8
+ export type { ChatTypes };
@@ -1,10 +1,14 @@
1
1
  import { WebSocketChatClient } from "../WebSocketChatClient";
2
- import { User } from "pserv-ts-types";
2
+ import { User } from "../types/src";
3
3
  import { RoomsManager } from "./RoomsManager";
4
4
  import { SpacesManager } from "./SpacesManager";
5
5
  import { PermissionsManager } from "./PermissionsManager";
6
6
  export declare class ChatStateTracker {
7
7
  readonly client: WebSocketChatClient;
8
+ /**
9
+ * State of your permissions.
10
+ */
11
+ readonly permissions: PermissionsManager;
8
12
  /**
9
13
  * State of the rooms you are in.
10
14
  */
@@ -13,10 +17,6 @@ export declare class ChatStateTracker {
13
17
  * State of the spaces you are in.
14
18
  */
15
19
  readonly spaces: SpacesManager;
16
- /**
17
- * State of your permissions.
18
- */
19
- readonly permissions: PermissionsManager;
20
20
  private _me;
21
21
  private readonly deferredSession;
22
22
  constructor(client: WebSocketChatClient);
@@ -1,7 +1,7 @@
1
1
  import { ChatStateTracker } from "./ChatStateTracker";
2
- import { AckReport, Message, Topic } from "pserv-ts-types";
2
+ import { AckReport, ChatLocation, Message, Topic } from "../types/src";
3
3
  import { ObservableIndexedObjectCollection } from "../IndexedObjectCollection";
4
- export declare const getCombinedId: (...ids: string[]) => string;
4
+ export declare const getCombinedId: (location: ChatLocation) => string;
5
5
  export declare class MessagesManager {
6
6
  private tracker;
7
7
  private readonly list;
@@ -10,7 +10,7 @@ export declare class MessagesManager {
10
10
  /**
11
11
  * Get collection of the messages written in topic.
12
12
  */
13
- get(roomId: string, topicId: string): Promise<ObservableIndexedObjectCollection<Message> | undefined>;
13
+ get(location: ChatLocation): Promise<ObservableIndexedObjectCollection<Message> | undefined>;
14
14
  /**
15
15
  * Cache ack reports for all joined rooms in a space and fetch them in bulk if necessary.
16
16
  * Then you can get the reports using getRoomAckReports().
@@ -1,5 +1,5 @@
1
1
  import { ChatStateTracker } from "./ChatStateTracker";
2
- import { PermissionOverwrites } from "pserv-ts-types";
2
+ import { ChatLocation, PermissionOverwrites } from "../types/src";
3
3
  import { EventHandler, EventTarget } from "../EventTarget";
4
4
  import { Permissions } from "../Permissions";
5
5
  interface CheckPermissionsResult {
@@ -16,10 +16,10 @@ export declare class PermissionsManager extends EventTarget {
16
16
  private readonly overwrites;
17
17
  private readonly overwritesPromises;
18
18
  constructor(tracker: ChatStateTracker);
19
- getOverwrites(layer: PermissionOverwrites['layer'], layerId: PermissionOverwrites['layerId'], target: PermissionOverwrites['target'], targetId: PermissionOverwrites['targetId']): Promise<PermissionOverwrites | undefined>;
19
+ getOverwrites(location: ChatLocation, target: PermissionOverwrites['target'], targetId: PermissionOverwrites['targetId']): Promise<PermissionOverwrites | undefined>;
20
20
  on(eventName: 'change', handler: EventHandler<any>): this;
21
- check(permissionNames: (keyof typeof Permissions.list)[], spaceId?: string, roomId?: string, topicId?: string): Promise<CheckPermissionsResult>;
22
- calculatePermissions(spaceId?: string, roomId?: string, topicId?: string): Promise<number>;
21
+ check(permissionNames: (keyof typeof Permissions.list)[], location: ChatLocation): Promise<CheckPermissionsResult>;
22
+ calculatePermissions(location: ChatLocation): Promise<number>;
23
23
  private handlePermissionOverwrites;
24
24
  private handleSpaceDeleted;
25
25
  private handleRoomDeleted;
@@ -36,5 +36,6 @@ export declare class PermissionsManager extends EventTarget {
36
36
  private resolveOverwritesHierarchy;
37
37
  private getRootAccessValue;
38
38
  private fetchMembersOrFail;
39
+ private validateLocation;
39
40
  }
40
41
  export {};
@@ -1,5 +1,5 @@
1
1
  import { ObservableIndexedObjectCollection } from "../IndexedObjectCollection";
2
- import { Room, RoomMember, Topic } from "pserv-ts-types";
2
+ import { Room, RoomMember, Topic } from "../types/src";
3
3
  import { ChatStateTracker } from "./ChatStateTracker";
4
4
  import { MessagesManager } from "./MessagesManager";
5
5
  export declare class RoomsManager {
@@ -1,11 +1,12 @@
1
1
  import { ChatStateTracker } from "./ChatStateTracker";
2
2
  import { ObservableIndexedObjectCollection } from "../IndexedObjectCollection";
3
- import { Role, RoomSummary, Space, SpaceMember } from "pserv-ts-types";
3
+ import { Role, RoomSummary, Space, SpaceMember } from "../types/src";
4
4
  export declare class SpacesManager {
5
5
  private tracker;
6
6
  private readonly list;
7
7
  private readonly roles;
8
8
  private readonly rooms;
9
+ private readonly roomIdToSpaceId;
9
10
  private readonly members;
10
11
  private readonly deferredSession;
11
12
  private readonly roomsPromises;
@@ -1,2 +1,2 @@
1
- import { Role } from "pserv-ts-types";
1
+ import { Role } from "../types/src";
2
2
  export declare function reorderRolesOnPriorityUpdate(allRoles: Role[], oldRole: Role, updatedRole: Role): Role[];
@@ -0,0 +1,81 @@
1
+ import { Envelope } from "./schemes/Envelope";
2
+ import { Message } from "./schemes/Message";
3
+ import { PermissionOverwritesValue } from "./schemes/PermissionOverwritesValue";
4
+ import { Role } from "./schemes/Role";
5
+ import { Room } from "./schemes/Room";
6
+ import { RoomMember } from "./schemes/RoomMember";
7
+ import { RoomSummary } from "./schemes/RoomSummary";
8
+ import { Space } from "./schemes/Space";
9
+ import { SpaceMember } from "./schemes/SpaceMember";
10
+ import { Topic } from "./schemes/Topic";
11
+ import { User } from "./schemes/User";
12
+ import { UserState } from "./schemes/UserState";
13
+ import { Bye } from "./schemes/events/Bye";
14
+ import { Error } from "./schemes/events/Error";
15
+ import { Session } from "./schemes/events/Session";
16
+ import { ComputedPermissions } from "./schemes/events/ComputedPermissions";
17
+ import { SpaceJoined } from "./schemes/events/SpaceJoined";
18
+ import { SpaceLeft } from "./schemes/events/SpaceLeft";
19
+ import { SpaceMemberJoined } from "./schemes/events/SpaceMemberJoined";
20
+ import { SpaceMemberLeft } from "./schemes/events/SpaceMemberLeft";
21
+ import { SpaceMemberUpdated } from "./schemes/events/SpaceMemberUpdated";
22
+ import { SpaceDeleted } from "./schemes/events/SpaceDeleted";
23
+ import { SpaceMembers } from "./schemes/events/SpaceMembers";
24
+ import { SpaceRooms } from "./schemes/events/SpaceRooms";
25
+ import { NewRole } from "./schemes/events/NewRole";
26
+ import { RoleDeleted } from "./schemes/events/RoleDeleted";
27
+ import { RoomJoined } from "./schemes/events/RoomJoined";
28
+ import { RoomLeft } from "./schemes/events/RoomLeft";
29
+ import { RoomMemberJoined } from "./schemes/events/RoomMemberJoined";
30
+ import { RoomMemberLeft } from "./schemes/events/RoomMemberLeft";
31
+ import { RoomMembers } from "./schemes/events/RoomMembers";
32
+ import { RoomMemberUpdated } from "./schemes/events/RoomMemberUpdated";
33
+ import { NewRoom } from "./schemes/events/NewRoom";
34
+ import { RoomDeleted } from "./schemes/events/RoomDeleted";
35
+ import { NewTopic } from "./schemes/events/NewTopic";
36
+ import { TopicDeleted } from "./schemes/events/TopicDeleted";
37
+ import { NewMessage } from "./schemes/events/NewMessage";
38
+ import { PermissionOverwritesUpdated } from "./schemes/events/PermissionOverwritesUpdated";
39
+ import { PermissionOverwrites } from "./schemes/events/PermissionOverwrites";
40
+ import { GetSession } from "./schemes/commands/GetSession";
41
+ import { GetComputedPermissions } from "./schemes/commands/GetComputedPermissions";
42
+ import { JoinSpace } from "./schemes/commands/JoinSpace";
43
+ import { LeaveSpace } from "./schemes/commands/LeaveSpace";
44
+ import { CreateSpace } from "./schemes/commands/CreateSpace";
45
+ import { DeleteSpace } from "./schemes/commands/DeleteSpace";
46
+ import { GetSpaceMembers } from "./schemes/commands/GetSpaceMembers";
47
+ import { GetSpaceRooms } from "./schemes/commands/GetSpaceRooms";
48
+ import { CreateRole } from "./schemes/commands/CreateRole";
49
+ import { DeleteRole } from "./schemes/commands/DeleteRole";
50
+ import { RoleUpdated } from "./schemes/events/RoleUpdated";
51
+ import { AssignRole } from "./schemes/commands/AssignRole";
52
+ import { DeassignRole } from "./schemes/commands/DeassignRole";
53
+ import { SetPermissionOverwrites } from "./schemes/commands/SetPermissionOverwrites";
54
+ import { GetPermissionOverwrites } from "./schemes/commands/GetPermissionOverwrites";
55
+ import { JoinRoom } from "./schemes/commands/JoinRoom";
56
+ import { LeaveRoom } from "./schemes/commands/LeaveRoom";
57
+ import { CreateRoom } from "./schemes/commands/CreateRoom";
58
+ import { DeleteRoom } from "./schemes/commands/DeleteRoom";
59
+ import { GetRoomMembers } from "./schemes/commands/GetRoomMembers";
60
+ import { CreateTopic } from "./schemes/commands/CreateTopic";
61
+ import { DeleteTopic } from "./schemes/commands/DeleteTopic";
62
+ import { CreateMessage } from "./schemes/commands/CreateMessage";
63
+ import { UpdateRole } from "./schemes/commands/UpdateRole";
64
+ import { GetAckReports } from "./schemes/commands/GetAckReports";
65
+ import { Ack } from "./schemes/commands/Ack";
66
+ import { AckReports } from "./schemes/events/AckReports";
67
+ import { AckReport } from "./schemes/AckReport";
68
+ import { UserUpdated } from "./schemes/events/UserUpdated";
69
+ import { UpdateRoom } from "./schemes/commands/UpdateRoom";
70
+ import { UpdateSpace } from "./schemes/commands/UpdateSpace";
71
+ import { RoomUpdated } from "./schemes/events/RoomUpdated";
72
+ import { SpaceUpdated } from "./schemes/events/SpaceUpdated";
73
+ import { ChatLocation } from "./schemes/ChatLocation";
74
+ import { GetPermissionOverwriteTargets } from "./schemes/commands/GetPermissionOverwriteTargets";
75
+ import { PermissionOverwriteTargets } from "./schemes/events/PermissionOverwriteTargets";
76
+ import { CreateOwner } from "./schemes/commands/CreateOwner";
77
+ import { DeleteOwner } from "./schemes/commands/DeleteOwner";
78
+ import { GetOwners } from "./schemes/commands/GetOwners";
79
+ import { Owners } from "./schemes/events/Owners";
80
+ import { Ok } from "./schemes/events/Ok";
81
+ export { Envelope, Message, AckReport, Role, Room, RoomMember, RoomSummary, Space, SpaceMember, Topic, User, UserState, PermissionOverwritesValue, ChatLocation, Bye, Error, NewMessage, AckReports, NewRole, NewRoom, NewTopic, ComputedPermissions, PermissionOverwrites, PermissionOverwritesUpdated, RoleDeleted, RoleUpdated, RoomDeleted, RoomUpdated, RoomJoined, RoomLeft, RoomMemberJoined, RoomMemberLeft, RoomMembers, RoomMemberUpdated, UserUpdated, Session, SpaceDeleted, SpaceUpdated, SpaceJoined, SpaceLeft, SpaceMemberJoined, SpaceMemberLeft, SpaceMembers, SpaceMemberUpdated, SpaceRooms, TopicDeleted, PermissionOverwriteTargets, Owners, Ok, AssignRole, CreateMessage, Ack, CreateRole, CreateRoom, CreateSpace, CreateTopic, DeassignRole, DeleteRole, DeleteRoom, DeleteSpace, DeleteTopic, SetPermissionOverwrites, GetPermissionOverwrites, GetComputedPermissions, GetRoomMembers, GetSession, GetSpaceMembers, GetSpaceRooms, GetAckReports, JoinRoom, JoinSpace, LeaveRoom, LeaveSpace, UpdateRole, UpdateSpace, UpdateRoom, GetPermissionOverwriteTargets, CreateOwner, DeleteOwner, GetOwners, };
@@ -0,0 +1,7 @@
1
+ export interface AckReport {
2
+ roomId: string;
3
+ topicId: string;
4
+ lastAckMessageId: string | null;
5
+ missed: number | null;
6
+ missedMoreThan: number | null;
7
+ }
@@ -0,0 +1,5 @@
1
+ export interface ChatLocation {
2
+ spaceId?: string;
3
+ roomId?: string;
4
+ topicId?: string;
5
+ }
@@ -0,0 +1,5 @@
1
+ export interface Envelope<T = any> {
2
+ type: string;
3
+ ref?: string;
4
+ data: T;
5
+ }
@@ -0,0 +1,7 @@
1
+ import { User } from "./User";
2
+ export interface Message {
3
+ id: string;
4
+ author: User;
5
+ content: string;
6
+ topicRef: string | null;
7
+ }
@@ -0,0 +1,4 @@
1
+ export interface PermissionOverwritesValue {
2
+ allow: number | null;
3
+ deny: number | null;
4
+ }
@@ -0,0 +1,6 @@
1
+ export interface Role {
2
+ id: string;
3
+ priority: number;
4
+ name: string;
5
+ color?: string;
6
+ }
@@ -0,0 +1,10 @@
1
+ import { Topic } from "./Topic";
2
+ export type RoomType = 'text';
3
+ export interface Room {
4
+ id: string;
5
+ spaceId: string | null;
6
+ name: string;
7
+ description: string;
8
+ type: RoomType;
9
+ defaultTopic: Topic | null;
10
+ }
@@ -0,0 +1,7 @@
1
+ import { User } from "./User";
2
+ import { SpaceMember } from "./SpaceMember";
3
+ export interface RoomMember {
4
+ user: User | null;
5
+ spaceMember: SpaceMember | null;
6
+ roles: string[] | null;
7
+ }
@@ -0,0 +1,5 @@
1
+ export interface RoomSummary {
2
+ id: string;
3
+ name: string;
4
+ description: string;
5
+ }
@@ -0,0 +1,6 @@
1
+ import { Role } from "./Role";
2
+ export interface Space {
3
+ id: string;
4
+ name: string;
5
+ roles: Role[];
6
+ }
@@ -0,0 +1,5 @@
1
+ import { User } from "./User";
2
+ export interface SpaceMember {
3
+ user: User | null;
4
+ roles: string[];
5
+ }
@@ -0,0 +1,5 @@
1
+ export interface Topic {
2
+ id: string;
3
+ name: string;
4
+ description: string;
5
+ }
@@ -0,0 +1,8 @@
1
+ export type UserFlag = 'bot' | 'temp';
2
+ export interface User {
3
+ id: string;
4
+ nick: string;
5
+ avatar: string;
6
+ flags: UserFlag[];
7
+ online: boolean;
8
+ }
@@ -0,0 +1,6 @@
1
+ import { Space } from "./Space";
2
+ import { Room } from "./Room";
3
+ export interface UserState {
4
+ spaces: Space[];
5
+ rooms: Room[];
6
+ }
@@ -0,0 +1,5 @@
1
+ import { ChatLocation } from "../ChatLocation";
2
+ export interface Ack {
3
+ location: ChatLocation;
4
+ messageId?: string;
5
+ }
@@ -0,0 +1,6 @@
1
+ import { ChatLocation } from "../ChatLocation";
2
+ export interface AssignRole {
3
+ roleId: string;
4
+ userId: string;
5
+ location: ChatLocation;
6
+ }
@@ -0,0 +1,5 @@
1
+ import { ChatLocation } from "../ChatLocation";
2
+ export interface CreateMessage {
3
+ location: ChatLocation;
4
+ content: string;
5
+ }
@@ -0,0 +1,5 @@
1
+ import { ChatLocation } from "../ChatLocation";
2
+ export interface CreateOwner {
3
+ location: ChatLocation;
4
+ userId: string;
5
+ }
@@ -0,0 +1,5 @@
1
+ export interface CreateRole {
2
+ spaceId: string;
3
+ name: string;
4
+ color: string;
5
+ }
@@ -0,0 +1,5 @@
1
+ export interface CreateRoom {
2
+ spaceId: string;
3
+ name: string;
4
+ description: string;
5
+ }
@@ -0,0 +1,3 @@
1
+ export interface CreateSpace {
2
+ name: string;
3
+ }
@@ -0,0 +1,12 @@
1
+ import { ChatLocation } from "../ChatLocation";
2
+ import { CreateMessage } from "./CreateMessage";
3
+ export interface MessageReference {
4
+ topicId: string;
5
+ messageId: string;
6
+ }
7
+ export interface CreateTopic {
8
+ location: ChatLocation;
9
+ name: string;
10
+ messageRef: MessageReference | null;
11
+ initialMessage: Omit<CreateMessage, 'location'> | null;
12
+ }
@@ -0,0 +1,6 @@
1
+ import { ChatLocation } from "../ChatLocation";
2
+ export interface DeassignRole {
3
+ roleId: string;
4
+ userId: string;
5
+ location: ChatLocation;
6
+ }
@@ -0,0 +1,5 @@
1
+ import { ChatLocation } from "../ChatLocation";
2
+ export interface DeleteOwner {
3
+ location: ChatLocation;
4
+ userId: string;
5
+ }
@@ -0,0 +1,4 @@
1
+ export interface DeleteRole {
2
+ roleId: string;
3
+ spaceId: string;
4
+ }
@@ -0,0 +1,3 @@
1
+ export interface DeleteRoom {
2
+ id: string;
3
+ }
@@ -0,0 +1,3 @@
1
+ export interface DeleteSpace {
2
+ id: string;
3
+ }
@@ -0,0 +1,4 @@
1
+ import { ChatLocation } from "../ChatLocation";
2
+ export interface DeleteTopic {
3
+ location: ChatLocation;
4
+ }
@@ -0,0 +1,4 @@
1
+ import { ChatLocation } from "../ChatLocation";
2
+ export interface GetAckReports {
3
+ location: ChatLocation;
4
+ }
@@ -0,0 +1,4 @@
1
+ import { ChatLocation } from "../ChatLocation";
2
+ export interface GetComputedPermissions {
3
+ location: ChatLocation;
4
+ }
@@ -0,0 +1,4 @@
1
+ import { ChatLocation } from "../ChatLocation";
2
+ export interface GetOwners {
3
+ location: ChatLocation;
4
+ }
@@ -0,0 +1,4 @@
1
+ import { ChatLocation } from "../ChatLocation";
2
+ export interface GetPermissionOverwriteTargets {
3
+ location: ChatLocation;
4
+ }
@@ -0,0 +1,6 @@
1
+ import { ChatLocation } from "../ChatLocation";
2
+ export interface GetPermissionOverwrites {
3
+ location: ChatLocation;
4
+ target: 'User' | 'Role';
5
+ targetId: string;
6
+ }
@@ -0,0 +1,3 @@
1
+ export interface GetRoomMembers {
2
+ id: string;
3
+ }
@@ -0,0 +1,2 @@
1
+ export interface GetSession {
2
+ }
@@ -0,0 +1,3 @@
1
+ export interface GetSpaceMembers {
2
+ id: string;
3
+ }
@@ -0,0 +1,3 @@
1
+ export interface GetSpaceRooms {
2
+ id: string;
3
+ }
@@ -0,0 +1,3 @@
1
+ export interface JoinRoom {
2
+ id: string;
3
+ }
@@ -0,0 +1,3 @@
1
+ export interface JoinSpace {
2
+ id: string;
3
+ }
@@ -0,0 +1,3 @@
1
+ export interface LeaveRoom {
2
+ id: string;
3
+ }
@@ -0,0 +1,3 @@
1
+ export interface LeaveSpace {
2
+ id: string;
3
+ }
@@ -0,0 +1,8 @@
1
+ import { PermissionOverwritesValue } from "../PermissionOverwritesValue";
2
+ import { ChatLocation } from "../ChatLocation";
3
+ export interface SetPermissionOverwrites {
4
+ location: ChatLocation;
5
+ target: 'User' | 'Role';
6
+ targetId: string;
7
+ overwrites: PermissionOverwritesValue;
8
+ }
@@ -0,0 +1,7 @@
1
+ export interface UpdateRole {
2
+ spaceId: string;
3
+ id: string;
4
+ priority?: number;
5
+ name?: string;
6
+ color?: string;
7
+ }
@@ -0,0 +1,5 @@
1
+ export interface UpdateRoom {
2
+ id: string;
3
+ name?: string;
4
+ description?: string;
5
+ }
@@ -0,0 +1,4 @@
1
+ export interface UpdateSpace {
2
+ id: string;
3
+ name: string;
4
+ }
@@ -0,0 +1,4 @@
1
+ import { AckReport } from "../AckReport";
2
+ export interface AckReports {
3
+ reports: AckReport[];
4
+ }
@@ -0,0 +1,3 @@
1
+ export interface Bye {
2
+ reason: string;
3
+ }
@@ -0,0 +1,5 @@
1
+ import { ChatLocation } from "../ChatLocation";
2
+ export interface ComputedPermissions {
3
+ permissions: number;
4
+ location: ChatLocation;
5
+ }
@@ -0,0 +1,4 @@
1
+ export interface Error {
2
+ code: string;
3
+ message: string;
4
+ }
@@ -0,0 +1,6 @@
1
+ import { Message } from "../Message";
2
+ import { ChatLocation } from "../ChatLocation";
3
+ export interface NewMessage {
4
+ location: ChatLocation;
5
+ message: Message;
6
+ }
@@ -0,0 +1,5 @@
1
+ import { Role } from "../Role";
2
+ export interface NewRole {
3
+ spaceId: string;
4
+ role: Role;
5
+ }
@@ -0,0 +1,5 @@
1
+ import { RoomSummary } from "../RoomSummary";
2
+ export interface NewRoom {
3
+ summary: RoomSummary;
4
+ spaceId: string;
5
+ }
@@ -0,0 +1,5 @@
1
+ import { Topic } from "../Topic";
2
+ export interface NewTopic {
3
+ roomId: string;
4
+ topic: Topic;
5
+ }
@@ -0,0 +1,2 @@
1
+ export interface Ok {
2
+ }
@@ -0,0 +1,8 @@
1
+ import { ChatLocation } from "../ChatLocation";
2
+ import { RoomMember } from "../RoomMember";
3
+ import { SpaceMember } from "../SpaceMember";
4
+ export interface Owners {
5
+ location: ChatLocation;
6
+ spaceMembers: SpaceMember[] | null;
7
+ roomMembers: RoomMember[] | null;
8
+ }
@@ -0,0 +1,10 @@
1
+ import { ChatLocation } from "../ChatLocation";
2
+ import { SpaceMember } from "../SpaceMember";
3
+ import { RoomMember } from "../RoomMember";
4
+ import { Role } from "../Role";
5
+ export interface PermissionOverwriteTargets {
6
+ location: ChatLocation;
7
+ spaceMembers: SpaceMember[] | null;
8
+ roomMembers: RoomMember[] | null;
9
+ roles: Role[] | null;
10
+ }
@@ -0,0 +1,8 @@
1
+ import { PermissionOverwritesValue } from "../PermissionOverwritesValue";
2
+ import { ChatLocation } from "../ChatLocation";
3
+ export interface PermissionOverwrites {
4
+ location: ChatLocation;
5
+ target: 'User' | 'Role';
6
+ targetId: string;
7
+ overwrites: PermissionOverwritesValue;
8
+ }