Employment Credential Create

유저 프로필 - 이력 생성하기

Client에서 보낸 데이터의 pk에 해당하는 유저의 프로필 이력 정보를 생성합니다. 프로필 이력 정보: 회사, 직위, 입사년도, 퇴사년도, 현재 재직 여부 "회사"는, "Topic(주제)" 중의 하나에 해당합니다. 따라서, 회사를 선택할 때는, 드롭다운으로 "Topic(주제)" 리스트를 가져와서 선택할 수 있도록 해야 합니다. 만약에 회사가 기존의 Topic(주제) 중에 존재하지 않는다면, 이를 생성할 수 있어야 합니다.

URL

/user/<pk>/profile/empl-credentials/

Method

POST

Header

Key Value
Authorization Token(로그인 성공했을 때 받은 Token key값)

Data Params

Key Description Type Require
company_id Topic(주제)의 pk값 Integer False
position 회사에서의 직위 (50글자 이하) String False
start_year 입사년도 (1900~현재년도) Integer False
end_year 퇴사년도 (1900~현재년도) Integer False
working_status 현재 재직 여부 (true 혹은 false) Boolean False

위의 4가지 Data 각각은 Require=False이나, company_id나 position 둘 중 적어도 하나의 데이터를 Client에서 보내주지 않으면 에러를 발생시킨다.

Success Response

201 Created

HTTP Status Code

201

Content

{
    # 생성된 Employment Credential의 pk값
    "pk": 1,
    # 생성된 Employment Credential의 detail URL - 클라이언트에서 다음 요청을 보낼 곳을 알기 쉽도록 url 정보를 돌려줌
    "url": "http://localhost:8000/user/3/profile/empl-credentials/1/",
    # 주제(회사)의 정보
    "company": {
            # 해당 주제의 pk
            "pk": 7,
            # 주제(회사)이름
            "name": "Hyperconnect",
            # 주제(회사)의 이미지 주소
            "image": "http://localhost:8000/media/profile/thumbnail_img_200/nanum123%40gmail.com/tree_moRGpdQ.png"
        },
    "position": "Backoffice Developer",
    "start_year": 2012,
    "end_year": 2013,
    "working_status": true,
    "type": "empl"
}

Error Response

Not Found Error

HTTP Status Code

404

Content

# 존재하지 않는 유저의 pk를 URI에 담아서 보낸 경우

{
    "detail": "찾을 수 없습니다."
}

Bad Request Error

HTTP Status Code

400

Content

# position이 50글자를 초과한 경우
{
    "position": [
        "이 필드의 글자 수가 50 이하인지 확인하십시오."
    ]
}

Bad Request Error

HTTP Status Code

400

Content

# 입사년도, 퇴사년도가  1900~현재년도 범위에서 벗어난 경우
{
    "start_year": [
        "\"2019\"이 유효하지 않은 선택(choice)입니다."
    ],
    "end_year": [
        "\"2020\"이 유효하지 않은 선택(choice)입니다."
    ]
}

Bad Request Error

HTTP Status Code

400

Content

# company, position 모두 누락된 상태로 요청을 보낸 경우
{
    "error": [
        "회사나 직위 중 적어도 하나의 정보를 입력해주세요."
    ]
}

Bad Request Error

HTTP Status Code

400

Content

# start_year에 end_year보다 큰 integer 값이 온 경우
{
    "error": [
        "입사년도가 퇴사년도보다 늦습니다."
    ]
}

Unauthorized Error

HTTP Status Code

401

Content

# 유저 Token을 헤더에 담지 않고 요청을 보낸 경우

{
    "detail": "자격 인증데이터(authentication credentials)가 제공되지 않았습니다."
}

Unauthorized Error

HTTP Status Code

401

Content

# 존재하지 않는 유저 Token을 헤더에 담아 요청을 보낸 경우

{
    "detail": "토큰이 유효하지 않습니다."
}

Forbidden Error

HTTP Status Code

403

Content

# 해당 URI의 pk값에 해당하는 유저와, 요청을 보낸 유저가 다른 경우
# 즉, 프로필 주인이 아닌 다른 유저가, 이력을 생성하려 한 경우

{
    "detail": "이 작업을 수행할 권한(permission)이 없습니다."
}

results matching ""

    No results matching ""