column filters now work

This commit is contained in:
juhanikat
2025-03-04 16:58:55 +02:00
parent b252f8c7ab
commit f03959e55d
8 changed files with 126 additions and 16 deletions
+8 -2
View File
@@ -1,6 +1,7 @@
import { User, CrossSearch, Role } from '../../../frontend/src/shared/types'
import { nowDb } from '../utils/db'
import {
ColumnFilter,
generateFilteredCrossSearchSql,
generateFilteredCrossSearchSqlWithAdmin,
generateFilteredCrossSearchSqlWithNoUser,
@@ -15,10 +16,15 @@ const getIdsOfUsersProjects = async (user: User) => {
return new Set(usersProjects.map(({ pid }) => pid))
}
export const getCrossSearchRawSql = async (user: User | undefined, limit?: number, offset?: number) => {
export const getCrossSearchRawSql = async (
user: User | undefined,
limit?: number,
offset?: number,
columnFilters?: ColumnFilter[]
) => {
const showAll = user && [Role.Admin, Role.EditUnrestricted].includes(user.role)
if (!user) {
const sql = generateFilteredCrossSearchSqlWithNoUser(limit, offset)
const sql = generateFilteredCrossSearchSqlWithNoUser(limit, offset, columnFilters)
const result: Partial<CrossSearch>[] = await nowDb.$queryRaw(sql)
return result
}