universo-platform-3d

Форк
0
38 строк · 1.1 Кб
1
import { Injectable, NotFoundException } from '@nestjs/common'
2
import { InjectModel } from '@nestjs/mongoose'
3
import { Model } from 'mongoose'
4
import { CreateBlockDto } from './dto/create-block.dto'
5
import { UpdateBlockDto } from './dto/update-block.dto'
6
import { Block, BlockDocument } from './block.schema'
7

8
@Injectable()
9
export class BlockService {
10
  constructor(
11
    @InjectModel(Block.name) private blockModel: Model<BlockDocument>
12
  ) {}
13
  create(createBlockDto: CreateBlockDto): Promise<BlockDocument> {
14
    const created = new this.blockModel(createBlockDto)
15
    return created.save()
16
  }
17

18
  async findOne(id: string): Promise<BlockDocument> {
19
    const data = await this.blockModel.findById(id).exec()
20
    if (data) {
21
      return data
22
    } else {
23
      throw new NotFoundException(`Block not found`)
24
    }
25
  }
26

27
  update(id: string, updateBlockDto: UpdateBlockDto): Promise<BlockDocument> {
28
    return this.blockModel
29
      .findByIdAndUpdate(id, updateBlockDto, { new: true })
30
      .exec()
31
  }
32

33
  remove(id: string): Promise<BlockDocument> {
34
    return this.blockModel
35
      .findOneAndDelete({ _id: id })
36
      .exec() as any as Promise<BlockDocument>
37
  }
38
}
39

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.