mirror of
https://github.com/jeffvli/feishin.git
synced 2026-06-09 22:02:19 +02:00
Fix server folder permissions by role
This commit is contained in:
@@ -22,6 +22,7 @@ import {
|
||||
User,
|
||||
UserServerUrl,
|
||||
} from '@prisma/client';
|
||||
import { AuthUser } from '@middleware/authenticate';
|
||||
|
||||
const getSubsonicStreamUrl = (options: {
|
||||
deviceId: string;
|
||||
@@ -439,7 +440,7 @@ type DbAlbumInclude = {
|
||||
const albums = (options: {
|
||||
items: DbAlbum[] | any[];
|
||||
serverUrl?: string;
|
||||
user: User;
|
||||
user: AuthUser;
|
||||
}) => {
|
||||
const { items, serverUrl, user } = options;
|
||||
return (
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import { ServerPermissionType } from '@prisma/client';
|
||||
import { AuthUser } from '@/middleware';
|
||||
import { ApiError } from '@/utils';
|
||||
import { prisma } from '@lib/prisma';
|
||||
@@ -62,6 +63,13 @@ const getAvailableServerFolderIds = async (
|
||||
const serverFoldersWithAccess = await prisma.serverFolder.findMany({
|
||||
where: {
|
||||
OR: [
|
||||
{
|
||||
server: {
|
||||
serverPermissions: {
|
||||
some: { type: ServerPermissionType.ADMIN, userId: user.id },
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
AND: [
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user