Update more API endpoints to use new user model

This commit is contained in:
advplyr 2024-08-11 15:15:34 -05:00
parent 9facf77ff1
commit afc16358ca
23 changed files with 856 additions and 404 deletions

View file

@ -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)
}