polfan-server-js-client 0.2.84 → 0.2.86

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 (29) hide show
  1. package/.idea/workspace.xml +50 -37
  2. package/build/index.cjs.js +35 -29
  3. package/build/index.cjs.js.map +1 -1
  4. package/build/index.umd.js +1 -1
  5. package/build/index.umd.js.map +1 -1
  6. package/build/types/AbstractChatClient.d.ts +3 -1
  7. package/build/types/types/src/index.d.ts +4 -1
  8. package/build/types/types/src/schemes/BanObject.d.ts +4 -1
  9. package/build/types/types/src/schemes/RoomSummary.d.ts +1 -0
  10. package/build/types/types/src/schemes/UserInformation.d.ts +11 -0
  11. package/build/types/types/src/schemes/commands/Ban.d.ts +2 -0
  12. package/build/types/types/src/schemes/commands/GetBans.d.ts +2 -0
  13. package/build/types/types/src/schemes/commands/GetUserInfo.d.ts +3 -0
  14. package/build/types/types/src/schemes/commands/Unban.d.ts +1 -3
  15. package/build/types/types/src/schemes/events/Session.d.ts +1 -0
  16. package/build/types/types/src/schemes/events/UserInfo.d.ts +4 -0
  17. package/package.json +1 -1
  18. package/src/AbstractChatClient.ts +4 -0
  19. package/src/state-tracker/TopicHistoryWindow.ts +7 -3
  20. package/src/types/src/index.ts +7 -1
  21. package/src/types/src/schemes/BanObject.ts +5 -1
  22. package/src/types/src/schemes/RoomSummary.ts +1 -0
  23. package/src/types/src/schemes/UserInformation.ts +12 -0
  24. package/src/types/src/schemes/commands/Ban.ts +2 -0
  25. package/src/types/src/schemes/commands/GetBans.ts +2 -0
  26. package/src/types/src/schemes/commands/GetUserInfo.ts +3 -0
  27. package/src/types/src/schemes/commands/Unban.ts +1 -4
  28. package/src/types/src/schemes/events/Session.ts +1 -0
  29. package/src/types/src/schemes/events/UserInfo.ts +5 -0
@@ -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, Ack, UserUpdated, UpdateRoom, RoomUpdated, UpdateSpace, SpaceUpdated, PermissionOverwriteTargets, GetPermissionOverwriteTargets, Owners, Ok, GetOwners, CreateOwner, RoleDeleted, FollowedTopicUpdated, TopicFollowed, TopicUnfollowed, FollowedTopics, FollowTopic, UnfollowTopic, GetFollowedTopics, Messages, GetMessages, Topics, GetTopics, TopicUpdated, UpdateTopic, GetDiscoverableSpaces, DiscoverableSpaces, CreateEmoticon, DeleteEmoticon, GetEmoticons, Emoticons, EmoticonDeleted, NewEmoticon, Bans, GetBans, Ban, Unban, Kick, ClientData, GetClientData, SetClientData, GetRoomSummary, GetSpaceSummary, RoomSummaryEvent, SpaceSummaryEvent, UpdateSpaceMember, Relationships, RelationshipDeleted, NewRelationship, DeleteRelationship, CreateRelationship, RoomSummaryUpdated, Pong, Ping, RedactMessages, MessagesRedacted, ReportAbuse, UpdateRoomMember, GetRelationships } from "./types/src";
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, Ack, UserUpdated, UpdateRoom, RoomUpdated, UpdateSpace, SpaceUpdated, PermissionOverwriteTargets, GetPermissionOverwriteTargets, Owners, Ok, GetOwners, CreateOwner, RoleDeleted, FollowedTopicUpdated, TopicFollowed, TopicUnfollowed, FollowedTopics, FollowTopic, UnfollowTopic, GetFollowedTopics, Messages, GetMessages, Topics, GetTopics, TopicUpdated, UpdateTopic, GetDiscoverableSpaces, DiscoverableSpaces, CreateEmoticon, DeleteEmoticon, GetEmoticons, Emoticons, EmoticonDeleted, NewEmoticon, Bans, GetBans, Ban, Unban, Kick, ClientData, GetClientData, SetClientData, GetRoomSummary, GetSpaceSummary, RoomSummaryEvent, SpaceSummaryEvent, UpdateSpaceMember, Relationships, RelationshipDeleted, NewRelationship, DeleteRelationship, CreateRelationship, RoomSummaryUpdated, Pong, Ping, RedactMessages, MessagesRedacted, ReportAbuse, UpdateRoomMember, GetRelationships, GetUserInfo, UserInfo } from "./types/src";
2
2
  import { EventTarget } from "./EventTarget";
3
3
  type ArrayOfPromiseResolvers = [(value: any) => void, (reason?: any) => void];
4
4
  type ExtraEventMap = Record<string, any>;
@@ -43,6 +43,7 @@ export type EventsMap = {
43
43
  RelationshipDeleted: RelationshipDeleted;
44
44
  Relationships: Relationships;
45
45
  Pong: Pong;
46
+ UserInfo: UserInfo;
46
47
  DiscoverableSpaces: DiscoverableSpaces;
47
48
  SpaceJoined: SpaceJoined;
48
49
  SpaceLeft: SpaceLeft;
@@ -107,6 +108,7 @@ export type CommandsMap = {
107
108
  GetRelationships: CommandDefinition<GetRelationships, EventsMap['Relationships']>;
108
109
  Ping: CommandDefinition<Ping, EventsMap['Pong']>;
109
110
  ReportAbuse: CommandDefinition<ReportAbuse, EventsMap['Ok']>;
111
+ GetUserInfo: CommandDefinition<GetUserInfo, EventsMap['UserInfo']>;
110
112
  GetDiscoverableSpaces: CommandDefinition<GetDiscoverableSpaces, EventsMap['DiscoverableSpaces']>;
111
113
  JoinSpace: CommandDefinition<JoinSpace, EventsMap['SpaceJoined']>;
112
114
  LeaveSpace: CommandDefinition<LeaveSpace, EventsMap['SpaceLeft']>;
@@ -131,4 +131,7 @@ import { ReportAbuse } from "./schemes/commands/ReportAbuse";
131
131
  import { RedactMessages } from "./schemes/commands/RedactMessages";
132
132
  import { MessagesRedacted } from "./schemes/events/MessagesRedacted";
133
133
  import { GetRelationships } from "./schemes/commands/GetRelationships";
134
- export { Envelope, Message, MessageType, MessageAuthor, Role, Room, RoomType, RoomStream, RoomStreamType, RoomHistory, RoomHistoryMode, RoomMember, RoomSummary, RoomSummaryExtras, Space, SpaceMember, Topic, FollowedTopic, User, UserState, PermissionOverwritesValue, ChatLocation, SpaceSummary, SpaceDiscoverable, Emoticon, PermissionOverwritesTarget, BanObject, LeaveReason, UserRelationship, UserRelationshipType, CreateTopicInitialMessage, Bye, Error, Messages, NewMessage, NewRole, NewRoom, NewTopic, TopicFollowed, TopicUnfollowed, FollowedTopics, FollowedTopicUpdated, 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, TopicUpdated, PermissionOverwriteTargets, Owners, Ok, DiscoverableSpaces, Emoticons, EmoticonDeleted, NewEmoticon, Bans, ClientData, SpaceSummaryEvent, RoomSummaryEvent, NewRelationship, RelationshipDeleted, Relationships, RoomSummaryUpdated, Pong, MessagesRedacted, AssignRole, GetMessages, CreateMessage, Ack, CreateRole, CreateRoom, CreateSpace, CreateTopic, FollowTopic, UnfollowTopic, GetFollowedTopics, DeassignRole, DeleteRole, DeleteRoom, DeleteSpace, DeleteTopic, SetPermissionOverwrites, GetPermissionOverwrites, GetComputedPermissions, GetRoomMembers, GetSession, GetSpaceMembers, GetSpaceRooms, JoinRoom, JoinSpace, LeaveRoom, LeaveSpace, UpdateRole, UpdateSpace, UpdateRoom, UpdateTopic, GetPermissionOverwriteTargets, CreateOwner, DeleteOwner, GetOwners, Topics, GetTopics, GetDiscoverableSpaces, GetEmoticons, CreateEmoticon, DeleteEmoticon, Ban, Unban, GetBans, Kick, GetClientData, SetClientData, GetSpaceSummary, GetRoomSummary, UpdateSpaceMember, CreateRelationship, DeleteRelationship, GetRelationships, UpdateRoomMember, Ping, ReportAbuse, RedactMessages };
134
+ import { GetUserInfo } from "./schemes/commands/GetUserInfo";
135
+ import { UserInfo } from "./schemes/events/UserInfo";
136
+ import { UserInformation } from "./schemes/UserInformation";
137
+ export { Envelope, Message, MessageType, MessageAuthor, Role, Room, RoomType, RoomStream, RoomStreamType, RoomHistory, RoomHistoryMode, RoomMember, RoomSummary, RoomSummaryExtras, Space, SpaceMember, Topic, FollowedTopic, User, UserState, PermissionOverwritesValue, ChatLocation, SpaceSummary, SpaceDiscoverable, Emoticon, PermissionOverwritesTarget, BanObject, LeaveReason, UserRelationship, UserRelationshipType, CreateTopicInitialMessage, UserInformation, Bye, Error, Messages, NewMessage, NewRole, NewRoom, NewTopic, TopicFollowed, TopicUnfollowed, FollowedTopics, FollowedTopicUpdated, 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, TopicUpdated, PermissionOverwriteTargets, Owners, Ok, DiscoverableSpaces, Emoticons, EmoticonDeleted, NewEmoticon, Bans, ClientData, SpaceSummaryEvent, RoomSummaryEvent, NewRelationship, RelationshipDeleted, Relationships, RoomSummaryUpdated, Pong, MessagesRedacted, UserInfo, AssignRole, GetMessages, CreateMessage, Ack, CreateRole, CreateRoom, CreateSpace, CreateTopic, FollowTopic, UnfollowTopic, GetFollowedTopics, DeassignRole, DeleteRole, DeleteRoom, DeleteSpace, DeleteTopic, SetPermissionOverwrites, GetPermissionOverwrites, GetComputedPermissions, GetRoomMembers, GetSession, GetSpaceMembers, GetSpaceRooms, JoinRoom, JoinSpace, LeaveRoom, LeaveSpace, UpdateRole, UpdateSpace, UpdateRoom, UpdateTopic, GetPermissionOverwriteTargets, CreateOwner, DeleteOwner, GetOwners, Topics, GetTopics, GetDiscoverableSpaces, GetEmoticons, CreateEmoticon, DeleteEmoticon, Ban, Unban, GetBans, Kick, GetClientData, SetClientData, GetSpaceSummary, GetRoomSummary, UpdateSpaceMember, CreateRelationship, DeleteRelationship, GetRelationships, UpdateRoomMember, Ping, ReportAbuse, RedactMessages, GetUserInfo, };
@@ -1,11 +1,14 @@
1
1
  import { User } from "./User";
2
2
  import { ChatLocation } from "./ChatLocation";
3
+ export type BanType = 'Ban' | 'Mute';
3
4
  export interface BanObject {
5
+ id: string;
4
6
  bannedUser: User;
5
7
  banningUser?: User;
6
8
  location: ChatLocation;
7
9
  reason: string;
8
- diagnosticId: string;
9
10
  expiresAt?: string;
10
11
  createdAt: string;
12
+ type: BanType;
13
+ parentId?: string;
11
14
  }
@@ -4,6 +4,7 @@ export interface RoomSummaryExtras {
4
4
  }
5
5
  export interface RoomSummary {
6
6
  id: string;
7
+ spaceId?: string;
7
8
  name: string;
8
9
  description: string;
9
10
  memberCount: number;
@@ -0,0 +1,11 @@
1
+ import { User } from "./User";
2
+ import { SpaceSummary } from "./SpaceSummary";
3
+ import { RoomSummary } from "./RoomSummary";
4
+ export interface UserInformation {
5
+ user: User;
6
+ firstSeenAt: string;
7
+ lastSeenAt: string;
8
+ spaces: SpaceSummary[];
9
+ rooms: RoomSummary[];
10
+ knownAliases?: User[];
11
+ }
@@ -1,8 +1,10 @@
1
1
  import { ChatLocation } from "../ChatLocation";
2
+ import { BanType } from "../BanObject";
2
3
  export interface Ban {
3
4
  userId: string;
4
5
  location: ChatLocation;
5
6
  reason: string;
6
7
  expiresAt?: string;
7
8
  notify?: boolean;
9
+ type?: BanType;
8
10
  }
@@ -1,4 +1,6 @@
1
1
  import { ChatLocation } from "../ChatLocation";
2
+ import { BanType } from "../BanObject";
2
3
  export interface GetBans {
3
4
  location: ChatLocation;
5
+ type?: BanType;
4
6
  }
@@ -0,0 +1,3 @@
1
+ export interface GetUserInfo {
2
+ id: string;
3
+ }
@@ -1,5 +1,3 @@
1
- import { ChatLocation } from "../ChatLocation";
2
1
  export interface Unban {
3
- userId: string;
4
- location: ChatLocation;
2
+ id: string;
5
3
  }
@@ -5,4 +5,5 @@ export interface Session {
5
5
  protoVersion: string;
6
6
  state: UserState;
7
7
  user: User;
8
+ ict?: string;
8
9
  }
@@ -0,0 +1,4 @@
1
+ import { UserInformation } from "../UserInformation";
2
+ export interface UserInfo {
3
+ info: UserInformation;
4
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "polfan-server-js-client",
3
- "version": "0.2.84",
3
+ "version": "0.2.86",
4
4
  "description": "JavaScript client library for handling communication with Polfan chat server.",
5
5
  "author": "Jarosław Żak",
6
6
  "license": "MIT",
@@ -109,6 +109,8 @@ import {
109
109
  ReportAbuse,
110
110
  UpdateRoomMember,
111
111
  GetRelationships,
112
+ GetUserInfo,
113
+ UserInfo,
112
114
  } from "./types/src";
113
115
  import {EventTarget} from "./EventTarget";
114
116
 
@@ -188,6 +190,7 @@ export type CommandResponse<CommandType extends keyof CommandsMap> = CommandsMap
188
190
  RelationshipDeleted: RelationshipDeleted,
189
191
  Relationships: Relationships,
190
192
  Pong: Pong,
193
+ UserInfo: UserInfo,
191
194
  // Space events
192
195
  DiscoverableSpaces: DiscoverableSpaces,
193
196
  SpaceJoined: SpaceJoined,
@@ -257,6 +260,7 @@ export type CommandsMap = {
257
260
  GetRelationships: CommandDefinition<GetRelationships, EventsMap['Relationships']>,
258
261
  Ping: CommandDefinition<Ping, EventsMap['Pong']>,
259
262
  ReportAbuse: CommandDefinition<ReportAbuse, EventsMap['Ok']>,
263
+ GetUserInfo: CommandDefinition<GetUserInfo, EventsMap['UserInfo']>,
260
264
  // Space commands
261
265
  GetDiscoverableSpaces: CommandDefinition<GetDiscoverableSpaces, EventsMap['DiscoverableSpaces']>,
262
266
  JoinSpace: CommandDefinition<JoinSpace, EventsMap['SpaceJoined']>,
@@ -329,15 +329,19 @@ export class TopicHistoryWindow extends TraversableRemoteCollection<
329
329
  return;
330
330
  }
331
331
 
332
- // const refTopicIds = this.items
333
- // .filter(msg => msg.topicRef && ev.ids.includes(msg.id))
334
- // .map(msg => msg.topicRef as string);
332
+ const refTopicIds = this.items
333
+ .filter(msg => msg.topicRef && ev.ids.includes(msg.id))
334
+ .map(msg => msg.topicRef as string);
335
335
 
336
336
  this.delete(...ev.ids);
337
337
 
338
338
  if (this.length === 0) {
339
339
  await this.resetToLatest();
340
340
  }
341
+
342
+ if (refTopicIds.length > 0) {
343
+ this.eventTarget.emit('reftopicsdeleted', refTopicIds);
344
+ }
341
345
  }
342
346
 
343
347
  protected async fetchItemsAfter(): Promise<Message[] | null> {
@@ -131,6 +131,9 @@ import {ReportAbuse} from "./schemes/commands/ReportAbuse";
131
131
  import {RedactMessages} from "./schemes/commands/RedactMessages";
132
132
  import {MessagesRedacted} from "./schemes/events/MessagesRedacted";
133
133
  import {GetRelationships} from "./schemes/commands/GetRelationships";
134
+ import {GetUserInfo} from "./schemes/commands/GetUserInfo";
135
+ import {UserInfo} from "./schemes/events/UserInfo";
136
+ import {UserInformation} from "./schemes/UserInformation";
134
137
 
135
138
  export {
136
139
  // objects
@@ -165,6 +168,7 @@ export {
165
168
  UserRelationship,
166
169
  UserRelationshipType,
167
170
  CreateTopicInitialMessage,
171
+ UserInformation,
168
172
  // events
169
173
  Bye,
170
174
  Error,
@@ -220,6 +224,7 @@ export {
220
224
  RoomSummaryUpdated,
221
225
  Pong,
222
226
  MessagesRedacted,
227
+ UserInfo,
223
228
  // commands
224
229
  AssignRole,
225
230
  GetMessages,
@@ -277,5 +282,6 @@ export {
277
282
  UpdateRoomMember,
278
283
  Ping,
279
284
  ReportAbuse,
280
- RedactMessages
285
+ RedactMessages,
286
+ GetUserInfo,
281
287
  };
@@ -1,12 +1,16 @@
1
1
  import {User} from "./User";
2
2
  import {ChatLocation} from "./ChatLocation";
3
3
 
4
+ export type BanType = 'Ban' | 'Mute';
5
+
4
6
  export interface BanObject {
7
+ id: string;
5
8
  bannedUser: User;
6
9
  banningUser?: User;
7
10
  location: ChatLocation;
8
11
  reason: string;
9
- diagnosticId: string;
10
12
  expiresAt?: string;
11
13
  createdAt: string;
14
+ type: BanType;
15
+ parentId?: string;
12
16
  }
@@ -6,6 +6,7 @@ export interface RoomSummaryExtras {
6
6
 
7
7
  export interface RoomSummary {
8
8
  id: string;
9
+ spaceId?: string;
9
10
  name: string;
10
11
  description: string;
11
12
  memberCount: number;
@@ -0,0 +1,12 @@
1
+ import {User} from "./User";
2
+ import {SpaceSummary} from "./SpaceSummary";
3
+ import {RoomSummary} from "./RoomSummary";
4
+
5
+ export interface UserInformation {
6
+ user: User;
7
+ firstSeenAt: string;
8
+ lastSeenAt: string;
9
+ spaces: SpaceSummary[];
10
+ rooms: RoomSummary[];
11
+ knownAliases?: User[];
12
+ }
@@ -1,4 +1,5 @@
1
1
  import {ChatLocation} from "../ChatLocation";
2
+ import {BanType} from "../BanObject";
2
3
 
3
4
  export interface Ban {
4
5
  userId: string;
@@ -6,4 +7,5 @@ export interface Ban {
6
7
  reason: string;
7
8
  expiresAt?: string;
8
9
  notify?: boolean;
10
+ type?: BanType;
9
11
  }
@@ -1,5 +1,7 @@
1
1
  import {ChatLocation} from "../ChatLocation";
2
+ import {BanType} from "../BanObject";
2
3
 
3
4
  export interface GetBans {
4
5
  location: ChatLocation;
6
+ type?: BanType;
5
7
  }
@@ -0,0 +1,3 @@
1
+ export interface GetUserInfo {
2
+ id: string;
3
+ }
@@ -1,6 +1,3 @@
1
- import {ChatLocation} from "../ChatLocation";
2
-
3
1
  export interface Unban {
4
- userId: string;
5
- location: ChatLocation;
2
+ id: string;
6
3
  }
@@ -6,4 +6,5 @@ export interface Session {
6
6
  protoVersion: string;
7
7
  state: UserState;
8
8
  user: User;
9
+ ict?: string;
9
10
  }
@@ -0,0 +1,5 @@
1
+ import {UserInformation} from "../UserInformation";
2
+
3
+ export interface UserInfo {
4
+ info: UserInformation;
5
+ }