Skip to content

Latest commit

Β 

History

History
72 lines (51 loc) Β· 1.75 KB

File metadata and controls

72 lines (51 loc) Β· 1.75 KB

Goals API

ν™ˆ/λͺ©ν‘œ μœ„μ ―μš© λ°μ΄ν„°μž…λ‹ˆλ‹€. ν•™κ΅μ˜ λͺ©ν‘œ ν‘œμ‹œ μ„€μ •κ³Ό λ‘œκ·ΈμΈν•œ μ‚¬μš©μžμ˜ κΈ°λ‘Β·ν•„μˆ˜ 양식 μ§„ν–‰ μš”μ•½ 등을 λ°˜ν™˜ν•©λ‹ˆλ‹€. μˆ˜μ—… μš”μ•½μ€ ν”„λ‘ νŠΈμ—”λ“œμ—μ„œ λͺ©λ‘ UI와 맞좰 κ³„μ‚°ν•©λ‹ˆλ‹€.

라우트 파일: backend/src/routes/goals.js
컨트둀러 파일: backend/src/controllers/goals.js
μ„œλΉ„μŠ€: backend/src/services/goals.js


μ—”λ“œν¬μΈνŠΈ μš”μ•½

λ©”μ„œλ“œ 경둜 μ„€λͺ… κΆŒν•œ
GET /api/goals/me λ‚΄ λͺ©ν‘œ/μ§„ν–‰ μš”μ•½ isLoggedIn

λ‚΄ λͺ©ν‘œ 쑰회

GET /api/goals/me?school=&season=

κΆŒν•œ: isLoggedIn

쿼리

ν•„λ“œ νƒ€μž… ν•„μˆ˜ μ„€λͺ…
school string O 학ꡐ ObjectId
season string X ν•™κΈ° ObjectId (μ—­ν• Β·λ¬Έλ§₯ κ²°μ •). μ—†μœΌλ©΄ 졜근 등둝 μ—­ν•  μ‚¬μš©

λ™μž‘

  1. ν•™κ΅μ˜ goalsEnabledκ°€ false이면 403μž…λ‹ˆλ‹€.
  2. 등둝 μ—­ν• (teacher / student)에 λ§žλŠ” goalDisplayλ₯Ό λ³‘ν•©ν•©λ‹ˆλ‹€.
  3. ν‘œμ‹œκ°€ μΌœμ§„ ν•­λͺ©μ— λŒ€ν•΄ 기둝(archive) 라벨별 건수, ν•„μˆ˜ Alt Form μ§„ν–‰ 등을 λ‹΄μ•„ λ°˜ν™˜ν•©λ‹ˆλ‹€.

응닡 (200)

응닡 ν•„λ“œλŠ” 학ꡐ goalDisplay 섀정에 따라 λ‹¬λΌμ§ˆ 수 μžˆμŠ΅λ‹ˆλ‹€. λŒ€ν‘œμ μΈ ν˜•νƒœ:

{
  "role": "student",
  "display": { },
  "archive": [
    { "label": "상담", "count": 2, "dataType": "object" }
  ],
  "board": {
    "submitted": 1,
    "total": 3,
    "forms": []
  }
}

였λ₯˜

μƒνƒœ 쑰건
400 school λˆ„λ½
403 λͺ©ν‘œ κΈ°λŠ₯ λΉ„ν™œμ„± (goalsEnabled === false)
404 학ꡐ μ—†μŒ

κ΄€λ ¨ λ¬Έμ„œ