fix(media): exclude null mediaAddedAt entries (#2607)
This commit is contained in:
@@ -17,7 +17,7 @@ import logger from '@server/logger';
|
|||||||
import { isAuthenticated } from '@server/middleware/auth';
|
import { isAuthenticated } from '@server/middleware/auth';
|
||||||
import { Router } from 'express';
|
import { Router } from 'express';
|
||||||
import type { FindOneOptions } from 'typeorm';
|
import type { FindOneOptions } from 'typeorm';
|
||||||
import { In } from 'typeorm';
|
import { In, IsNull, Not } from 'typeorm';
|
||||||
|
|
||||||
const mediaRoutes = Router();
|
const mediaRoutes = Router();
|
||||||
|
|
||||||
@@ -68,12 +68,18 @@ mediaRoutes.get('/', async (req, res, next) => {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let whereClause: FindOneOptions<Media>['where'];
|
||||||
|
if (statusFilter || req.query.sort === 'mediaAdded') {
|
||||||
|
whereClause = {};
|
||||||
|
if (statusFilter) whereClause.status = statusFilter;
|
||||||
|
if (req.query.sort === 'mediaAdded')
|
||||||
|
whereClause.mediaAddedAt = Not(IsNull());
|
||||||
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const [media, mediaCount] = await mediaRepository.findAndCount({
|
const [media, mediaCount] = await mediaRepository.findAndCount({
|
||||||
order: sortFilter,
|
order: sortFilter,
|
||||||
where: statusFilter && {
|
where: whereClause,
|
||||||
status: statusFilter,
|
|
||||||
},
|
|
||||||
take: pageSize,
|
take: pageSize,
|
||||||
skip,
|
skip,
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user