All checks were successful
Frontend CI / build (push) Successful in 1m8s
### Description - Implement the content page - Parse markdown formant content to html by `markdown-it` - Use `sanitize-html` to prevent from XSS attack - Style the html with `tailwindcss-typography` - Fix the issue when backend parse the password to url - Fix and make the post info list from backend always sorted by id ### Package Changes ### Rust ```toml percent-encoding = "2.3.1" ``` ### Node ```json { "@types/markdown-it": "^14.1.2", "@types/sanitize-html": "^2.16.0", "markdown-it": "^14.1.0", "sanitize-html": "^2.17.0" } ``` ### Screenshots |Desktop|Mobile| |-|-| ||| ### Reference Resolves #45 ### Checklist - [x] A milestone is set - [x] The related issuse has been linked to this branch Reviewed-on: #67 Co-authored-by: SquidSpirit <squid@squidspirit.com> Co-committed-by: SquidSpirit <squid@squidspirit.com>
19 lines
709 B
TypeScript
19 lines
709 B
TypeScript
import type { PostApiService } from '$lib/post/adapter/gateway/postApiService';
|
|
import type { PostRepository } from '$lib/post/application/repository/postRepository';
|
|
import type { Post } from '$lib/post/domain/entity/post';
|
|
import type { PostInfo } from '$lib/post/domain/entity/postInfo';
|
|
|
|
export class PostRepositoryImpl implements PostRepository {
|
|
constructor(private readonly postApiService: PostApiService) {}
|
|
|
|
async getAllPosts(): Promise<PostInfo[]> {
|
|
const dtos = await this.postApiService.getAllPosts();
|
|
return dtos.map((dto) => dto.toEntity());
|
|
}
|
|
|
|
async getPost(id: number): Promise<Post | null> {
|
|
const dto = await this.postApiService.getPost(id);
|
|
return dto?.toEntity() ?? null;
|
|
}
|
|
}
|