From 85c4f4371ddf9d704ed76bfa70b584679dbdb048 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miroslav=20=C5=A0ediv=C3=BD?= Date: Sun, 14 Mar 2021 00:08:52 +0100 Subject: [PATCH] member -> session. --- src/component/internal/messages.ts | 42 +++++++++++++++--------------- src/component/main.vue | 16 ++++++------ src/component/types/messages.ts | 11 ++++---- src/component/types/state.ts | 8 +++--- 4 files changed, 38 insertions(+), 39 deletions(-) diff --git a/src/component/internal/messages.ts b/src/component/internal/messages.ts index 6c5994a6..0e1266cb 100644 --- a/src/component/internal/messages.ts +++ b/src/component/internal/messages.ts @@ -27,10 +27,10 @@ export interface NekoEvents { ['receive.unicast']: (sender: string, subject: string, body: any) => void ['receive.broadcast']: (sender: string, subject: string, body: any) => void - // member events - ['member.created']: (id: string) => void - ['member.deleted']: (id: string) => void - ['member.updated']: (id: string) => void + // session events + ['session.created']: (id: string) => void + ['session.deleted']: (id: string) => void + ['session.updated']: (id: string) => void // room events ['room.control.host']: (hasHost: boolean, hostID: string | undefined) => void @@ -65,11 +65,11 @@ export class NekoMessages extends EventEmitter { protected [EVENT.SYSTEM_INIT](conf: message.SystemInit) { this._log.debug('EVENT.SYSTEM_INIT') - Vue.set(this.state, 'member_id', conf.member_id) + Vue.set(this.state, 'session_id', conf.session_id) Vue.set(this.state.control, 'implicit_hosting', conf.implicit_hosting) - for (const id in conf.members) { - this[EVENT.SESSION_CREATED](conf.members[id]) + for (const id in conf.sessions) { + this[EVENT.SESSION_CREATED](conf.sessions[id]) } this[EVENT.SCREEN_UPDATED](conf.screen_size) @@ -120,31 +120,31 @@ export class NekoMessages extends EventEmitter { } ///////////////////////////// - // Member Events + // Session Events ///////////////////////////// - protected [EVENT.SESSION_CREATED]({ id, ...data }: message.MemberData) { + protected [EVENT.SESSION_CREATED]({ id, ...data }: message.SessionData) { this._log.debug('EVENT.SESSION_CREATED', id) - Vue.set(this.state.members, id, data) - this.emit('member.created', id) + Vue.set(this.state.sessions, id, data) + this.emit('session.created', id) } - protected [EVENT.SESSION_DELETED]({ id }: message.MemberID) { + protected [EVENT.SESSION_DELETED]({ id }: message.SessionID) { this._log.debug('EVENT.SESSION_DELETED', id) - Vue.delete(this.state.members, id) - this.emit('member.deleted', id) + Vue.delete(this.state.sessions, id) + this.emit('session.deleted', id) } protected [EVENT.SESSION_PROFILE]({ id, ...profile }: message.MemberProfile) { this._log.debug('EVENT.SESSION_PROFILE', id) - Vue.set(this.state.members[id], 'profile', profile) - this.emit('member.updated', id) + Vue.set(this.state.sessions[id], 'profile', profile) + this.emit('session.updated', id) } protected [EVENT.SESSION_STATE]({ id, ...state }: message.SessionState) { this._log.debug('EVENT.SESSION_STATE', id) - Vue.set(this.state.members[id], 'state', state) - this.emit('member.updated', id) + Vue.set(this.state.sessions[id], 'state', state) + this.emit('session.updated', id) } ///////////////////////////// @@ -211,17 +211,17 @@ export class NekoMessages extends EventEmitter { // FileChooserDialog Events ///////////////////////////// - protected [EVENT.FILE_CHOOSER_DIALOG_OPENED]({ id }: message.MemberID) { + protected [EVENT.FILE_CHOOSER_DIALOG_OPENED]({ id }: message.SessionID) { this._log.debug('EVENT.FILE_CHOOSER_DIALOG_OPENED') - if (id == this.state.member_id) { + if (id == this.state.session_id) { this.emit('upload.dialog.requested') } else { this.emit('upload.dialog.overlay', id) } } - protected [EVENT.FILE_CHOOSER_DIALOG_CLOSED]({ id }: message.MemberID) { + protected [EVENT.FILE_CHOOSER_DIALOG_CLOSED]({ id }: message.SessionID) { this._log.debug('EVENT.FILE_CHOOSER_DIALOG_CLOSED') this.emit('upload.dialog.closed') } diff --git a/src/component/main.vue b/src/component/main.vue index 9e1d1104..1be4bb08 100644 --- a/src/component/main.vue +++ b/src/component/main.vue @@ -10,10 +10,10 @@ :isControling="controlling && watching" :cursorTag=" state.control.implicit_hosting && state.control.host_id != null - ? state.members[state.control.host_id].profile.name + ? state.sessions[state.control.host_id].profile.name : '' " - :implicitControl="state.control.implicit_hosting && state.members[state.member_id].profile.can_host" + :implicitControl="state.control.implicit_hosting && state.sessions[state.session_id].profile.can_host" @implicit-control-request="websocket.send('control/request')" @implicit-control-release="websocket.send('control/release')" @update-kbd-modifiers="websocket.send('keyboard/modifiers', $event)" @@ -138,8 +138,8 @@ }, configurations: [], }, - member_id: null, - members: {}, + session_id: null, + sessions: {}, } as NekoState public get authenticated() { @@ -155,11 +155,11 @@ } public get controlling() { - return this.state.control.host_id !== null && this.state.member_id === this.state.control.host_id + return this.state.control.host_id !== null && this.state.session_id === this.state.control.host_id } public get is_admin() { - return this.state.member_id != null ? this.state.members[this.state.member_id].profile.is_admin : false + return this.state.session_id != null ? this.state.sessions[this.state.session_id].profile.is_admin : false } ///////////////////////////// @@ -588,8 +588,8 @@ Vue.set(this.state.control, 'implicit_hosting', false) Vue.set(this.state.screen, 'size', { width: 1280, height: 720, rate: 30 }) Vue.set(this.state.screen, 'configurations', []) - Vue.set(this.state, 'member_id', null) - Vue.set(this.state, 'members', {}) + Vue.set(this.state, 'session_id', null) + Vue.set(this.state, 'sessions', {}) } } diff --git a/src/component/types/messages.ts b/src/component/types/messages.ts index 0b83bd1e..98c1366f 100644 --- a/src/component/types/messages.ts +++ b/src/component/types/messages.ts @@ -9,10 +9,10 @@ export interface Message { export interface SystemInit { event: string | undefined - member_id: string + session_id: string control_host: ControlHost screen_size: ScreenSize - members: Record + sessions: Record implicit_hosting: boolean } @@ -55,11 +55,10 @@ export interface SignalVideo { } ///////////////////////////// -// Member +// Session ///////////////////////////// -// TODO: New. -export interface MemberID { +export interface SessionID { event: string | undefined id: string } @@ -83,7 +82,7 @@ export interface SessionState { is_watching: boolean } -export interface MemberData { +export interface SessionData { event: string | undefined id: string profile: MemberProfile diff --git a/src/component/types/state.ts b/src/component/types/state.ts index d7664349..006c67df 100644 --- a/src/component/types/state.ts +++ b/src/component/types/state.ts @@ -3,8 +3,8 @@ export default interface State { video: Video control: Control screen: Screen - member_id: string | null - members: Record + session_id: string | null + sessions: Record } ///////////////////////////// @@ -84,7 +84,7 @@ export interface ScreenSize { } ///////////////////////////// -// Member +// Session ///////////////////////////// export interface MemberProfile { name: string @@ -101,7 +101,7 @@ export interface SessionState { is_watching: boolean } -export interface Member { +export interface Session { id: string profile: MemberProfile state: SessionState