Description π νμ¬ λ¬Έμ μ
ν΄λΌμ΄μΈνΈμ λμ ν΅κ³ (totalStudyMinutesProvider, totalSessionCountProvider, monthlyStudyMinutesProvider) κ° GET /api/timer-sessions μ 첫 νμ΄μ§(20κ°) λ§ ν©μ°νκ³ μμ΄ μΈμ¦ μ¬μ©μμκ² λΆμ νν κ°μ΄ λ
ΈμΆλ¨.
μν₯ λ²μ:
νλ‘ν νλ©΄ μ "κ³΅λΆ μκ°" ν΅κ³ μΉ΄λκ° μ΅κ·Ό 20μΈμ
κΈ°μ€μΌλ‘λ§ νμλ¨ (μ€μ λμ κ³Ό λ€λ¦).
λ±μ§ ν΄κΈ μμ€ν
μ 쑰건 νκ°κ° λΆμ νν΄ "μ΄ 100μκ° κ³΅λΆ", "μ΄ 50ν μΈμ
μλ£" λ₯ λ±μ§κ° μμν ν΄κΈλμ§ μμ μ μμ.
ν΄λΌμμ λͺ¨λ νμ΄μ§λ₯Ό μνν΄ ν©μ°νλ λ°©μμ μΈμ
μ΄ λ§μμ§μλ‘ Nλ² API νΈμΆμ΄ λ°μν΄ λΉν¨μ¨μ .
π οΈ ν΄κ²° λ°©μ / μ μ κΈ°λ₯
κΈ°μ‘΄ GET /api/timer-sessions/today-stats μλ΅μ λμ ν΅κ³ νλ 3κ° μΆκ°.
μ κ· endpoint λμ today-stats νμ₯μ μ νν μ΄μ :
ν΄λΌμ νΈμΆ μμ Β·μΊμ μ μ±
μ΄ today-stats μ λμΌ (ν/νλ‘ν μ§μ
μ).
API νλ©΄μ μ΅μν.
κΈ°μ‘΄ TodayStatsResponse μ€ν€λ§μ μμ°μ€λ¬μ΄ νμ₯ κ΄κ³.
βοΈ μμ
λ΄μ©
TodayStatsResponse DTO μ νλ 3κ° μΆκ°
lifetimeMinutes: νμμ μ 체 λμ κ³΅λΆ μκ° (λΆ) β SUM(duration_minutes) WHERE member_id = ?
lifetimeSessionCount: νμμ μ 체 μΈμ
μ β COUNT(*) WHERE member_id = ?
monthlyMinutes: μ΄λ² λ¬ λμ κ³΅λΆ μκ° (λΆ, KST κΈ°μ€) β SUM(duration_minutes) WHERE member_id = ? AND started_at >= μ΄λ² λ¬ 1μΌ 00:00 KST
μ΄λ² λ¬ κ²½κ³λ streak μ λμΌνκ² Asia/Seoul κΈ°μ€ μ μ©
docs/api-docs.json μ TodayStatsResponse μ€ν€λ§ κ°±μ (description, example ν¬ν¨)
μλ΅ μμ κ°±μ :
{
"totalMinutes" : 180 ,
"sessionCount" : 3 ,
"streak" : 7 ,
"lifetimeMinutes" : 12450 ,
"lifetimeSessionCount" : 287 ,
"monthlyMinutes" : 1820
}
νμμ μΈμ
0건 μΌμ΄μ€ β μΈ νλ λͺ¨λ 0 λ°ν (null κΈμ§)
κΈ°μ‘΄ νλλͺ
·ꡬ쑰λ μ μ§νμ¬ νΈνμ± λ³΄μ₯ (ν΄λΌ μΈ‘ 무μ€λ¨ λ°°ν¬ κ°λ₯)
πββοΈ λ΄λΉμ
λ°±μλ: μ΄λ¦
νλ‘ νΈμλ: μ΄λ¦
λμμΈ: μ΄λ¦
Reactions are currently unavailable
You canβt perform that action at this time.
π νμ¬ λ¬Έμ μ
totalStudyMinutesProvider,totalSessionCountProvider,monthlyStudyMinutesProvider) κ°GET /api/timer-sessionsμ 첫 νμ΄μ§(20κ°) λ§ ν©μ°νκ³ μμ΄ μΈμ¦ μ¬μ©μμκ² λΆμ νν κ°μ΄ λ ΈμΆλ¨.π οΈ ν΄κ²° λ°©μ / μ μ κΈ°λ₯
GET /api/timer-sessions/today-statsμλ΅μ λμ ν΅κ³ νλ 3κ° μΆκ°.TodayStatsResponseμ€ν€λ§μ μμ°μ€λ¬μ΄ νμ₯ κ΄κ³.βοΈ μμ λ΄μ©
TodayStatsResponseDTO μ νλ 3κ° μΆκ°lifetimeMinutes: νμμ μ 체 λμ κ³΅λΆ μκ° (λΆ) βSUM(duration_minutes) WHERE member_id = ?lifetimeSessionCount: νμμ μ 체 μΈμ μ βCOUNT(*) WHERE member_id = ?monthlyMinutes: μ΄λ² λ¬ λμ κ³΅λΆ μκ° (λΆ, KST κΈ°μ€) βSUM(duration_minutes) WHERE member_id = ? AND started_at >= μ΄λ² λ¬ 1μΌ 00:00 KSTstreakμ λμΌνκ² Asia/Seoul κΈ°μ€ μ μ©docs/api-docs.jsonμTodayStatsResponseμ€ν€λ§ κ°±μ (description, example ν¬ν¨){ "totalMinutes": 180, "sessionCount": 3, "streak": 7, "lifetimeMinutes": 12450, "lifetimeSessionCount": 287, "monthlyMinutes": 1820 }0λ°ν (null κΈμ§)πββοΈ λ΄λΉμ