Skip to content

MaeilMail/APIdoc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

100 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Swagger

https://maeilmail-api-docs.herokuapp.com/

USER API

  • ํšŒ์› ๊ฐ€์ž… POST /api/users
    • ์ด๋ฉ”์ผ, ๋‹‰๋„ค์ž„ ์ค‘๋ณต ์—ฌ๋ถ€ ํ™•์ธ
    • bycrpt.hash๋กœ ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ณตํ˜ธํ™”
  • ๋กœ๊ทธ์ธ POST /api/auth/login
    • bycrpt.compare๋กœ ๋น„๋ฐ€๋ฒˆํ˜ธ ํ™•์ธ
    • ๋กœ๊ทธ์ธ ์„ฑ๊ณต ์‹œ JWT์™€ status ๋ฆฌํ„ด
  • ๊ตฌ๊ธ€ ์œ ์ € ํšŒ์›๊ฐ€์ž… POST /api/auth/login/google
    • ํ”„๋ก ํŠธ์—์„œ ๋„˜์–ด์˜จ ๊ตฌ๊ธ€ email ์ค‘๋ณต ์—ฌ๋ถ€ ํ™•์ธ
    • ์ค‘๋ณต์ด ์•„๋‹ˆ๋ผ๋ฉด ํ•ด๋‹น email๋กœ ์ž„์‹œ ์œ ์ € ์ •๋ณด ์ƒ์„ฑ
    • โ€˜ํšŒ์› ํƒˆํ‡ดโ€™๋ผ๋Š” ๋‹จ์–ด๋กœ ๋น„๋ฐ€๋ฒˆํ˜ธ ํ•ด์‰ฌํ™”
  • ํšŒ์› ์ •๋ณด ์กฐํšŒ GET /api/auth/me
    • ๋ฏธ๋“ค์›จ์–ด๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž์˜ userId ์ถ”์ถœ ํ›„ ์ •๋ณด ์กฐํšŒ
    • sequelize์˜ include ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•˜์—ฌ ์ž์‹ ํ…Œ์ด๋ธ” (Favor, Language)๋ฅผ ๊ฐ™์ด ์กฐํšŒํ•จ
  • ํšŒ์› ์ •๋ณด ์ˆ˜์ • PATCH /api/auth/me
    • ํ˜„์žฌ ๋น„๋ฐ€๋ฒˆํ˜ธ ์ผ์น˜ ์—ฌ๋ถ€ ํ™•์ธ ํ›„ ๊ฐœ์ธ์ •๋ณด ์ˆ˜์ •
    • ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ PATCH api/auth/me/image
      • AWS-SDK, AWS-S3, MULTER ํŒจํ‚ค์ง€ ํ™œ์šฉํ•˜์—ฌ ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ์ฒ˜๋ฆฌ
  • ๊ตฌ๊ธ€ ์œ ์ € ํšŒ์› ์ •๋ณด ์ˆ˜์ • PATCH /api/auth/me?isGoogle=true
    • ํšŒ์› ๊ฐ€์ž… ์‹œ ์ž…๋ ฅ๋˜์ง€ ์•Š์€ ๋‹‰๋„ค์ž„, ๊ตญ๊ฐ€ ๋“ฑ์„ ์ถ”๊ฐ€๋กœ ์ž…๋ ฅ
  • ํšŒ์› ํƒˆํ‡ด PATCH /api/auth/me/withdrawal
    • ํ˜„์žฌ ๋น„๋ฐ€๋ฒˆํ˜ธ ์ž…๋ ฅ ์‹œ ํšŒ์› ํƒˆํ‡ด
    • ์‚ฌ์šฉ์ž ์ •๋ณด๋ฅผ ์ผ์ • ๊ธฐ๊ฐ„ ์œ ์ง€ํ•˜๊ณ ์ž patch ํ™œ์šฉ
    • ํ›„์— sql schedule ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•˜์—ฌ ์œ ์ € ์ •๋ณด reset ๊ธฐ๋Šฅ ๊ตฌํ˜„ ์˜ˆ์ •
  • ์‚ฌ์šฉ์ž ๊ฒ€์ƒ‰ GET /api/users?search={nickname}
    • ๋‹‰๋„ค์ž„์„ ๊ธฐ์ค€์œผ๋กœ ๊ฒ€์ƒ‰
    • regexp์„ ํ™œ์šฉํ•˜์—ฌ ์ •ํ™•ํžˆ ์ผ์น˜ํ•˜๋Š” ๋‹‰๋„ค์ž„ ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ ๋„์ถœ
  • ์‚ฌ์šฉ์ž ๋žœ๋ค ์ถ”์ฒœ GET /api/users?recommend=true
    • sequelize์˜ random ํ•จ์ˆ˜์™€ limit ์˜ต์…˜์„ ํ™œ์šฉํ•˜์—ฌ ๋žœ๋คํ•œ 10๋ช…์˜ ์‚ฌ์šฉ์ž ์ถ”์ฒœ
  • ํŠน์ • ์‚ฌ์šฉ์ž ์ •๋ณด ํ™•์ธ GET /api/users:{userId}
    • sequelize์˜ include ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•˜์—ฌ ์ž์‹ ํ…Œ์ด๋ธ” (Favor, Language)๋ฅผ ๊ฐ™์ด ์กฐํšŒํ•จ

Letter API

  • ํŠน์ • ์œ ์ €์—๊ฒŒ ํŽธ์ง€์“ฐ๊ธฐ POST /api/letters/:userId
    • ํ”„๋ก ํŠธ๋‹จ์—์„œ ํŽธ์ง€๋ณด๋‚ธ ์‹œ๊ฐ, ๋„์ฐฉ ์‹œ๊ฐ, ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„๊ณผ ํŽธ์ง€ ๋‚ด์šฉ์„ ๋ฐ›์•„ ํŽธ์ง€ ๋ณด๋‚ด๊ธฐ
    • node-scheduler๋ฅผ ์ด์šฉํ•ด ์‹œ๊ฐ„์ด๋˜๋ฉด is_arrived(ํŽธ์ง€๊ฐ€ ๋„์ฐฉํ–ˆ๋Š”์ง€์— ๋Œ€ํ•œ ์†์„ฑ)์ด 1๋กœ ๋ณ€ํ•œ๋‹ค.
  • ํŠน์ • ์œ ์ €์™€์˜ ๋Œ€ํ™” ๋ณด๊ธฐ **GET /api/letters/:userId?page=
    • ํŠน์ • ์œ ์ €์™€์˜ ๋Œ€ํ™” ๋ชฉ๋ก์„ ๋ถˆ๋Ÿฌ์˜ด
    • Sequelize๋กœ Pagination ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•ด, ๋Œ€ํ™”๋ฅผ ๋ถˆ๋Ÿฌ์˜ฌ ๋•Œ ํŽ˜์ด์ง€๋‹น 10๊ฐœ์˜ ์ชฝ์ง€์”ฉ ๋ถˆ๋Ÿฌ์˜ค๋„๋ก ํ•จ (์ „์ฒด ํŽ˜์ด์ง€ ์ˆ˜๋„ ๋™์ ์œผ๋กœ ๊ตฌํ•ด ํ”„๋ก ํŠธ๋‹จ์œผ๋กœ ํ•จ๊ป˜ ๋ณด๋ƒ„)
  • ๋Œ€ํ™”ํ•œ ์‚ฌ๋žŒ๋“ค ๋ชฉ๋ก GET/api/letters/
    • ๋Œ€ํ™”ํ•œ ์‚ฌ๋žŒ๋“ค ๋ชฉ๋ก์„ ๋ณด์—ฌ์ฃผ๋˜, Letter ํ…Œ์ด๋ธ”์˜ ๋‚ด์šฉ ๋ฟ์•„๋‹ˆ๋ผ Letterํ…Œ์ด๋ธ”์ด ์ฐธ์กฐํ•˜๊ณ  ์žˆ๋Š” User ํ…Œ์ด๋ธ”์˜ ๋Œ€ํ™”ํ•œ ์‚ฌ๋žŒ๋“ค์˜ ๊ธฐ๋ณธ์ ์ธ ์ •๋ณด๋ฅผ ํ•จ๊ป˜ ๋ถˆ๋Ÿฌ์˜จ๋‹ค.
    • Letter ํ…Œ์ด๋ธ”์— is_read(์ฝ์—ˆ๋Š”์ง€์— ๋Œ€ํ•œ ์†์„ฑ)๊ฐ€ 0(์•ˆ ์ฝ์Œ)์ธ ๊ฒƒ๋“ค์˜ ๊ฐฏ์ˆ˜๋„ count ๋ณ€์ˆ˜์— ๋‹ด์•„ ํ•จ๊ป˜ ๋ณด๋‚ด์ค€๋‹ค.
  • ์ตœ๊ทผ์— ๋„์ฐฉํ•œ ๋ชฉ๋ก GET/api/letters/my/recent
    • ์ตœ๊ทผ์— ์˜จ ํŽธ์ง€๋“ค์„ ๋ถˆ๋Ÿฌ ์˜ค๋Š”๋ฐ, is_arrived(ํŽธ์ง€๊ฐ€ ๋„์ฐฉํ–ˆ๋Š”์ง€์— ๋Œ€ํ•œ ์†์„ฑ) 1(๋„์ฐฉ)์ธ ๊ฒƒ๋“ค์„ ๋ถˆ๋Ÿฌ์˜จ๋‹ค
  • ์˜ค๊ณ  ์žˆ๋Š” ํŽธ์ง€ ๋ชฉ๋ก GET/api/letters/my/incoming
    • ์˜ค๊ณ  ์žˆ๋Š” ํŽธ์ง€๋“ค์„ ๋ถˆ๋Ÿฌ ์˜ค๋Š”๋ฐ, is_arrived(ํŽธ์ง€๊ฐ€ ๋„์ฐฉํ–ˆ๋Š”์ง€์— ๋Œ€ํ•œ ์†์„ฑ) 0(๋ฐฐ๋‹ฌ ์ค‘)์ธ ๊ฒƒ๋“ค์„ ๋ถˆ๋Ÿฌ์˜จ๋‹ค.
  • ํŠน์ • ์œ ์ €์™€์˜ ํŠน์ • ํŽธ์ง€ ํ™•์ธ GET/api/letters/:userId/:letterId
    • ํŽธ์ง€์˜ ๋‚ด์šฉ์„ ํ™•์ธ
  • ํŽธ์ง€ ์ฝ์Œ ์ฒ˜๋ฆฌ PATCH/api/letters/:letterId
    • is_read(์ฝ์—ˆ๋Š”์ง€์— ๋Œ€ํ•œ ์†์„ฑ)์„ ์ฝ์Œ์œผ๋กœ ์ฒ˜๋ฆฌ
  • ํŽธ์ง€ ์ „์ฒด ์‚ญ์ œ PATCH/api/letters/:userId
    • ํŠน์ • ์œ ์ €์™€์˜ ์ „์ฒด ๋Œ€ํ™” ๋ชฉ๋ก์„ ์‚ญ์ œ

About

swagger docs

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •