mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2025-06-24 17:59:06 +02:00
Update more API endpoints to use new user model
This commit is contained in:
parent
9facf77ff1
commit
afc16358ca
23 changed files with 856 additions and 404 deletions
|
@ -1,3 +1,4 @@
|
|||
const { Request, Response } = require('express')
|
||||
const uuid = require('uuid')
|
||||
const Path = require('path')
|
||||
const { Op } = require('sequelize')
|
||||
|
@ -10,6 +11,14 @@ const { getAudioMimeTypeFromExtname, encodeUriPath } = require('../utils/fileUti
|
|||
const PlaybackSession = require('../objects/PlaybackSession')
|
||||
const ShareManager = require('../managers/ShareManager')
|
||||
|
||||
/**
|
||||
* @typedef RequestUserObjects
|
||||
* @property {import('../models/User')} userNew
|
||||
* @property {import('../objects/user/User')} user
|
||||
*
|
||||
* @typedef {Request & RequestUserObjects} RequestWithUser
|
||||
*/
|
||||
|
||||
class ShareController {
|
||||
constructor() {}
|
||||
|
||||
|
@ -20,8 +29,8 @@ class ShareController {
|
|||
*
|
||||
* @this {import('../routers/PublicRouter')}
|
||||
*
|
||||
* @param {import('express').Request} req
|
||||
* @param {import('express').Response} res
|
||||
* @param {Request} req
|
||||
* @param {Response} res
|
||||
*/
|
||||
async getMediaItemShareBySlug(req, res) {
|
||||
const { slug } = req.params
|
||||
|
@ -122,8 +131,8 @@ class ShareController {
|
|||
* GET: /api/share/:slug/cover
|
||||
* Get media item share cover image
|
||||
*
|
||||
* @param {import('express').Request} req
|
||||
* @param {import('express').Response} res
|
||||
* @param {Request} req
|
||||
* @param {Response} res
|
||||
*/
|
||||
async getMediaItemShareCoverImage(req, res) {
|
||||
if (!req.cookies.share_session_id) {
|
||||
|
@ -162,8 +171,8 @@ class ShareController {
|
|||
* GET: /api/share/:slug/track/:index
|
||||
* Get media item share audio track
|
||||
*
|
||||
* @param {import('express').Request} req
|
||||
* @param {import('express').Response} res
|
||||
* @param {Request} req
|
||||
* @param {Response} res
|
||||
*/
|
||||
async getMediaItemShareAudioTrack(req, res) {
|
||||
if (!req.cookies.share_session_id) {
|
||||
|
@ -208,8 +217,8 @@ class ShareController {
|
|||
* PATCH: /api/share/:slug/progress
|
||||
* Update media item share progress
|
||||
*
|
||||
* @param {import('express').Request} req
|
||||
* @param {import('express').Response} res
|
||||
* @param {Request} req
|
||||
* @param {Response} res
|
||||
*/
|
||||
async updateMediaItemShareProgress(req, res) {
|
||||
if (!req.cookies.share_session_id) {
|
||||
|
@ -242,12 +251,12 @@ class ShareController {
|
|||
* POST: /api/share/mediaitem
|
||||
* Create a new media item share
|
||||
*
|
||||
* @param {import('express').Request} req
|
||||
* @param {import('express').Response} res
|
||||
* @param {RequestWithUser} req
|
||||
* @param {Response} res
|
||||
*/
|
||||
async createMediaItemShare(req, res) {
|
||||
if (!req.user.isAdminOrUp) {
|
||||
Logger.error(`[ShareController] Non-admin user "${req.user.username}" attempted to create item share`)
|
||||
if (!req.userNew.isAdminOrUp) {
|
||||
Logger.error(`[ShareController] Non-admin user "${req.userNew.username}" attempted to create item share`)
|
||||
return res.sendStatus(403)
|
||||
}
|
||||
|
||||
|
@ -290,7 +299,7 @@ class ShareController {
|
|||
expiresAt: expiresAt || null,
|
||||
mediaItemId,
|
||||
mediaItemType,
|
||||
userId: req.user.id
|
||||
userId: req.userNew.id
|
||||
})
|
||||
|
||||
ShareManager.openMediaItemShare(mediaItemShare)
|
||||
|
@ -306,12 +315,12 @@ class ShareController {
|
|||
* DELETE: /api/share/mediaitem/:id
|
||||
* Delete media item share
|
||||
*
|
||||
* @param {import('express').Request} req
|
||||
* @param {import('express').Response} res
|
||||
* @param {RequestWithUser} req
|
||||
* @param {Response} res
|
||||
*/
|
||||
async deleteMediaItemShare(req, res) {
|
||||
if (!req.user.isAdminOrUp) {
|
||||
Logger.error(`[ShareController] Non-admin user "${req.user.username}" attempted to delete item share`)
|
||||
if (!req.userNew.isAdminOrUp) {
|
||||
Logger.error(`[ShareController] Non-admin user "${req.userNew.username}" attempted to delete item share`)
|
||||
return res.sendStatus(403)
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue