route
│
├ myhighlights
│ ├ highlights.js
│ └ pages.js
│
├ highlight
│ ├ create.js
│ ├ update.js
│ └ delete.js
│
└ settings
└ highlights.js
http://domain/highlight/create
유저 ID, pageUrl, colorHex, text 값을 필수로 받습니다
받은 정보를 기반으로 하이라이트 정보를 저장합니다.
페이지 URL을 기반으로 페이지 정보를 DB에 저장한 뒤 응답에 page의 ID 값을 넘깁니다.
출력에 저장된 하이라이트 ID를 반환합니다.
입력 예시
//입력 예시
{
"userId": 12312,
"pageUrl": "www.getliner.com",
"colorHex": "#fffff8",
"text": "라이너 사전과제 입니다."
}
//출력 예시
{
"highlightId": 123,
"userId": 12312,
"pageId": 123,
"colorHex": "#fffff8",
"text": "라이너 사전과제 입니다."
}
http://domain/update/:highlightId
하이라이트 ID와 유저 ID를 필수로 받습니다
text 혹은 colorHex 둘 중에 하나는 값이 유효해야 합니다.
둘 다 받는 것도 고려합니다.
둘 중에 하나만 있는 경우도 고려합니다.
입력 받은 정보를 바탕으로 하이라이트를 저장합니다.
//입력 예시
{
"highlightId": 123,
"userId": 12312,
"colorHex": "#fffff8",
"text": "변경된 텍스트입니다"
}
//출력 예시
{
"highlightId": 123,
"userId": 12312,
"pageId": 123,
"colorHex": "#fffff8",
"text": "변경된 텍스트입니다"
}
http://domain/myhighlights/pages/:pageId
유저 ID 값을 필수로 받습니다
pageID 혹은 pageUrl 둘 중에 하나는 유효한 값을 갖습니다.
두 값 중 하나만 있는 경우도 고려합니다.
두 값 모두 들어오는 경우 pageId를 우선하여 사용합니다.
하이라이트의 정렬은 수정된 시간의 역순입니다.
수정된 시간이 없는 경우 생성 시간을 대신 사용합니다.
입력 예시
{
"userId": 12312,
"pageUrl": "www.getliner.com"
}
출력 예시
[
{
"highlightId": 123,
"userId": 12312,
"pageId": 123,
"colorHex": "#fffff8",
"text": "라이너 사전과제 입니다."
}
...
]
http://domain/myhighlights/highlights
유저 ID를 필수로 받습니다
페이지의 정렬은 마지막 하이라이트가 마지막으로 저장된 시간의 역순으로 합니다.
하이라이트 정렬은 3번과 같습니다.
//입력 예시
{
"userId": 12312,
}
//출력 예시
[
{
"pageId": 123,
"pageUrl": "www.getliner.com"
"highlights": [
{
"highlightId": 123,
"userId": 12312,
"pageId": 123,
"colorHex": "#fffff8",
"text": "라이너 사전과제 입니다."
},
...
]
},
...
]
http://domain/highlight/delete/:highlightId
하이라이트 ID, 유저 ID를 필수로 받습니다
삭제된 하이라이트는 모든 조회 관련 API에서 제외되어 반환됩니다.
//입력 예시
{
"userId": 12312,
"highlightId": 12312,
}
//출력 예시
200 OK
http://domain/settings/highlights
유저 ID를 필수로 받습니다
테마 1, 2, 3 중에 하나로 테마를 변경합니다.
테마가 변경된 이후에는 하이라이트 정보 요청의 응답이 모두 변경된 테마의 색으로 바뀌어야 합니다.
//입력 예시
{
"userId": 12312,
"themeId": 2,
}
//출력 예시
200 OK