diff --git a/src/bot/users.ts b/src/bot/users.ts index eb699b683b1..bb3ff857d35 100644 --- a/src/bot/users.ts +++ b/src/bot/users.ts @@ -13,6 +13,7 @@ import permissions from './permissions'; import oauth from './oauth'; import api from './api'; import currency from './currency'; +import { Permissions } from './database/entity/permissions'; class Users extends Core { uiSortCache: string | null = null; @@ -350,7 +351,9 @@ class Users extends Core { const aggregatedBits = viewer.bits.map((o) => Number(o.amount)).reduce((a, b) => a + b, 0); const permId = await permissions.getUserHighestPermission(userId); - const permissionGroup = permId || permission.VIEWERS; + const permissionGroup = (await getRepository(Permissions).findOneOrFail({ + where: { id: permId || permission.VIEWERS }, + })); cb(null, {...viewer, aggregatedBits, aggregatedTips, permission: permissionGroup}); } else { cb(null); diff --git a/src/panel/components/navbar/user.vue b/src/panel/components/navbar/user.vue index ed8af386fe0..b8fce34cc63 100644 --- a/src/panel/components/navbar/user.vue +++ b/src/panel/components/navbar/user.vue @@ -58,6 +58,7 @@ import { permission } from 'src/bot/helpers/permissions' import { library } from '@fortawesome/fontawesome-svg-core'; import { faUserCircle } from '@fortawesome/free-solid-svg-icons' import { UserInterface } from '../../../bot/database/entity/user'; +import { PermissionsInterface } from '../../../bot/database/entity/permissions'; library.add(faUserCircle); @Component({ @@ -73,7 +74,7 @@ export default class User extends Vue { permission = permission; isViewerLoaded: boolean = false; - viewer: (Required & { aggregatedTips: number; aggregatedBits: number; permission: string }) | null = null; + viewer: (Required & { aggregatedTips: number; aggregatedBits: number; permission: PermissionsInterface }) | null = null; beforeDestroy() { clearInterval(this.interval); @@ -121,7 +122,7 @@ export default class User extends Vue { if (typeof this.$loggedUser === 'undefined'|| this.$loggedUser === null) { return; } - this.socket.emit('viewers::findOne', this.$loggedUser.id, (err: string| number, viewer: Readonly> & { aggregatedTips: number; aggregatedBits: number; permission: string }) => { + this.socket.emit('viewers::findOne', this.$loggedUser.id, (err: string| number, viewer: Readonly> & { aggregatedTips: number; aggregatedBits: number; permission: PermissionsInterface }) => { if (err) { return console.error(err); }