Files
cloudbeaver/webapp/packages/core-root/src/SessionExpireEventService.ts
T
Alexey 6ad148850d refactor: migrate to pure esm CB-5684 (#2929)
* refactor: migrate to pure esm

* chore: revert `useDefineForClassFields` tsconf

* chore: remove patch.js
2024-09-21 07:06:37 +03:00

30 lines
972 B
TypeScript

/*
* CloudBeaver - Cloud Database Manager
* Copyright (C) 2020-2024 DBeaver Corp and others
*
* Licensed under the Apache License, Version 2.0.
* you may not use this file except in compliance with the License.
*/
import { Dependency, injectable } from '@cloudbeaver/core-di';
import type { WsSessionExpiredEvent } from '@cloudbeaver/core-sdk';
import { ServerEventId, SessionEventSource } from './SessionEventSource.js';
import { SessionExpireService } from './SessionExpireService.js';
@injectable()
export class SessionExpireEventService extends Dependency {
constructor(
private readonly sessionEventSource: SessionEventSource,
private readonly sessionExpireService: SessionExpireService,
) {
super();
this.sessionEventSource.onEvent<WsSessionExpiredEvent>(ServerEventId.CbSessionExpired, () => {
this.onSessionExpireEvent();
});
}
private onSessionExpireEvent(): void {
this.sessionExpireService.sessionExpired();
}
}