Skip to content
This repository has been archived by the owner on Jul 21, 2020. It is now read-only.

Latest commit

 

History

History

apis

API

JWT는 Set-Cookie: access_token=aaa.bbb.ccc 또는 Authorization: Bearer aaa.bbb.ccc 헤더로 전송

Summary

Test

  • 핑퐁

Auth

  • 로그인
  • 내 정보 조회
  • 내 정보 수정
  • 탈퇴
  • 내 로그 조회
  • 내 정보공개설정 조회
  • 내 정보공개설정 수정

User

  • 가입
  • 모든 사용자 정보 조회
  • 사용자 정보 조회
  • 사용자 강퇴
  • 사용자 권한 수정
  • 사용자 로그 조회
  • 사용자 비밀번호 초기화
  • 사용자 정보공개설정 조회

Test

GET /ping

Output:

{
  message: 'pong',
}

Auth

POST /auth

로그인

Input:

{
  id: 00000000, // 숫자 8자리
  password: 'P@ssw0rd!',
}

Output:

Set-Cookie: access_token=aaa.bbb.ccc; HttpOnly
{
  message: 'success',
  token: 'aaa.bbb.ccc', // JWT
}

GET /auth/me

(Auth Required) 내 정보 조회

Output:

{
  message: 'success',
  user: {
    id: 00000000,
    name: '테스터', // nullable
    nameEnglish: 'tester', // nullable
    level: 1,
    email: '[email protected]', // nullable
    phone: '010-0000-0000', // nullable
    picture: 'https://raw.githubusercontent.com/inha-ice/assets/master/images/logo.png', // nullable
  },
}

PATCH /auth/me

(Auth Required) 내 정보 수정

Input:

{
  name: '테스터', // nullable
  nameEnglish: 'tester', // nullable
  email: '[email protected]', // nullable
  phone: '010-0000-0000', // nullable
  picture: 'https://raw.githubusercontent.com/inha-ice/assets/master/images/logo.png', // nullable
}

Output:

{
  message: 'success',
}

DELETE /auth/me

(Auth Required) 탈퇴

Output:

{
  message: 'success',
}

GET /auth/me/logs

(Auth Required) 내 로그 조회

Output:

{
  message: 'success',
  logs: [
    {
      action: 'sign up',
      createdAt: '2020-01-01 00:00:00',
    },
    {
      action: 'login',
      createdAt: '2020-01-01 00:00:00',
    },
    {
      action: 'update me',
      createdAt: '2020-01-01 00:00:01',
    },
  ],
}

GET /auth/me/privacy

(Auth Required) 내 정보공개설정 조회

Output:

{
  message: 'success',
  privacy: {
    name: true,
    nameEnglish: true,
    level: true,
    email: false,
    phone: false,
    picture: true,
  },
}

PATCH /auth/me/privacy

(Auth Required) 내 정보공개설정 수정

Input:

{
  name: false,
  nameEnglish: false,
  level: false,
  email: true,
  phone: true,
  picture: false,
}

Output:

{
  message: 'success',
}

User

POST /users

가입

Input:

{
  id: 00000000, // 숫자 8자리
  name: '테스터',
  password: 'P@ssw0rd!',
}

Output: POST /auth와 동일

GET /users

(Manager Auth Required) 모든 사용자 정보 조회

Output:

{
  message: 'success',
  users: [
    {
      id: 00000000,
      name: '테스터', // nullable
      nameEnglish: 'tester', // nullable
      level: 1,
      email: '[email protected]', // nullable
      phone: '010-0000-0000', // nullable
      picture: 'https://raw.githubusercontent.com/inha-ice/assets/master/images/logo.png', // nullable
    },
  ],
}

GET /users/:id

(Manager Auth Required) 사용자 정보 조회

Output:

{
  message: 'success',
  user: {
    id: 00000000,
    name: '테스터', // nullable
    nameEnglish: 'tester', // nullable
    level: 1,
    email: '[email protected]', // nullable
    phone: '010-0000-0000', // nullable
    picture: 'https://raw.githubusercontent.com/inha-ice/assets/master/images/logo.png', // nullable
  },
}

DELETE /users/:id

(Manager Auth Required) 사용자 강퇴

Output:

{
  message: 'success',
}

PUT /users/:id/level

(Manager Auth Required) 사용자 권한 수정

Input:

{
  level: 'MEMBER',
}

Output:

{
  message: 'success',
}

GET /users/:id/logs

(Manager Auth Required) 사용자 로그 조회

Output:

{
  message: 'success',
  logs: [
    {
      action: 'sign up',
      createdAt: '2020-01-01 00:00:00',
    },
    {
      action: 'login',
      createdAt: '2020-01-01 00:00:00',
    },
    {
      action: 'update me',
      createdAt: '2020-01-01 00:00:01',
    },
  ],
}

DELETE /users/:id/password

(Manager Auth Required) 사용자 비밀번호 초기화

Output:

{
  message: 'success',
}

GET /users/:id/privacy

(Manager Auth Required) 사용자 정보공개설정 조회

Output:

{
  message: 'success',
  privacy: {
    name: true,
    nameEnglish: true,
    level: true,
    email: false,
    phone: false,
    picture: true,
  },
}