fix(articles): 修复返回值不匹配的问题。

This commit is contained in:
Ivan Li 2021-05-01 17:17:43 +08:00
parent fba867e0b5
commit 9120332051
4 changed files with 17715 additions and 3047 deletions

20734
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -26,16 +26,14 @@ export class ArticlesResolver {
} }
@Mutation(() => Article) @Mutation(() => Article)
updateArticle( async updateArticle(
@Args('updateArticleInput') updateArticleInput: UpdateArticleInput, @Args('updateArticleInput') updateArticleInput: UpdateArticleInput,
) { ) {
return this.articlesService.update( const article = await this.articlesService.findOne(updateArticleInput.id);
updateArticleInput.id, return this.articlesService.update(article, updateArticleInput);
updateArticleInput,
);
} }
@Mutation(() => Article) @Mutation(() => Int)
removeArticle(@Args('id', { type: () => String }) id: string) { removeArticle(@Args('id', { type: () => String }) id: string) {
return this.articlesService.remove(id); return this.articlesService.remove(id);
} }

View File

@ -23,16 +23,20 @@ export class ArticlesService extends BaseDbService<Article> {
} }
async findAll() { async findAll() {
return await this.repository.find(); return await this.repository.find({
order: { createdAt: 'DESC' },
});
} }
async update(id: string, updateArticleInput: UpdateArticleInput) { async update(article: Article, updateArticleInput: UpdateArticleInput) {
await this.isDuplicateEntityForUpdate(id, updateArticleInput); await this.isDuplicateEntityForUpdate(article.id, updateArticleInput);
return await this.repository.update(id, updateArticleInput); return await this.repository.save(
this.repository.merge(article, updateArticleInput),
);
} }
async remove(id: string) { async remove(id: string) {
await this.canRemove([id]); await this.canRemove([id]);
return await this.repository.softDelete({ id }); return await this.repository.softDelete({ id }).then((d) => d.affected);
} }
} }

View File

@ -1,8 +1,8 @@
import { CreateArticleInput } from './create-article.input'; import { CreateArticleInput } from './create-article.input';
import { InputType, Field, Int, PartialType } from '@nestjs/graphql'; import { InputType, Field, PartialType } from '@nestjs/graphql';
@InputType() @InputType()
export class UpdateArticleInput extends PartialType(CreateArticleInput) { export class UpdateArticleInput extends PartialType(CreateArticleInput) {
@Field(() => Int) @Field(() => String)
id: string; id: string;
} }