mirror of
https://github.com/hedgedoc/hedgedoc.git
synced 2025-05-20 10:15:17 -04:00
refactor(realtime): solve circle dependencies in realtime-user-status-adapter.ts
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
This commit is contained in:
parent
8cd93918e2
commit
e3a3690b58
5 changed files with 259 additions and 191 deletions
|
@ -82,8 +82,21 @@ export class MockConnectionBuilder {
|
|||
const displayName = this.deriveDisplayName();
|
||||
|
||||
const transporter = new MockedBackendMessageTransporter('');
|
||||
let realtimeUserStateAdapter: RealtimeUserStatusAdapter =
|
||||
Mock.of<RealtimeUserStatusAdapter>({});
|
||||
const realtimeUserStateAdapter: RealtimeUserStatusAdapter =
|
||||
this.includeRealtimeUserStatus === RealtimeUserState.WITHOUT
|
||||
? Mock.of<RealtimeUserStatusAdapter>({})
|
||||
: new RealtimeUserStatusAdapter(
|
||||
this.username ?? null,
|
||||
displayName,
|
||||
() =>
|
||||
this.realtimeNote
|
||||
.getConnections()
|
||||
.map((connection) => connection.getRealtimeUserStateAdapter()),
|
||||
transporter,
|
||||
() =>
|
||||
this.includeRealtimeUserStatus ===
|
||||
RealtimeUserState.WITH_READWRITE,
|
||||
);
|
||||
|
||||
const mockUser =
|
||||
this.username === null
|
||||
|
@ -107,16 +120,6 @@ export class MockConnectionBuilder {
|
|||
this.realtimeNote.removeClient(connection),
|
||||
);
|
||||
|
||||
if (this.includeRealtimeUserStatus !== RealtimeUserState.WITHOUT) {
|
||||
realtimeUserStateAdapter = new RealtimeUserStatusAdapter(
|
||||
this.username ?? null,
|
||||
displayName,
|
||||
connection,
|
||||
() =>
|
||||
this.includeRealtimeUserStatus === RealtimeUserState.WITH_READWRITE,
|
||||
);
|
||||
}
|
||||
|
||||
this.realtimeNote.addClient(connection);
|
||||
|
||||
return connection;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue