feat(backend): Suche und Filter (Modul 14)

SearchModule mit GET /search?q= über Bienenstände, Völker,
Königinnen, Aufgaben und Honigchargen. Kombinierbare Filter
(Status, Standort, Bienenstand) in den bestehenden List-Endpunkten.
This commit is contained in:
Nick Szaunig committed 2026-08-22 05:29:47 +02:00
1 parent 55b9bc2587
commit 146b56d683
15 files changed
+337 -27

No files matched your search

+10 -3
View File
@@ -1,11 +1,15 @@
import { Injectable, NotFoundException } from '@nestjs/common';
import { PrismaService } from '../prisma/prisma.service';
import { AuditLogService } from '../audit/audit-log.service';
import { Queen } from '../../generated/prisma';
import { Queen, QueenStatus } from '../../generated/prisma';
import { CreateQueenDto } from './dto/create-queen.dto';
import { UpdateQueenDto } from './dto/update-queen.dto';
import { AssignColonyDto } from './dto/assign-colony.dto';
export interface QueenFilter {
status?: QueenStatus;
}
@Injectable()
export class QueensService {
constructor(
@@ -13,8 +17,11 @@ export class QueensService {
private readonly auditLog: AuditLogService,
) {}
async findAll(): Promise<Queen[]> {
return this.prisma.queen.findMany({ orderBy: { code: 'asc' } });
async findAll(filter: QueenFilter = {}): Promise<Queen[]> {
return this.prisma.queen.findMany({
where: { status: filter.status },
orderBy: { code: 'asc' },
});
}
async findById(id: string): Promise<Queen> {