Compare commits

...

2 Commits

Author SHA1 Message Date
289ec09868
Add method to search machines with limit and offset
Implemented `findMany` method to fetch machines based on a search field, applying limit and offset for pagination. Includes console logs for tracking search parameters and results.
2024-10-08 13:49:06 +02:00
52870aeb0d
Fix author parameter name in deleteAuthor method
Changed the parameter name from 'machineId' to 'author' in the deleteAuthor method to reflect the actual parameter expected by the route. This improves code clarity and ensures the method receives the correct data.
2024-10-08 13:42:54 +02:00
2 changed files with 26 additions and 2 deletions

View File

@ -29,7 +29,7 @@ export class AuthorsController {
@UseGuards(AdminGuard)
@Delete(":autor")
async deleteAuthor(@Param("machineId") machineId: string) {}
async deleteAuthor(@Param("author") author: string) {}
//TODO Patch

View File

@ -1,11 +1,35 @@
import { Injectable } from "@nestjs/common";
import { DbService } from "apps/backend/src/app/db/db.service";
import { MachinesTable } from "apps/backend/src/app/db/schema";
import { ilike } from "drizzle-orm";
@Injectable()
export class MachinesService {
constructor(private readonly database: DbService) {}
//TODO a method to fetch machines in the database by a specific search with limit, offset and a search field (can be blank)
/**
* Finds and returns a list of machines based on the given search parameters.
*
* @param {number} limit - The maximum number of machines to return.
* @param {number} offset - The number of machines to skip before starting to collect the result set.
* @param {string} searchField - The field to search within the machine names.
*
* @return {Promise<Array>} A promise that resolves to an array of found machines.
*/
async findMany(limit: number, offset: number, searchField: string) {
console.log(`Searching machines. \nSearch : ${searchField}`);
const machines = await this.database
.use()
.select()
.from(MachinesTable)
.where(ilike(MachinesTable.machineName, String(`%${searchField}%`)))
.limit(limit)
.offset(offset)
.prepare("findMachineByName")
.execute();
console.log(`Found ${machines.length} machines.`);
return machines;
}
//TODO The method to create a machine