add comentario de comunicados
agregar methodos en api gateway, conexion a bd
This commit is contained in:
parent
06dc11e297
commit
2b6524d8b9
|
@ -220,4 +220,29 @@ export class AppController {
|
|||
) {
|
||||
return this.appService.findPost(paramPost);
|
||||
}
|
||||
|
||||
|
||||
// #==== API Comment
|
||||
|
||||
@Post('post/createComment')
|
||||
createComment(
|
||||
@Body('comment') comment: string,
|
||||
@Body('date_entry') date_entry: Date,
|
||||
@Body('user_id') user_id: string,
|
||||
@Body('post_id') post_id: string,
|
||||
) {
|
||||
return this.appService.createComment(comment, date_entry, user_id, post_id);
|
||||
}
|
||||
|
||||
@Get('post/allComments')
|
||||
allComments() {
|
||||
return this.appService.allComments();
|
||||
}
|
||||
|
||||
@Get('post/findComment/:id')
|
||||
findComment(
|
||||
@Param('id') paramComment: string
|
||||
) {
|
||||
return this.appService.findComment(paramComment);
|
||||
}
|
||||
}
|
|
@ -304,4 +304,41 @@ export class AppService {
|
|||
);
|
||||
}
|
||||
|
||||
// ====================== COMMNENT POSTS ===============================
|
||||
|
||||
//Comment parameter from API
|
||||
createComment(comment: string, date_entry: Date, user_id: string,
|
||||
post_id: string) {
|
||||
const pattern = { cmd: 'createComment' };
|
||||
const payload = {
|
||||
comment: comment, date_entry: date_entry, user_id: user_id,
|
||||
post_id: post_id
|
||||
};
|
||||
return this.clientPostApp
|
||||
.send<string>(pattern, payload)
|
||||
.pipe(
|
||||
map((message: string) => ({ message })),
|
||||
);
|
||||
}
|
||||
|
||||
allComments() {
|
||||
const pattern = { cmd: 'findAllComments' };
|
||||
const payload = {};
|
||||
return this.clientPostApp
|
||||
.send<string>(pattern, payload)
|
||||
.pipe(
|
||||
map((message: string) => ({ message })),
|
||||
);
|
||||
}
|
||||
|
||||
//GET parameter from API
|
||||
findComment(paramCommentId: string) {
|
||||
const pattern = { cmd: 'findOneComment' };
|
||||
const payload = { id: paramCommentId };
|
||||
return this.clientPostApp
|
||||
.send<string>(pattern, payload)
|
||||
.pipe(
|
||||
map((message: string) => ({ message })),
|
||||
);
|
||||
}
|
||||
}
|
|
@ -1 +0,0 @@
|
|||
export class CreatePostCommentDto {}
|
|
@ -1,6 +0,0 @@
|
|||
import { PartialType } from '@nestjs/mapped-types';
|
||||
import { CreatePostCommentDto } from './create-post-comment.dto';
|
||||
|
||||
export class UpdatePostCommentDto extends PartialType(CreatePostCommentDto) {
|
||||
id: number;
|
||||
}
|
|
@ -1 +0,0 @@
|
|||
export class PostComment {}
|
|
@ -1,20 +0,0 @@
|
|||
import { Test, TestingModule } from '@nestjs/testing';
|
||||
import { PostCommentsController } from './post-comments.controller';
|
||||
import { PostCommentsService } from './post-comments.service';
|
||||
|
||||
describe('PostCommentsController', () => {
|
||||
let controller: PostCommentsController;
|
||||
|
||||
beforeEach(async () => {
|
||||
const module: TestingModule = await Test.createTestingModule({
|
||||
controllers: [PostCommentsController],
|
||||
providers: [PostCommentsService],
|
||||
}).compile();
|
||||
|
||||
controller = module.get<PostCommentsController>(PostCommentsController);
|
||||
});
|
||||
|
||||
it('should be defined', () => {
|
||||
expect(controller).toBeDefined();
|
||||
});
|
||||
});
|
|
@ -1,35 +1,37 @@
|
|||
import { Controller } from '@nestjs/common';
|
||||
import { MessagePattern, Payload } from '@nestjs/microservices';
|
||||
import { PostCommentsService } from './post-comments.service';
|
||||
import { CreatePostCommentDto } from './dto/create-post-comment.dto';
|
||||
import { UpdatePostCommentDto } from './dto/update-post-comment.dto';
|
||||
import { Comment, CommentDocument } from '../schemas/post-comment.schema';
|
||||
|
||||
|
||||
@Controller()
|
||||
export class PostCommentsController {
|
||||
constructor(private readonly postCommentsService: PostCommentsService) {}
|
||||
|
||||
@MessagePattern('createPostComment')
|
||||
create(@Payload() createPostCommentDto: CreatePostCommentDto) {
|
||||
return this.postCommentsService.create(createPostCommentDto);
|
||||
@MessagePattern({ cmd: 'createComment' })
|
||||
create(@Payload() comment: CommentDocument) {
|
||||
return this.postCommentsService.create(comment);
|
||||
}
|
||||
|
||||
@MessagePattern('findAllPostComments')
|
||||
@MessagePattern({ cmd: 'findAllComments' })
|
||||
findAll() {
|
||||
return this.postCommentsService.findAll();
|
||||
}
|
||||
|
||||
@MessagePattern('findOnePostComment')
|
||||
findOne(@Payload() id: number) {
|
||||
return this.postCommentsService.findOne(id);
|
||||
@MessagePattern({cmd: 'findOneComment'})
|
||||
findOne(@Payload() id: string) {
|
||||
let _id = id['id'];
|
||||
return this.postCommentsService.findOne(_id);
|
||||
}
|
||||
|
||||
@MessagePattern('updatePostComment')
|
||||
update(@Payload() updatePostCommentDto: UpdatePostCommentDto) {
|
||||
return this.postCommentsService.update(updatePostCommentDto.id, updatePostCommentDto);
|
||||
@MessagePattern({ cmd: 'updateComment' })
|
||||
update(@Payload() comment: CommentDocument) {
|
||||
return this.postCommentsService.update(comment.id, comment);
|
||||
}
|
||||
|
||||
@MessagePattern('removePostComment')
|
||||
remove(@Payload() id: number) {
|
||||
return this.postCommentsService.remove(id);
|
||||
@MessagePattern({ cmd: 'removeComment' })
|
||||
remove(@Payload() id: string) {
|
||||
let _id = id['id'];
|
||||
return this.postCommentsService.remove(_id);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,8 +1,13 @@
|
|||
import { Module } from '@nestjs/common';
|
||||
import { PostCommentsService } from './post-comments.service';
|
||||
import { PostCommentsController } from './post-comments.controller';
|
||||
import { MongooseModule } from '@nestjs/mongoose';
|
||||
import { Comment, CommentSchema } from '../schemas/post-comment.schema';
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
MongooseModule.forFeature([{ name: Comment.name, schema: CommentSchema }]),
|
||||
],
|
||||
controllers: [PostCommentsController],
|
||||
providers: [PostCommentsService]
|
||||
})
|
||||
|
|
|
@ -1,18 +0,0 @@
|
|||
import { Test, TestingModule } from '@nestjs/testing';
|
||||
import { PostCommentsService } from './post-comments.service';
|
||||
|
||||
describe('PostCommentsService', () => {
|
||||
let service: PostCommentsService;
|
||||
|
||||
beforeEach(async () => {
|
||||
const module: TestingModule = await Test.createTestingModule({
|
||||
providers: [PostCommentsService],
|
||||
}).compile();
|
||||
|
||||
service = module.get<PostCommentsService>(PostCommentsService);
|
||||
});
|
||||
|
||||
it('should be defined', () => {
|
||||
expect(service).toBeDefined();
|
||||
});
|
||||
});
|
|
@ -1,26 +1,41 @@
|
|||
import { Injectable } from '@nestjs/common';
|
||||
import { CreatePostCommentDto } from './dto/create-post-comment.dto';
|
||||
import { UpdatePostCommentDto } from './dto/update-post-comment.dto';
|
||||
import { Comment, CommentDocument } from '../schemas/post-comment.schema';
|
||||
import { Model } from 'mongoose';
|
||||
import { InjectModel } from '@nestjs/mongoose';
|
||||
|
||||
|
||||
@Injectable()
|
||||
export class PostCommentsService {
|
||||
create(createPostCommentDto: CreatePostCommentDto) {
|
||||
return 'This action adds a new postComment';
|
||||
constructor(
|
||||
@InjectModel(Comment.name) private readonly commentModel: Model<CommentDocument>,
|
||||
) {}
|
||||
|
||||
async create(comment: CommentDocument): Promise<Comment> {
|
||||
return this.commentModel.create(comment);
|
||||
}
|
||||
|
||||
findAll() {
|
||||
return `This action returns all postComments`;
|
||||
async findAll(): Promise<Comment[]> {
|
||||
return this.commentModel
|
||||
.find()
|
||||
.setOptions({ sanitizeFilter: true })
|
||||
.exec();
|
||||
}
|
||||
|
||||
async findOne(id: string): Promise<Comment> {
|
||||
return this.commentModel.findOne({ _id: id }).exec();
|
||||
}
|
||||
|
||||
findOne(id: number) {
|
||||
return `This action returns a #${id} postComment`;
|
||||
async findOneByDNI(dni: string): Promise<Comment> {
|
||||
return this.commentModel.findOne({ dni: dni }).exec();
|
||||
}
|
||||
|
||||
update(id: number, updatePostCommentDto: UpdatePostCommentDto) {
|
||||
return `This action updates a #${id} postComment`;
|
||||
async update(id: string, comment: CommentDocument) {
|
||||
return this.commentModel.findOneAndUpdate({ _id: id }, comment, {
|
||||
new: true,
|
||||
});
|
||||
}
|
||||
|
||||
remove(id: number) {
|
||||
return `This action removes a #${id} postComment`;
|
||||
async remove(id: string) {
|
||||
return this.commentModel.findByIdAndRemove({ _id: id }).exec();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
import { Schema, Prop, SchemaFactory } from '@nestjs/mongoose';
|
||||
import { Document, ObjectId } from 'mongoose';
|
||||
|
||||
|
||||
export type CommentDocument = Comment & Document;
|
||||
|
||||
@Schema({ collection: 'comments' })
|
||||
export class Comment {
|
||||
|
||||
@Prop()
|
||||
comment: string;
|
||||
|
||||
@Prop()
|
||||
date_entry: Date;
|
||||
|
||||
@Prop()
|
||||
user_id: string
|
||||
|
||||
@Prop()
|
||||
post_id: string;
|
||||
|
||||
}
|
||||
|
||||
|
||||
export const CommentSchema = SchemaFactory.createForClass(Comment);
|
Loading…
Reference in New Issue