Compare commits

..

No commits in common. "578b52919914f0fd2ba07075c7fc62888f1292ed" and "64f9cd497fad43f765c11d3c6179ac02bf28c5e1" have entirely different histories.

5 changed files with 11 additions and 59 deletions

View File

@ -1,11 +1,8 @@
import { Module } from "@nestjs/common"; import { Module } from "@nestjs/common";
import { AuthorsController } from "apps/backend/src/app/authors/authors.controller"; import { AuthorsController } from "apps/backend/src/app/authors/authors.controller";
import { AuthorsService } from "apps/backend/src/app/authors/authors.service"; import { AuthorsService } from "apps/backend/src/app/authors/authors.service";
import { CredentialsModule } from "apps/backend/src/app/credentials/credentials.module";
import { DbModule } from "apps/backend/src/app/db/db.module";
@Module({ @Module({
imports: [DbModule, CredentialsModule],
controllers: [AuthorsController], controllers: [AuthorsController],
providers: [AuthorsService], providers: [AuthorsService],
}) })

View File

@ -1,11 +1,10 @@
import { Module } from "@nestjs/common"; import { Module } from "@nestjs/common";
import { CredentialsModule } from "apps/backend/src/app/credentials/credentials.module";
import { DbModule } from "../db/db.module"; import { DbModule } from "../db/db.module";
import { GroupsController } from "./groups.controller"; import { GroupsController } from "./groups.controller";
import { GroupsService } from "./groups.service"; import { GroupsService } from "./groups.service";
@Module({ @Module({
imports: [DbModule, CredentialsModule], imports: [DbModule],
controllers: [GroupsController], controllers: [GroupsController],
providers: [GroupsService], providers: [GroupsService],
}) })

View File

@ -1,5 +1,4 @@
import { import {
Body,
Controller, Controller,
DefaultValuePipe, DefaultValuePipe,
Delete, Delete,
@ -14,7 +13,6 @@ import {
UseGuards, UseGuards,
} from "@nestjs/common"; } from "@nestjs/common";
import { AdminGuard } from "apps/backend/src/app/auth/auth.guard"; import { AdminGuard } from "apps/backend/src/app/auth/auth.guard";
import { CreateMachineDto } from "apps/backend/src/app/machines/machines.dto";
import { MachinesService } from "apps/backend/src/app/machines/machines.service"; import { MachinesService } from "apps/backend/src/app/machines/machines.service";
@Controller("machines") @Controller("machines")
@ -31,9 +29,7 @@ export class MachinesController {
//TODO DTO //TODO DTO
@UseGuards(AdminGuard) @UseGuards(AdminGuard)
@Post("new") @Post("new")
async newMachine(@Body() body: CreateMachineDto) { async newMachine() {}
return await this.machineService.create(body.machineName, body.machineType);
}
@UseGuards(AdminGuard) @UseGuards(AdminGuard)
@Delete(":machineId") @Delete(":machineId")

View File

@ -1,11 +0,0 @@
import { MaxLength, MinLength } from "class-validator";
export class CreateMachineDto {
@MaxLength(128)
@MinLength(4)
machineName: string;
@MaxLength(64)
@MinLength(2)
machineType: string;
}

View File

@ -1,12 +1,7 @@
import { import { Injectable, NotFoundException } from "@nestjs/common";
Injectable,
InternalServerErrorException,
NotFoundException,
} from "@nestjs/common";
import { DbService } from "apps/backend/src/app/db/db.service"; import { DbService } from "apps/backend/src/app/db/db.service";
import { import {
FilesForMachinesTable, FilesForMachinesTable,
FilesTable,
MachinesTable, MachinesTable,
} from "apps/backend/src/app/db/schema"; } from "apps/backend/src/app/db/schema";
import { eq, ilike } from "drizzle-orm"; import { eq, ilike } from "drizzle-orm";
@ -40,38 +35,18 @@ export class MachinesService {
} }
//TODO The method to create a machine //TODO The method to create a machine
async create(machineName: string, machineType: string) {
try {
const newMachine = await this.database
.use()
.insert(MachinesTable)
.values({
machineName,
machineType,
})
.prepare("createMachine")
.execute();
console.log("Created a new machine.", newMachine);
return newMachine;
} catch (e) {
console.error(e);
throw new InternalServerErrorException(
"Insertion of the new machine failed, see the server console for more information.",
);
}
}
//TODO a method to delete a machine and delete the associated FilesTypeForMachine row //TODO a method to delete a machine and delete the associated FilesTypeForMachine row
/** /**
* Finds files associated with a specific machine. * Retrieves a list of files associated with a specific machine from the database.
* *
* @param {number} limit - The maximum number of files to return. * @param {number} limit - The maximum number of files to retrieve.
* @param {number} offset - The number of files to skip before starting to return results. * @param {number} offset - The offset from which to start retrieving files.
* @param {string} searchField - The field to search within for files. * @param {string} searchField - The specific field to search within the files.
* @param {string} machineId - The ID of the machine to find files for. * @param {string} machineId - The unique identifier of the machine.
* @returns {Promise<Array<Object>>} A promise that resolves to an array of files associated with the specified machine. * @return {Promise<Array>} A promise that resolves to an array of file records for the machine.
* @throws {NotFoundException} If the machine ID is not found. * @throws {NotFoundException} If the machine with the given id is not found.
*/ */
async findFilesForMachine( async findFilesForMachine(
limit: number, limit: number,
@ -91,15 +66,11 @@ export class MachinesService {
return await this.database return await this.database
.use() .use()
.select({ .select()
associatedMachine: FilesForMachinesTable.machineId,
data: FilesTable,
})
.from(FilesForMachinesTable) .from(FilesForMachinesTable)
.where(eq(FilesForMachinesTable.machineId, machineId)) .where(eq(FilesForMachinesTable.machineId, machineId))
.limit(limit) .limit(limit)
.offset(offset) .offset(offset)
.leftJoin(FilesTable, eq(FilesTable.uuid, FilesForMachinesTable.fileId))
.prepare("findFilesForMachineId") .prepare("findFilesForMachineId")
.execute(); .execute();
} }