39 lines
1.2 KiB
TypeScript
39 lines
1.2 KiB
TypeScript
import { Injectable } from '@nestjs/common';
|
|
import { CreatePostDto } from './dto/create-post.dto';
|
|
import { UpdatePostDto } from './dto/update-post.dto';
|
|
import { InjectRepository } from '@nestjs/typeorm';
|
|
import { Post } from './entities/post.entity';
|
|
import { Repository } from 'typeorm';
|
|
import { BaseService } from '@/common/base';
|
|
import { FindPostDto } from './dto/find-post.dto';
|
|
|
|
@Injectable()
|
|
export class PostService extends BaseService {
|
|
constructor(@InjectRepository(Post) private postRepository: Repository<Post>) {
|
|
super();
|
|
}
|
|
|
|
async create(createPostDto: CreatePostDto) {
|
|
const post = this.postRepository.create(createPostDto);
|
|
await this.postRepository.save(post);
|
|
return post.id;
|
|
}
|
|
|
|
findAll(findPostDto: FindPostDto) {
|
|
const { skip, take } = this.formatPagination(findPostDto.page, findPostDto.size);
|
|
return this.postRepository.findAndCount({ skip, take });
|
|
}
|
|
|
|
findOne(id: number) {
|
|
return this.postRepository.findOneOrFail({ where: { id } });
|
|
}
|
|
|
|
update(id: number, updatePostDto: UpdatePostDto) {
|
|
return this.postRepository.update(id, updatePostDto);
|
|
}
|
|
|
|
remove(id: number) {
|
|
return this.postRepository.softDelete(id);
|
|
}
|
|
}
|