xxx
This commit is contained in:
@@ -1,4 +1,14 @@
|
||||
import { Controller, Delete, Get, Param, Req, UseGuards } from '@nestjs/common';
|
||||
import {
|
||||
Body,
|
||||
Controller,
|
||||
Delete,
|
||||
Get,
|
||||
Param,
|
||||
Post,
|
||||
Put,
|
||||
Req,
|
||||
UseGuards,
|
||||
} from '@nestjs/common';
|
||||
import { AuthGuard } from 'src/core/guards/auth.guard';
|
||||
import { CylinderService } from './cylinder.service';
|
||||
import { AuthenticatedRequest } from 'src/model/interface/authenticated-request.interface';
|
||||
@@ -15,7 +25,23 @@ export class CylinderController {
|
||||
}
|
||||
|
||||
@Delete(':id')
|
||||
deleteKey(@Req() req: AuthenticatedRequest, @Param() id: string) {
|
||||
return this.service.deleteKey(req.user, id);
|
||||
deleteKey(@Req() req: AuthenticatedRequest, @Param('id') id: string) {
|
||||
return this.service.deleteCylinder(req.user, id);
|
||||
}
|
||||
|
||||
@Put()
|
||||
updateCylinder(
|
||||
@Req() req: AuthenticatedRequest,
|
||||
@Body() b: Partial<Cylinder>,
|
||||
) {
|
||||
return this.service.updateCylinder(req.user, b);
|
||||
}
|
||||
|
||||
@Post()
|
||||
createCylinder(
|
||||
@Req() req: AuthenticatedRequest,
|
||||
@Body() b: Partial<Cylinder>,
|
||||
) {
|
||||
return this.service.createCylinder(req.user, b);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,12 +19,28 @@ export class CylinderService {
|
||||
return c;
|
||||
}
|
||||
|
||||
async deleteKey(user: User, id: string) {
|
||||
async deleteCylinder(user: User, cylinderid: string) {
|
||||
const cylinder = await this.cylinderRepo.findOneOrFail({
|
||||
where: { id: id, system: { managers: { id: user.id } } },
|
||||
where: { id: cylinderid, system: { managers: { id: user.id } } },
|
||||
relations: ['keys'],
|
||||
});
|
||||
await this.keyRepo.softRemove(cylinder.keys);
|
||||
return this.cylinderRepo.softRemove(cylinder);
|
||||
}
|
||||
|
||||
async updateCylinder(user: User, cylinder: Partial<Cylinder>) {
|
||||
const original = await this.cylinderRepo.findOneOrFail({
|
||||
where: { id: cylinder.id, system: { managers: { id: user.id } } },
|
||||
relations: ['keys', 'system'],
|
||||
});
|
||||
|
||||
Object.keys(cylinder).forEach((k: string) => {
|
||||
original[k] = cylinder[k];
|
||||
});
|
||||
return this.cylinderRepo.save(original);
|
||||
}
|
||||
|
||||
createCylinder(user: User, cylinder: Partial<Cylinder>) {
|
||||
return this.cylinderRepo.save(this.cylinderRepo.create(cylinder));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user