universo-platform-3d

Форк
0
45 строк · 1.2 Кб
1
import { Injectable } from '@nestjs/common'
2
import { InjectModel } from '@nestjs/mongoose'
3
import { Model } from 'mongoose'
4
import { CreateFavoriteDto } from './dto/create-favorite.dto'
5
import { UpdateFavoriteDto } from './dto/update-favorite.dto'
6
import { Favorite, FavoriteDocument } from './favorite.schema'
7

8
@Injectable()
9
export class FavoriteService {
10
  constructor(
11
    @InjectModel(Favorite.name) private favoriteModel: Model<FavoriteDocument>
12
  ) {}
13
  create(createFavoriteDto: CreateFavoriteDto): Promise<FavoriteDocument> {
14
    const created = new this.favoriteModel(createFavoriteDto)
15
    return created.save()
16
  }
17

18
  findAllForUser(userId: string): Promise<FavoriteDocument[]> {
19
    return this.favoriteModel
20
      .find()
21
      .where({
22
        user: userId
23
      })
24
      .exec()
25
  }
26

27
  findOne(id: string): Promise<FavoriteDocument> {
28
    return this.favoriteModel.findById(id).exec()
29
  }
30

31
  update(
32
    id: string,
33
    updateFavoriteDto: UpdateFavoriteDto
34
  ): Promise<FavoriteDocument> {
35
    return this.favoriteModel
36
      .findByIdAndUpdate(id, updateFavoriteDto, { new: true })
37
      .exec()
38
  }
39

40
  remove(id: string): Promise<FavoriteDocument> {
41
    return this.favoriteModel
42
      .findOneAndDelete({ _id: id }, { new: true })
43
      .exec()
44
  }
45
}
46

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

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

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

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