mirror of
https://github.com/MrSedan/neuro-reply-website.git
synced 2026-01-14 20:49:42 +03:00
Some post module changes
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
import { Body, Controller, Get, Param, Post } from '@nestjs/common';
|
import { Body, Controller, Get, Param, Post } from '@nestjs/common';
|
||||||
import { ApiOperation, ApiTags } from '@nestjs/swagger';
|
import { ApiOperation, ApiParam, ApiTags } from '@nestjs/swagger';
|
||||||
import { ICreatePost } from './post.dto';
|
import { ICreatePost } from './post.dto';
|
||||||
import { PostService } from './post.service';
|
import { PostService } from './post.service';
|
||||||
|
|
||||||
@@ -14,10 +14,11 @@ export class PostController {
|
|||||||
return await this.postService.newPost(data);
|
return await this.postService.newPost(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation({ description: 'Getting all posts' })
|
@ApiOperation({ description: 'Getting all posts. By default - all' })
|
||||||
@Get('get-all')
|
@Get('get-all/:status')
|
||||||
async getAllPosts() {
|
@ApiParam({ name: 'status', required: false, enum: ['will-post', 'all', 'posted'] })
|
||||||
return await this.postService.getAllPosts();
|
async getAllPosts(@Param('status') status?: 'will-post' | 'all' | 'posted') {
|
||||||
|
return await this.postService.getAllPosts(status || 'all');
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation({ description: 'Getting a post bu uuid' })
|
@ApiOperation({ description: 'Getting a post bu uuid' })
|
||||||
|
|||||||
@@ -24,24 +24,38 @@ export class PostService {
|
|||||||
timestamp: new Date(),
|
timestamp: new Date(),
|
||||||
});
|
});
|
||||||
this.logger.log(`Created new post: ${result.uuid}`);
|
this.logger.log(`Created new post: ${result.uuid}`);
|
||||||
return { result: 'ok' };
|
return { status: 'ok' };
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.logger.log(`[post.newPost] error: ${JSON.stringify(error)}`);
|
this.logger.debug(`[post.newPost] error: ${JSON.stringify(error)}`);
|
||||||
|
throw new HttpException('No user with this id', HttpStatus.BAD_REQUEST);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async getAllPosts() {
|
async getAllPosts(status: 'will-post' | 'all' | 'posted') {
|
||||||
try {
|
try {
|
||||||
return await this.postRepository.find();
|
let obj: object;
|
||||||
|
switch (status) {
|
||||||
|
case 'will-post':
|
||||||
|
obj = { where: { posted: false } };
|
||||||
|
break;
|
||||||
|
case 'all':
|
||||||
|
obj = {};
|
||||||
|
break;
|
||||||
|
case 'posted':
|
||||||
|
obj = { where: { posted: true } };
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return await this.postRepository.find(obj);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.logger.log(`[post.getAllPosts] error: ${JSON.stringify(error)}`);
|
this.logger.log(`[post.getAllPosts] error: ${JSON.stringify(error)}`);
|
||||||
|
return [];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async getPost(postId: string) {
|
async getPost(postId: string) {
|
||||||
try {
|
try {
|
||||||
this.logger.log(`[post.getPost] data: ${postId}`);
|
this.logger.log(`[post.getPost] data: ${postId}`);
|
||||||
return await this.postRepository.findOne({ where: { uuid: postId } });
|
return await this.postRepository.findOne({ where: { uuid: postId }, relations: { images: true } });
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.logger.log(`[post.getPost] error: ${JSON.stringify(error)}`);
|
this.logger.log(`[post.getPost] error: ${JSON.stringify(error)}`);
|
||||||
throw new HttpException('No post with this id', HttpStatus.NOT_FOUND);
|
throw new HttpException('No post with this id', HttpStatus.NOT_FOUND);
|
||||||
|
|||||||
Reference in New Issue
Block a user