Public Source Viewer
비나래아카이브 개발자 포털
실제 서비스 구조를 살펴볼 수 있는 공개용 코드 뷰어입니다. 인증, 세션, 외부 연동, 토큰, 관리자 식별 등 보안상 민감한 구현은 파일 단위 또는 줄 단위로 검열됩니다.
src/services/blog.service.ts
공개 가능
1
import fs from 'fs';
2
import path from 'path';
3
import moment from 'moment';
4
[SECURITY REDACTED] 민감한 설정/인증/토큰 관련 코드입니다.
5
import { Post } from '../types/models';
6
7
export const getBlogPostFileName = (): string => {
8
const now = moment();
9
[SECURITY REDACTED] 민감한 설정/인증/토큰 관련 코드입니다.
10
};
11
12
export function nl2br(str: string): string {
13
return str.replace(/\n/g, '<br>');
14
}
15
16
export function decodeHtmlEntities(str: string): string {
17
return String(str || '')
18
.replace(/ /g, ' ')
19
.replace(/&/g, '&')
20
.replace(/</g, '<')
21
.replace(/>/g, '>')
22
.replace(/"/g, '"')
23
.replace(/'/g, "'");
24
}
25
26
export const loadPosts = (): Post[] => {
27
const posts: Post[] = [];
28
29
[SECURITY REDACTED] 민감한 설정/인증/토큰 관련 코드입니다.
30
31
files.forEach(file => {
32
[SECURITY REDACTED] 민감한 설정/인증/토큰 관련 코드입니다.
33
[SECURITY REDACTED] 민감한 설정/인증/토큰 관련 코드입니다.
34
[SECURITY REDACTED] 민감한 설정/인증/토큰 관련 코드입니다.
35
[SECURITY REDACTED] 민감한 설정/인증/토큰 관련 코드입니다.
36
posts.push(...data);
37
}
38
});
39
40
posts.sort((a, b) => new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime());
41
return posts;
42
};
43