Skip to content

Commit eba2482

Browse files
committed
Merge branch 'development'
2 parents 5f0cc6b + 14b594b commit eba2482

File tree

15 files changed

+158
-64
lines changed

15 files changed

+158
-64
lines changed

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,4 @@
77
.env.*
88
!**/**/.env.example
99

10-
.vscode
10+
.vscode

infrastructure/Pulumi.production.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
config:
22
aws:region: ap-northeast-2
33
velog:DOCKER_ENV: production
4-
velog:target: server
4+
velog:target: server,web

infrastructure/Pulumi.stage.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
config:
22
aws:region: ap-northeast-2
33
velog:DOCKER_ENV: stage
4-
velog:target: server
4+
velog:target: web

packages/velog-cron/src/services/StatsService/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ export class StatsService implements Service {
3939
`[Daily]\n기간: ${format(
4040
start,
4141
'yyyy-MM-dd',
42-
)}}\n${usersCount}명의 사용자가 가입했습니다.\n${postCount}개의 공개 포스트가 작성되었습니다.`,
42+
)}\n${usersCount}명의 사용자가 가입했습니다.\n${postCount}개의 공개 포스트가 작성되었습니다.`,
4343
)
4444
}
4545
public async weekly() {

packages/velog-server/src/common/plugins/global/authPlugin.ts

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,31 +19,35 @@ const authPlugin: FastifyPluginAsync = async (fastify) => {
1919
const authorization = request.headers['authorization']
2020

2121
try {
22-
if (!accessToken && authorization) {
22+
if (!accessToken && !!authorization && typeof authorization === 'string') {
2323
accessToken = authorization.split('Bearer ')[1]
2424
}
2525

2626
if (!accessToken && !refreshToken) return
2727

28-
if (accessToken && refreshToken) {
28+
if (accessToken) {
2929
const accessTokenData = await jwt.decodeToken<AccessTokenData>(accessToken)
3030

3131
const diff = accessTokenData.exp * 1000 - new Date().getTime()
3232
// refresh token when life < 30mins
3333
if (diff < Time.ONE_MINUTE_IN_MS * 30 && refreshToken) {
3434
await userService.restoreToken({ request, reply })
3535
}
36+
37+
request.user = { id: accessTokenData.user_id }
38+
return
3639
}
3740

3841
if (!accessToken && refreshToken) {
3942
const tokens = await userService.restoreToken({ request, reply })
4043
accessToken = tokens.accessToken
41-
}
4244

43-
if (!accessToken) return
45+
const accessTokenData = await jwt.decodeToken<AccessTokenData>(accessToken)
46+
request.user = { id: accessTokenData.user_id }
47+
return
48+
}
4449

45-
const accessTokenData = await jwt.decodeToken<AccessTokenData>(accessToken)
46-
request.user = { id: accessTokenData.user_id }
50+
request.user = null
4751
} catch (e) {
4852
console.log('accessToken', accessToken)
4953
console.log('authPlugin error', e)
@@ -55,10 +59,9 @@ const authPlugin: FastifyPluginAsync = async (fastify) => {
5559

5660
const accessTokenData = await jwt.decodeToken<AccessTokenData>(accessToken)
5761
request.user = { id: accessTokenData.user_id }
58-
} else {
59-
throw new Error()
6062
}
6163
} catch (error) {
64+
console.log('refresh token error', error)
6265
const cookie = container.resolve(CookieService)
6366
cookie.clearCookie(reply, 'access_token')
6467
cookie.clearCookie(reply, 'refresh_token')

packages/velog-server/src/lib/discord/DiscordService.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,9 @@ export class DiscordService {
3030
'canceling statement',
3131
'Not allow origin',
3232
'Unknown query',
33+
'ECONNRESET',
34+
'https://oauth2.googleapis.com',
35+
'/api/posts/v1/score',
3336
]
3437
const isFrequentWordIncluded = frequentWord.some((word) => message.includes(word))
3538

packages/velog-server/src/services/PostLikeService/index.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -120,9 +120,9 @@ export class PostLikeService implements Service {
120120
await this.postService.updatePostScore(postId)
121121
}
122122

123-
setTimeout(() => {
123+
setTimeout(async () => {
124124
try {
125-
this.searchService.searchSync.update(post.id)
125+
await this.searchService.searchSync.update(post.id)
126126
} catch (error) {
127127
console.log('likePost searchSync update error', error)
128128
}
@@ -190,9 +190,9 @@ export class PostLikeService implements Service {
190190
})
191191

192192
await this.postService.updatePostScore(postId)
193-
setTimeout(() => {
193+
setTimeout(async () => {
194194
try {
195-
this.searchService.searchSync.update(post.id)
195+
await this.searchService.searchSync.update(post.id)
196196
} catch (error) {
197197
console.log('unlikePost searchSync update error', error)
198198
}

packages/velog-server/src/services/PostService/index.ts

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -291,7 +291,7 @@ export class PostService implements Service {
291291
id: true,
292292
},
293293
orderBy: {
294-
[timeframe === 'year' ? 'likes' : 'score']: 'desc',
294+
score: 'desc',
295295
},
296296
take: limit,
297297
skip: offset,
@@ -403,15 +403,17 @@ export class PostService implements Service {
403403
}
404404
}
405405
public async updatePostScore(postId: string) {
406-
await axios.patch(
407-
`${ENV.cronHost}/api/posts/v1/score/${postId}`,
408-
{},
409-
{
410-
headers: {
411-
'Cron-Api-Key': ENV.cronApiKey,
406+
try {
407+
await axios.patch(
408+
`${ENV.cronHost}/api/posts/v1/score/${postId}`,
409+
{},
410+
{
411+
headers: {
412+
'Cron-Api-Key': ENV.cronApiKey,
413+
},
412414
},
413-
},
414-
)
415+
)
416+
} catch (_) {}
415417
}
416418
public shortDescription(post: Post): string {
417419
if (post.short_description) return post.short_description

packages/velog-server/src/services/TagService/index.ts

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -164,14 +164,25 @@ export class TagService implements Service {
164164
if (tag) return tag
165165

166166
const filtered = this.utils.escapeForUrl(name).toLowerCase()
167-
const freshTag = await this.db.tag.create({
168-
data: {
169-
name,
170-
name_filtered: filtered,
171-
},
172-
})
173-
174-
return freshTag
167+
try {
168+
const freshTag = await this.db.tag.create({
169+
data: {
170+
name,
171+
name_filtered: filtered,
172+
},
173+
})
174+
return freshTag
175+
} catch (error) {
176+
console.log('create tag error', error)
177+
console.log('name', name)
178+
console.log('name_filtered', filtered)
179+
const tag = await this.db.tag.findFirst({
180+
where: {
181+
name: name,
182+
},
183+
})
184+
return tag!
185+
}
175186
}
176187
}
177188

packages/velog-server/src/services/UserService/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ export class UserService implements Service {
123123
public async updateLastAccessedAt(userId?: string): Promise<void> {
124124
if (!userId) return
125125
try {
126-
await this.db.userProfile.update({
126+
await this.db.userProfile.updateMany({
127127
where: {
128128
fk_user_id: userId,
129129
},

0 commit comments

Comments
 (0)