fix(api): add sort, search, visibility to knowledge entry query DTO (#533)
All checks were successful
ci/woodpecker/push/api Pipeline was successful
All checks were successful
ci/woodpecker/push/api Pipeline was successful
Co-authored-by: Jason Woltje <jason@diversecanvas.com> Co-committed-by: Jason Woltje <jason@diversecanvas.com>
This commit was merged in pull request #533.
This commit is contained in:
@@ -48,6 +48,10 @@ export class KnowledgeService {
|
||||
where.status = query.status;
|
||||
}
|
||||
|
||||
if (query.visibility) {
|
||||
where.visibility = query.visibility;
|
||||
}
|
||||
|
||||
if (query.tag) {
|
||||
where.tags = {
|
||||
some: {
|
||||
@@ -58,6 +62,20 @@ export class KnowledgeService {
|
||||
};
|
||||
}
|
||||
|
||||
if (query.search) {
|
||||
where.OR = [
|
||||
{ title: { contains: query.search, mode: "insensitive" } },
|
||||
{ content: { contains: query.search, mode: "insensitive" } },
|
||||
];
|
||||
}
|
||||
|
||||
// Build orderBy
|
||||
const sortField = query.sortBy ?? "updatedAt";
|
||||
const sortDirection = query.sortOrder ?? "desc";
|
||||
const orderBy: Prisma.KnowledgeEntryOrderByWithRelationInput = {
|
||||
[sortField]: sortDirection,
|
||||
};
|
||||
|
||||
// Get total count
|
||||
const total = await this.prisma.knowledgeEntry.count({ where });
|
||||
|
||||
@@ -71,9 +89,7 @@ export class KnowledgeService {
|
||||
},
|
||||
},
|
||||
},
|
||||
orderBy: {
|
||||
updatedAt: "desc",
|
||||
},
|
||||
orderBy,
|
||||
skip,
|
||||
take: limit,
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user