mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2025-07-21 03:14:38 +02:00
Update sessions modal to show username & update sessions endpoints to always return username
This commit is contained in:
parent
3845940245
commit
e678fe6e2f
3 changed files with 23 additions and 13 deletions
|
@ -81,7 +81,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="w-full md:w-1/3">
|
<div class="w-full md:w-1/3">
|
||||||
<p v-if="!isMediaItemShareSession" class="font-semibold uppercase text-xs text-gray-400 tracking-wide mb-2 mt-6 md:mt-0">{{ $strings.LabelUser }}</p>
|
<p v-if="!isMediaItemShareSession" class="font-semibold uppercase text-xs text-gray-400 tracking-wide mb-2 mt-6 md:mt-0">{{ $strings.LabelUser }}</p>
|
||||||
<p v-if="!isMediaItemShareSession" class="mb-1 text-xs">{{ _session.userId }}</p>
|
<p v-if="!isMediaItemShareSession" class="mb-1 text-xs">{{ username }}</p>
|
||||||
|
|
||||||
<p class="font-semibold uppercase text-xs text-gray-400 tracking-wide mt-6 mb-2">{{ $strings.LabelMediaPlayer }}</p>
|
<p class="font-semibold uppercase text-xs text-gray-400 tracking-wide mt-6 mb-2">{{ $strings.LabelMediaPlayer }}</p>
|
||||||
<p class="mb-1">{{ playMethodName }}</p>
|
<p class="mb-1">{{ playMethodName }}</p>
|
||||||
|
@ -132,6 +132,9 @@ export default {
|
||||||
_session() {
|
_session() {
|
||||||
return this.session || {}
|
return this.session || {}
|
||||||
},
|
},
|
||||||
|
username() {
|
||||||
|
return this._session.user?.username || this._session.userId || ''
|
||||||
|
},
|
||||||
deviceInfo() {
|
deviceInfo() {
|
||||||
return this._session.deviceInfo || {}
|
return this._session.deviceInfo || {}
|
||||||
},
|
},
|
||||||
|
|
|
@ -57,26 +57,24 @@ class SessionController {
|
||||||
}
|
}
|
||||||
|
|
||||||
let where = null
|
let where = null
|
||||||
const include = [
|
|
||||||
{
|
|
||||||
model: Database.models.device
|
|
||||||
}
|
|
||||||
]
|
|
||||||
|
|
||||||
if (userId) {
|
if (userId) {
|
||||||
where = {
|
where = {
|
||||||
userId
|
userId
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
include.push({
|
|
||||||
model: Database.userModel,
|
|
||||||
attributes: ['id', 'username']
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const { rows, count } = await Database.playbackSessionModel.findAndCountAll({
|
const { rows, count } = await Database.playbackSessionModel.findAndCountAll({
|
||||||
where,
|
where,
|
||||||
include,
|
include: [
|
||||||
|
{
|
||||||
|
model: Database.deviceModel
|
||||||
|
},
|
||||||
|
{
|
||||||
|
model: Database.userModel,
|
||||||
|
attributes: ['id', 'username']
|
||||||
|
}
|
||||||
|
],
|
||||||
order: [[orderKey, orderDesc]],
|
order: [[orderKey, orderDesc]],
|
||||||
limit: itemsPerPage,
|
limit: itemsPerPage,
|
||||||
offset: itemsPerPage * page
|
offset: itemsPerPage * page
|
||||||
|
|
|
@ -439,7 +439,16 @@ class UserController {
|
||||||
const page = toNumber(req.query.page, 0)
|
const page = toNumber(req.query.page, 0)
|
||||||
|
|
||||||
const start = page * itemsPerPage
|
const start = page * itemsPerPage
|
||||||
const sessions = listeningSessions.slice(start, start + itemsPerPage)
|
// Map user to sessions to match the format of the sessions endpoint
|
||||||
|
const sessions = listeningSessions.slice(start, start + itemsPerPage).map((session) => {
|
||||||
|
return {
|
||||||
|
...session,
|
||||||
|
user: {
|
||||||
|
id: req.reqUser.id,
|
||||||
|
username: req.reqUser.username
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
const payload = {
|
const payload = {
|
||||||
total: listeningSessions.length,
|
total: listeningSessions.length,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue