Add book item more menu item for Share, restrict share to admin or up, add admin socket events for open/close shares

This commit is contained in:
advplyr 2024-07-07 15:51:50 -05:00
parent e05ab14ad2
commit 2f2ec2ec1f
11 changed files with 102 additions and 37 deletions

View file

@ -1,5 +1,6 @@
const Database = require('../Database')
const Logger = require('../Logger')
const SocketAuthority = require('../SocketAuthority')
/**
* @typedef OpenMediaItemShareObject
@ -136,6 +137,7 @@ class ShareManager {
} else {
this.openMediaItemShares.push({ id: mediaItemShare.id, mediaItemShare: mediaItemShare.toJSON() })
}
SocketAuthority.adminEmitter('share_open', mediaItemShare.toJSONForClient())
}
/**
@ -153,6 +155,12 @@ class ShareManager {
this.openMediaItemShares = this.openMediaItemShares.filter((s) => s.id !== mediaItemShareId)
this.openSharePlaybackSessions = this.openSharePlaybackSessions.filter((s) => s.mediaItemShareId !== mediaItemShareId)
await this.destroyMediaItemShare(mediaItemShareId)
const mediaItemShareObjectForClient = { ...mediaItemShare.mediaItemShare }
delete mediaItemShareObjectForClient.pash
delete mediaItemShareObjectForClient.userId
delete mediaItemShareObjectForClient.extraData
SocketAuthority.adminEmitter('share_closed', mediaItemShareObjectForClient)
}
/**