universo-platform-3d
45 строк · 1.2 Кб
1import { Injectable } from '@nestjs/common'
2import { InjectModel } from '@nestjs/mongoose'
3import { Model } from 'mongoose'
4import { CreateFavoriteDto } from './dto/create-favorite.dto'
5import { UpdateFavoriteDto } from './dto/update-favorite.dto'
6import { Favorite, FavoriteDocument } from './favorite.schema'
7
8@Injectable()
9export class FavoriteService {
10constructor(
11@InjectModel(Favorite.name) private favoriteModel: Model<FavoriteDocument>
12) {}
13create(createFavoriteDto: CreateFavoriteDto): Promise<FavoriteDocument> {
14const created = new this.favoriteModel(createFavoriteDto)
15return created.save()
16}
17
18findAllForUser(userId: string): Promise<FavoriteDocument[]> {
19return this.favoriteModel
20.find()
21.where({
22user: userId
23})
24.exec()
25}
26
27findOne(id: string): Promise<FavoriteDocument> {
28return this.favoriteModel.findById(id).exec()
29}
30
31update(
32id: string,
33updateFavoriteDto: UpdateFavoriteDto
34): Promise<FavoriteDocument> {
35return this.favoriteModel
36.findByIdAndUpdate(id, updateFavoriteDto, { new: true })
37.exec()
38}
39
40remove(id: string): Promise<FavoriteDocument> {
41return this.favoriteModel
42.findOneAndDelete({ _id: id }, { new: true })
43.exec()
44}
45}
46