universo-platform-3d
38 строк · 1.1 Кб
1import { Injectable, NotFoundException } from '@nestjs/common'
2import { InjectModel } from '@nestjs/mongoose'
3import { Model } from 'mongoose'
4import { CreateBlockDto } from './dto/create-block.dto'
5import { UpdateBlockDto } from './dto/update-block.dto'
6import { Block, BlockDocument } from './block.schema'
7
8@Injectable()
9export class BlockService {
10constructor(
11@InjectModel(Block.name) private blockModel: Model<BlockDocument>
12) {}
13create(createBlockDto: CreateBlockDto): Promise<BlockDocument> {
14const created = new this.blockModel(createBlockDto)
15return created.save()
16}
17
18async findOne(id: string): Promise<BlockDocument> {
19const data = await this.blockModel.findById(id).exec()
20if (data) {
21return data
22} else {
23throw new NotFoundException(`Block not found`)
24}
25}
26
27update(id: string, updateBlockDto: UpdateBlockDto): Promise<BlockDocument> {
28return this.blockModel
29.findByIdAndUpdate(id, updateBlockDto, { new: true })
30.exec()
31}
32
33remove(id: string): Promise<BlockDocument> {
34return this.blockModel
35.findOneAndDelete({ _id: id })
36.exec() as any as Promise<BlockDocument>
37}
38}
39