Releases: 42Statistics/42Stat-Backend
v0.10.7
v0.10.6
v0.10.5
μ κ· κΈ°λ₯ β¨
κΈ°μ‘΄ κΈ°λ₯ λ³κ²½ μ¬ν β»οΈ
-
wallet, correction point ranking μμ transfer μ§νν μ μ λ μ μΈ
-
github action μμ AWS OIDC idp λ₯Ό μ¬μ©νλλ‘ λ³κ²½
-
local νκ²½μμ aws μ κ·Όνμ§ μλλ‘ μμ , aws νκ²½μμ instance metadata μ μ¬μ©μ λͺ μμ μΌλ‘ λ³κ²½
λ²κ·Έ μμ π
μ§μ μ€λ¨ ποΈ
μμ π₯
μΈλΆ λ³κ²½ μ¬ν π
Full Changelog: v0.10.4...v0.10.5
v0.10.4
μ κ· κΈ°λ₯ β¨
κΈ°μ‘΄ api λ³κ²½ μ¬ν β»οΈ
λ²κ·Έ μμ π
- νλ μ€μΈ μ μ μλ₯Ό κ³μ°ν λ μ μ μκ° 0λͺ μΈ κ²½μ° μ΄μ λ¬μ νλ μ μ μλ₯Ό μ¬μ©νλ λ¬Έμ μμ
μ§μ μ€λ¨ ποΈ
μμ π₯
μΈλΆ λ³κ²½ μ¬ν π
- fix: π activeUserCount λ ν΄λΉ μμ λ°μ΄ν°κ° μλ κ²½μ° 0λͺ μΌλ‘ μ²λ¦¬νλλ‘ μμ by @jpham005 in #421
Full Changelog: v0.10.3...v0.10.4
v0.10.3
μ κ· κΈ°λ₯ β¨
- monthlyActiveUserCount μΆκ°
κΈ°μ‘΄ api λ³κ²½ μ¬ν β»οΈ
λ²κ·Έ μμ π
- daily logtime λ°μ΄ν° μ€λ₯ λμ λ‘μ§ λλ½λ λΆλΆ μΆκ°
μ§μ μ€λ¨ ποΈ
μμ π₯
μΈλΆ λ³κ²½ μ¬ν π
Full Changelog: v0.10.2...v0.10.3
v0.10.2
μ κ· κΈ°λ₯ β¨
κΈ°μ‘΄ api λ³κ²½ μ¬ν β»οΈ
λ²κ·Έ μμ π
- daily logtime λ°μ΄ν° μ€λ₯ λμ λ‘μ§ μΆκ°
- daily activity μ netwhat μμΈ μ²λ¦¬ μΆκ°
- team info μμ last event time μ΄ μ¬λ°λ₯΄μ§ μλ λ¬Έμ μμ
μ§μ μ€λ¨ ποΈ
μμ π₯
μΈλΆ λ³κ²½ μ¬ν π
- fix: π dailyLogtime κ³μ° λ‘μ§ μμ by @niamu01 in #410
- fix: π netwhat μ΄λ¦μ μ°Ύλλ‘ conditionalProjectName μΆκ° by @niamu01 in #411
Full Changelog: v0.10.1...v0.10.2
v0.10.1
μ κ· κΈ°λ₯ β¨
κΈ°μ‘΄ api λ³κ²½ μ¬ν β»οΈ
- getHomeUser μ aliveUserCountRecords λ₯Ό μμ, λ μ§μ λΆν° κ°μ Έμ¬ μ μλλ‘ λ³κ²½
- getHomeUser μ aliveUserCountRecords λ₯Ό daily -> monthly λ‘ λ³κ²½
λ²κ·Έ μμ π
μ§μ μ€λ¨ ποΈ
μμ π₯
μΈλΆ λ³κ²½ μ¬ν π
- refactor: β»οΈ κΈ°μ‘΄ dailyAliveUserCountRecords λ₯Ό monthly from start, end, byDate λ‘ λ³κ²½ by @jpham005 in #403
- v0.10.1 by @jpham005 in #404
Full Changelog: v0.10.0...v0.10.1
v0.10.0
μ κ· κΈ°λ₯ β¨
- getPersonalGeneral μ dailyActivities μΆκ°
enum DailyActivityType {
CORRECTOR
CORRECTED
EVENT
LOGTIME
}
type DailyLogtimeRecord {
type: DailyActivityType.LOGTIME!
value: Int! # ν΄λΉ μΌ μμ΄λ§₯μ μ μν μκ° ms
}
type DailyDefaultRecord {
type: DailyActivityType!
id: Int!
at: Date! # record κ° λ°μν μ νν μκ°
}
type DailyActivity {
date: Date! # records λ€μ λ°μ μΌ 00μ 00λΆ
records: [(DailyLogtimeRecord! | DailyDefaultRecord!)]!
}- last λ―Έμ§μ endpoint λ€μ last μΆκ°, κΈ°μ‘΄μ μ§μνλ endpoint λ€μ λ²μ μ¦κ° λ° λ¨μ μΈλΆν
κΈ°μ‘΄ api λ³κ²½ μ¬ν β»οΈ
λ²κ·Έ μμ π
μ§μ μ€λ¨ ποΈ
μμ π₯
μΈλΆ λ³κ²½ μ¬ν π
v0.9.0
μ κ· κΈ°λ₯ β¨
- LeaderboardMetadata μ coalitionList λ₯Ό μΆκ°νμ΅λλ€.
type LeaderboardMetadata {
# ...
coalitionList: [Coalition!]!
}- λͺ¨λ Leaderboard resolver μμ coalitionId λ₯Ό μΈμλ‘ λ°μμ μ²λ¦¬ν μ μλλ‘ νμ΅λλ€.
query LeaderboardQuery {
getLeaderboardXXX (coalitionId: Int) {
# ...
}
}- GetEvalLogArgs μ imperfectOnly λ₯Ό μΆκ°νμ΅λλ€.
type GetEvalLogArgs {
# ...
imperfectOnly: Boolean
}- MyInfo μ level, beginAt μ μΆκ°νμ΅λλ€.
type MyInfo {
# ...
level: Float
beginAt: DateTime
}κΈ°μ‘΄ api λ³κ²½ μ¬ν β»οΈ
- /lambda μμ μλ΅μ λ¨Όμ 보λ΄κ³ caching μ μ§ννλλ‘ λ³κ²½νμ΅λλ€.
- MyInfo μμ κΈ°μ‘΄μ μ¬μ©μμ μ΅κ·Ό νλ μ 보μ λν field λ€μ myRecentActivity λ‘ λ¬Άμμ΅λλ€.
type MyRecentActivity {
isNewMember: Boolean!
lastValidatedTeam: UserTeam
blackholedAt: DateTime
experienceRank: Int
scoreRank: Int
evalCountRank: Int
}
type MyInfo {
myRecentActivity: MyRecentActivity
}- Coalition type μ μ¬μ©νμ§ μλ field μ μ§μμ μ€λ¨νκ³ , λ€λ₯Έ type κ³Ό μΌκ΄μ± μκ² μ¬μ©ν μ μλλ‘ field μ΄λ¦μ μμ νμ΅λλ€.
type Coalition {
id: Int!
name: String!
imgUrl: String!
coverUrl: String!
color: String!
# λλ¨Έμ§λ μ§μ μ€λ¨
}λ²κ·Έ μμ π
- getSpotlight μμ limit μΈμκ° μ μμ μΌλ‘ μ μ©λμ§ μλ λ¬Έμ λ₯Ό μμ νμ΅λλ€. #364
- getPersonalGeneral μ scoreInfo μμ 곡λ μμκ° λ°μλμ§ μλ λ¬Έμ λ₯Ό μμ νμ΅λλ€. #381
μ§μ μ€λ¨ ποΈ
- MyInfo μμ myRecentActivity μ ν¬ν¨λμ΄ μλ field λ€μ λ€μ minor release μμ μμ λ μμ μ λλ€.
type MyInfo {
# Deprecated: deprecated at v0.9.0, myRecentActivity λ₯Ό μ¬μ©νμΈμ
isNewMember: Boolean!
# Deprecated: deprecated at v0.9.0, myRecentActivity λ₯Ό μ¬μ©νμΈμ
lastValidatedTeam: UserTeam
# Deprecated: deprecated at v0.9.0, myRecentActivity λ₯Ό μ¬μ©νμΈμ
blackholedAt: DateTime
# Deprecated: deprecated at v0.9.0, myRecentActivity λ₯Ό μ¬μ©νμΈμ
experienceRank: Int
# Deprecated: deprecated at v0.9.0, myRecentActivity λ₯Ό μ¬μ©νμΈμ
scoreRank: Int
# Deprecated: deprecated at v0.9.0, myRecentActivity λ₯Ό μ¬μ©νμΈμ
evalCountRank: Int
}- Coalition μμ μ¬μ©νμ§ μλ field λ€μ λ€μ minor release μμ μμ λ μμ μ λλ€.
type Coalition {
# deprecated at v0.9.0
slug: String!
# deprecated at v0.9.0, imgUrl μ μ¬μ©νμΈμ.
imageUrl: String!
# deprecated at v0.9.0
score: Int!
# deprecated at v0.9.0
userId: Int!
}μμ π₯
μΈλΆ λ³κ²½ μ¬ν π
- fix π dockerfile by @jpham005 in #369
- refactor β»οΈ ft client secret by aws secrets manager by @jpham005 in #371
- fix π handle google login fail by @jpham005 in #373
- fix π search limit error by @jpham005 in #374
- refactor: β»οΈ lambda update response λ₯Ό μ¦μ 보λ΄λλ‘ λ³κ²½ by @jpham005 in #375
- feat: β¨ getMyInfo μ beginAt, level, recentActivity μΆκ° by @jpham005 in #376
- feat β¨ coalition ranking by @jpham005 in #382
- fix: π personal general μ score info μμ 곡λ μμμ λν μ²λ¦¬κ° μλ λ¬Έμ by @jpham005 in #383
- feat: β¨ getEvalLogArgs μ imperfectOnly μΆκ° by @jpham005 in #380
- release π v0.9.0 by @jpham005 in #385
- chore π v0.9.0 by @jpham005 in #386
Full Changelog: v0.8.1...v0.9.0
v0.8.1
μ κ· κΈ°λ₯ β¨
κΈ°μ‘΄ api λ³κ²½ μ¬ν β»οΈ
λ²κ·Έ μμ π
- getPersonalGeneral μ scoreInfo μμ rankInCoalition μ΄ λ¬΄μ‘°κ±΄ 1 λ‘ λ°νλλ λ¬Έμ
μ§μ μ€λ¨ ποΈ
μμ π₯
μΈλΆ λ³κ²½ μ¬ν π
Full Changelog: v0.8.0...v0.8.1