diff --git a/src/docs/asciidoc/docs.adoc b/src/docs/asciidoc/docs.adoc index 519f3576..87c014a5 100644 --- a/src/docs/asciidoc/docs.adoc +++ b/src/docs/asciidoc/docs.adoc @@ -464,16 +464,25 @@ include::{snippets}/matching-controller-test/get-team-success-contact-response/p include::{snippets}/matching-controller-test/get-team-success-contact-response/http-response.adoc[] include::{snippets}/matching-controller-test/get-team-success-contact-response/response-fields.adoc[] -=== 10.19. 내 이력서 - 매칭 삭제 (matchingType : PROFILE) / 보낸 매칭, 성사된 매칭 모두 적용 +=== 10.19. 내가 보낸 매칭 - 매칭 삭제 (matchingType: PROFILE) ==== 요청 include::{snippets}/matching-controller-test/delete-request-private-matching/http-request.adoc[] include::{snippets}/matching-controller-test/delete-request-private-matching/path-parameters.adoc[] -==== 10.20. 팀 소개서 - 매칭 삭제 (matchingType : TEAM_PROFILE) / 보낸 매칭, 성사된 매칭 모두 적용 +=== 10.20. 내가 보낸 매칭 - 매칭 삭제 (matchingType: TEAM_PROFILE) ==== 요청 include::{snippets}/matching-controller-test/delete-request-team-matching/http-request.adoc[] include::{snippets}/matching-controller-test/delete-request-team-matching/path-parameters.adoc[] +=== 10.21. 성사된 매칭 - 매칭 삭제 (matchingType: PROFILE) +==== 요청 +include::{snippets}/matching-controller-test/delete-success-private-matching/http-request.adoc[] +include::{snippets}/matching-controller-test/delete-success-private-matching/path-parameters.adoc[] + +=== 10.22. 성사된 매칭 - 매칭 삭제 (matchingType: TEAM_PROFILE) +include::{snippets}/matching-controller-test/delete-request-team-matching/http-request.adoc[] +include::{snippets}/matching-controller-test/delete-request-team-matching/path-parameters.adoc[] + == 11. 찜하기 === 11.1. 내 이력서 (미니 프로필 ID) 찜하기 생성 ==== 요청 diff --git a/src/docs/asciidoc/docs.html b/src/docs/asciidoc/docs.html index 19a59893..a3c6006e 100644 --- a/src/docs/asciidoc/docs.html +++ b/src/docs/asciidoc/docs.html @@ -571,6 +571,7 @@

Linkit

  • 1.5.1.온보딩 - 내 이력서 - 전체 조회
  • 11. 찜하기 @@ -712,50 +716,275 @@

    1. 회원관리

    1.2.1. 간편로그인 [각 플랫폼 동일]

    요청

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/login-controller-test/login/http-request.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/login-controller-test/login/path-parameters.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/login-controller-test/login/request-fields.adoc[] -==== 응답 -Unresolved directive in docs.adoc - include::{snippets}/login-controller-test/login/http-response.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/login-controller-test/login/response-fields.adoc[]

    +
    +
    +
    POST /login/google HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +
    +{
    +  "code" : "code"
    +}
    +
    +
    + + ++++ + + + + + + + + + + + + +
    Table 1. /login/{provider}
    ParameterDescription

    provider

    로그인 유형 (플랫폼 영어 이름)

    + ++++++ + + + + + + + + + + + + + + + + +
    PathTypeDescriptionConstraint

    code

    String

    인가 코드

    문자열

    +
    +

    응답

    +
    +
    +
    HTTP/1.1 201 Created
    +Vary: Origin
    +Vary: Access-Control-Request-Method
    +Vary: Access-Control-Request-Headers
    +Set-Cookie: refresh-token=refreshToken; Path=/; Max-Age=604800; Expires=Thu, 5 Sep 2024 10:20:10 GMT; Secure; HttpOnly; SameSite=None
    +Content-Type: application/json;charset=UTF-8
    +Content-Length: 136
    +
    +{
    +  "accessToken" : "accessToken",
    +  "email" : "linkit@gmail.com",
    +  "existMemberBasicInform" : false,
    +  "existDefaultProfile" : false
    +}
    +
    +
    + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PathTypeDescription

    accessToken

    String

    access token

    email

    String

    소셜 로그인 이메일

    existMemberBasicInform

    Boolean

    기본 정보 기입 여부 (false: 기본 정보 기입하지 않음)

    existDefaultProfile

    Boolean

    이력서 작성 여부 (false: 내 이력서와 팀 소개서 모두 존재 X | true: 내 이력서나 팀 소개서 중 최소 1개 이상 필수 항목 기입 완료)

    1.2.1. 토큰 재발급

    요청

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/login-controller-test/extend-login/http-request.adoc[] -요청 쿠키 -Unresolved directive in docs.adoc - include::{snippets}/login-controller-test/extend-login/request-cookies.adoc[]

    +
    +
    +
    POST /token HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    -
    -

    응답

    -

    Unresolved directive in docs.adoc - include::{snippets}/login-controller-test/extend-login/http-response.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/login-controller-test/extend-login/response-fields.adoc[]

    +

    요청 쿠키

    +
    + ++++ + + + + + + + + + + + + +
    NameDescription

    refresh-token

    갱신 토큰

    +
    +

    응답

    +
    +
    +
    HTTP/1.1 201 Created
    +Vary: Origin
    +Vary: Access-Control-Request-Method
    +Vary: Access-Control-Request-Headers
    +Content-Type: application/json;charset=UTF-8
    +Content-Length: 147
    +
    +{
    +  "accessToken" : "I'mNewAccessToken!",
    +  "existMemberBasicInform" : true,
    +  "existDefaultProfile" : true,
    +  "existNonCheckNotification" : true
    +}
    +
    +
    + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PathTypeDescription

    accessToken

    String

    access token

    existMemberBasicInform

    Boolean

    기본 정보 기입 여부 (false: 기본 정보 기입하지 않음)

    existDefaultProfile

    Boolean

    이력서 작성 여부 (false: 내 이력서와 팀 소개서 모두 존재 X | true: 내 이력서나 팀 소개서 중 최소 1개 이상 필수 항목 기입 완료)

    existNonCheckNotification

    Boolean

    확인하지 않은 알림의 존재 유무

    1.2.1. 로그아웃

    요청

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/login-controller-test/logout/http-request.adoc[] -요청 헤더 -Unresolved directive in docs.adoc - include::{snippets}/login-controller-test/logout/request-headers.adoc[] -요청 쿠키 -Unresolved directive in docs.adoc - include::{snippets}/login-controller-test/logout/request-cookies.adoc[]

    +
    +
    +
    DELETE /logout HTTP/1.1
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    -
    -

    응답

    -

    Unresolved directive in docs.adoc - include::{snippets}/login-controller-test/logout/http-response.adoc[]

    +

    요청 헤더

    +
    + +++++ + + + + + + + + + + + + + + +
    NameDescriptionConstraint

    Authorization

    access token

    문자열(jwt)

    +
    +

    요청 쿠키

    +
    + ++++ + + + + + + + + + + + + +
    NameDescription

    refresh-token

    갱신 토큰

    +
    +
    +

    응답

    +
    +
    +
    HTTP/1.1 204 No Content
    +Vary: Origin
    +Vary: Access-Control-Request-Method
    +Vary: Access-Control-Request-Headers
    +
    @@ -768,19 +997,111 @@

    1.4. 정

    1.4.1. 개인정보 기입 (기본 정보)

    요청

    +
    +
    +
    POST /members/basic-inform HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    +{
    +  "memberName" : "권동민",
    +  "contact" : "010-3661-4067",
    +  "marketingAgree" : true
    +}
    +
    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PathTypeDescriptionConstraint

    memberName

    String

    성함

    문자열

    contact

    String

    연락처

    010-xxxx-xxxx 형태

    marketingAgree

    Boolean

    마케팅 수신 동의 여부

    Boolean & Default FALSE

    -

    Unresolved directive in docs.adoc - include::{snippets}/member-controller-test/create-member-basic-inform/http-request.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/member-controller-test/create-member-basic-inform/request-fields.adoc[] -요청 헤더 -Unresolved directive in docs.adoc - include::{snippets}/member-controller-test/create-member-basic-inform/request-headers.adoc[] -요청 쿠키 -Unresolved directive in docs.adoc - include::{snippets}/member-controller-test/create-member-basic-inform/request-cookies.adoc[]

    -
    +

    요청 헤더

    +
    + +++++ + + + + + + + + + + + + + + +
    NameDescriptionConstraint

    Authorization

    access token

    문자열(jwt)

    +
    +

    요청 쿠키

    +
    + ++++ + + + + + + + + + + + + +
    NameDescription

    refresh-token

    갱신 토큰

    -

    응답

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/member-controller-test/create-member-basic-inform/http-response.adoc[]

    +

    응답

    +
    +
    +
    HTTP/1.1 201 Created
    +Vary: Origin
    +Vary: Access-Control-Request-Method
    +Vary: Access-Control-Request-Headers
    +
    @@ -788,16 +1109,75 @@

    응답

    1.4.2. 개인정보 조회 (기본 정보)

    요청

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/member-controller-test/get-member-basic-inform/http-request.adoc[]

    +
    +
    +
    GET /members/basic-inform HTTP/1.1
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    -
    -

    응답

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/member-controller-test/get-member-basic-inform/http-response.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/member-controller-test/get-member-basic-inform/response-fields.adoc[]

    +
    +

    응답

    +
    +
    +
    HTTP/1.1 200 OK
    +Vary: Origin
    +Vary: Access-Control-Request-Method
    +Vary: Access-Control-Request-Headers
    +Content-Type: application/json;charset=UTF-8
    +Content-Length: 135
    +
    +{
    +  "id" : 1,
    +  "memberName" : "권동민",
    +  "contact" : "010-3661-4067",
    +  "email" : "kwondm7@naver.com",
    +  "marketingAgree" : true
    +}
    +
    +
    + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PathTypeDescription

    id

    Number

    멤버 기본 정보 ID

    memberName

    String

    성함

    contact

    String

    연락처

    email

    String

    이메일

    marketingAgree

    Boolean

    마케팅 수신 동의 여부

    @@ -807,72 +1187,605 @@

    요청

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/profile-on-boarding-controller-test/get-on-boarding-profile/http-request.adoc[] -==== 응답 -Unresolved directive in docs.adoc - include::{snippets}/profile-on-boarding-controller-test/get-on-boarding-profile/http-response.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/profile-on-boarding-controller-test/get-on-boarding-profile/response-fields.adoc[]

    +
    +
    +
    GET /private/onBoarding HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    +
    +

    응답

    +
    +
    +
    HTTP/1.1 200 OK
    +Vary: Origin
    +Vary: Access-Control-Request-Method
    +Vary: Access-Control-Request-Headers
    +Content-Type: application/json;charset=UTF-8
    +Content-Length: 1692
    +
    +{
    +  "profileTeamBuildingFieldResponse" : {
    +    "teamBuildingFieldNames" : [ "공모전", "대회", "창업" ]
    +  },
    +  "profileRegionResponse" : {
    +    "cityName" : "서울특별시",
    +    "divisionName" : "강남구"
    +  },
    +  "jobAndSkillResponse" : {
    +    "jobRoleNames" : [ "공모전, 대회, 창업" ],
    +    "skillNames" : [ "Notion, Figma" ]
    +  },
    +  "educationResponses" : [ {
    +    "id" : 1,
    +    "admissionYear" : 2022,
    +    "graduationYear" : 2024,
    +    "universityName" : "홍익대학교",
    +    "majorName" : "컴퓨터공학과",
    +    "degreeName" : "재학 중"
    +  }, {
    +    "id" : 2,
    +    "admissionYear" : 2021,
    +    "graduationYear" : 2025,
    +    "universityName" : "홍익대학교",
    +    "majorName" : "예술학과",
    +    "degreeName" : "졸업"
    +  } ],
    +  "antecedentsResponses" : [ {
    +    "id" : 1,
    +    "projectName" : "linkit",
    +    "projectRole" : "프로젝트 매니저",
    +    "startDate" : "2023.03",
    +    "endDate" : "2024.10",
    +    "retirement" : false,
    +    "antecedentsDescription" : "경력 설명입니다."
    +  }, {
    +    "id" : 2,
    +    "projectName" : "오더이즈",
    +    "projectRole" : "프로젝트 매니저",
    +    "startDate" : "2023.03",
    +    "endDate" : "2023.06",
    +    "retirement" : false,
    +    "antecedentsDescription" : "경력 설명입니다."
    +  } ],
    +  "miniProfileResponse" : {
    +    "id" : 1,
    +    "profileTitle" : "시니어 소프트웨어 개발자",
    +    "miniProfileImg" : "https://image.linkit.im/images/linkit_logo.png",
    +    "isActivate" : true,
    +    "myKeywordNames" : [ "2024 레드닷 수상", "스타트업 경력", "서울대 디자인", "대기업 경력 3년" ],
    +    "memberName" : "권동민",
    +    "jobRoleNames" : [ "개발·데이터" ],
    +    "isPrivateSaved" : false
    +  }
    +}
    +
    +
    + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PathTypeDescription

    profileTeamBuildingFieldResponse

    Object

    희망 팀빌딩 분야 항목

    profileTeamBuildingFieldResponse.teamBuildingFieldNames

    Array

    희망 팀빌딩 분야 이름

    jobAndSkillResponse

    Object

    나의 직무/역할 및 보유 기술 정보

    jobAndSkillResponse.jobRoleNames

    Array

    직무/역할 명칭

    jobAndSkillResponse.skillNames

    Array

    보유 기술 명칭

    profileRegionResponse

    Object

    지역 및 위치 항목

    profileRegionResponse.cityName

    String

    시/구 이름

    profileRegionResponse.divisionName

    String

    시/군/구 이름

    educationResponses

    Array

    학력 항목

    educationResponses[].id

    Number

    학력 ID

    educationResponses[].admissionYear

    Number

    입학 연도

    educationResponses[].graduationYear

    Number

    졸업 연도

    educationResponses[].universityName

    String

    학교 이름

    educationResponses[].majorName

    String

    전공 이름

    educationResponses[].degreeName

    String

    학위 이름

    antecedentsResponses

    Array

    이력 항목

    antecedentsResponses[].projectName

    String

    회사 이름

    antecedentsResponses[].projectRole

    String

    포지션

    antecedentsResponses[].startDate

    String

    시작 연도/월

    antecedentsResponses[].endDate

    String

    종료 연도/월

    antecedentsResponses[].retirement

    Boolean

    재직 여부

    miniProfileResponse

    Object

    미니 프로필(내 이력서) 항목

    miniProfileResponse.profileTitle

    String

    프로필의 제목

    miniProfileResponse.miniProfileImg

    String

    미니 프로필 이미지 URL

    miniProfileResponse.myKeywordNames

    Array

    나를 소개하는 키워드 목록

    miniProfileResponse.isActivate

    Boolean

    미니 프로필 활성화 여부

    miniProfileResponse.memberName

    String

    회원 이름

    miniProfileResponse.jobRoleNames

    Array

    직무 및 역할

    +

    1.5.2. 온보딩 - 내 이력서 - 희망 팀빌딩 분야 생성/수정

    요청

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/team-building-field-controller-test/create-profile-team-building-field/http-request.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/team-building-field-controller-test/create-profile-team-building-field/request-fields.adoc[]

    -
    +
    +
    +
    POST /private/team_building_field HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    +{
    +  "teamBuildingFieldNames" : [ "공모전", "대회", "창업" ]
    +}
    +
    +
    + ++++++ + + + + + + + + + + + + + + + + +
    PathTypeDescriptionConstraint

    teamBuildingFieldNames

    Array

    희망 팀빋딩 분야(7가지 항목)

    문자열의 배열

    1.5.3. 온보딩 - 내 이력서 - 활동 지역 및 위치 생성/수정

    요청

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/region-controller-test/create-profile-region/http-request.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/region-controller-test/create-profile-region/request-fields.adoc[]

    -
    +
    +
    +
    POST /private/region HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    +{
    +  "cityName" : "서울특별시",
    +  "divisionName" : "강남구"
    +}
    +
    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + +
    PathTypeDescriptionConstraint

    cityName

    String

    시/구 이름

    문자열

    divisionName

    String

    시/군/구 이름

    문자열

    1.5.4. 온보딩 - 내 이력서 - 희망 역할, 보유 기술 생성/수정

    요청

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/profile-on-boarding-controller-test/create-on-boarding-personal-job-and-skill/http-request.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/profile-on-boarding-controller-test/create-on-boarding-personal-job-and-skill/request-fields.adoc[]

    -
    +
    +
    +
    POST /private/job/skill HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    +{
    +  "jobRoleNames" : [ "공모전, 대회, 창업" ],
    +  "skillNames" : [ "Notion, Figma" ]
    +}
    +
    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + +
    PathTypeDescriptionConstraint

    jobRoleNames

    Array

    희망 직무/역할

    문자열의 배열

    skillNames

    Array

    보유 기술

    문자열의 배열

    1.5.5. 온보딩 - 내 이력서 - 학력 생성/수정

    요청

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/education-controller-test/create-education/http-request.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/education-controller-test/create-education/request-fields.adoc[]

    -
    +
    +
    +
    POST /private/education HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    +{
    +  "admissionYear" : 2022,
    +  "graduationYear" : 2025,
    +  "universityName" : "홍익대학교",
    +  "majorName" : "컴퓨터공학과",
    +  "degreeName" : "졸업"
    +}
    +
    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PathTypeDescriptionConstraint

    admissionYear

    Number

    입학 연도

    4자리 숫자

    graduationYear

    Number

    졸업 연도

    4자리 숫자

    universityName

    String

    학교명

    문자열

    majorName

    String

    전공명

    문자열

    degreeName

    String

    학위명

    문자열

    1.5.6. 온보딩 - 내 이력서 - 경력 생성

    요청

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/antecedents-controller-test/create-antecedent/http-request.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/antecedents-controller-test/create-antecedent/request-fields.adoc[]

    -
    +
    +
    +
    POST /private/antecedent HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    +{
    +  "projectName" : "오더이즈",
    +  "projectRole" : "프로젝트 매니저",
    +  "startDate" : "2023.03",
    +  "endDate" : "2023.06",
    +  "retirement" : false,
    +  "antecedentsDescription" : "경력 설명입니다."
    +}
    +
    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PathTypeDescriptionConstraint

    projectName

    String

    기업명(프로젝트명)

    문자열

    projectRole

    String

    직무(역할)

    문자열

    startDate

    String

    시작 연도.월

    4자리 숫자.2자리 숫자

    endDate

    String

    종료 연도.월

    4자리 숫자.2자리 숫자

    retirement

    Boolean

    퇴직 여부

    false ⇒ 재직 중

    antecedentsDescription

    String

    경력 설명

    문자열

    1.5.6. 온보딩 - 내 이력서 - 미니 프로필 생성

    요청

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/mini-profile-controller-test/create-mini-profile/http-request.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/mini-profile-controller-test/create-mini-profile/request-parts.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/mini-profile-controller-test/create-mini-profile/request-part-miniProfileRequest-fields.adoc[]

    -
    +
    +
    +
    POST /private/mini-profile HTTP/1.1
    +Content-Type: multipart/form-data;charset=UTF-8; boundary=6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
    +Accept: application/json
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    +--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
    +Content-Disposition: form-data; name=miniProfileImage; filename=logo.png
    +Content-Type: multipart/form-data
    +
    +./src/test/resources/static/images/logo.png
    +--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
    +Content-Disposition: form-data; name=miniProfileRequest
    +Content-Type: application/json
    +
    +{"profileTitle":"시니어 소프트웨어 개발자","myKeywordNames":["2024 레드닷 수상","스타트업 경력","서울대 디자인","대기업 경력 3년"],"isActivate":true}
    +--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm--
    +
    +
    + ++++ + + + + + + + + + + + + + + + + +
    PartDescription

    miniProfileRequest

    미니 프로필 생성 객체

    miniProfileImage

    미니 프로필 이미지 파일. 지원되는 형식은 .png, .jpg 등이 있습니다.

    + +++++ + + + + + + + + + + + + + + + + + + + + + + + + +
    PathTypeDescription

    profileTitle

    String

    프로필 제목

    myKeywordNames

    Array

    나를 소개하는 키워드 목록

    isActivate

    Boolean

    프로필 활성화 여부

    @@ -884,47 +1797,351 @@

    1.5.1. 내 이력서 / 팀 소개서 구분 중 팀 소개서 온보딩 항목 조회

    요청

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/team-on-boarding-controller-test/get-on-boarding-team-profile/http-request.adoc[]

    +
    +
    +
    GET /team/onBoarding HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    -
    -

    응답

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/team-on-boarding-controller-test/get-on-boarding-team-profile/http-response.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/team-on-boarding-controller-test/get-on-boarding-team-profile/response-fields.adoc[]

    +
    +

    응답

    +
    +
    +
    HTTP/1.1 200 OK
    +Vary: Origin
    +Vary: Access-Control-Request-Method
    +Vary: Access-Control-Request-Headers
    +Content-Type: application/json;charset=UTF-8
    +Content-Length: 800
    +
    +{
    +  "onBoardingFieldTeamInformResponse" : {
    +    "teamBuildingFieldNames" : [ "공모전", "대회", "창업" ],
    +    "teamName" : "리에종",
    +    "sectorName" : "플랫폼",
    +    "sizeType" : "1-5인"
    +  },
    +  "activityResponse" : {
    +    "activityTagName" : [ "사무실 있음", "대면 활동 선호" ],
    +    "cityName" : "서울특별시",
    +    "divisionName" : "강남구"
    +  },
    +  "teamMiniProfileResponse" : {
    +    "id" : 1,
    +    "sectorName" : "플랫폼",
    +    "sizeType" : "1-5인",
    +    "teamName" : "리에종",
    +    "teamProfileTitle" : "사이드 프로젝트 함께 할 개발자를 찾고 있어요",
    +    "isTeamActivate" : true,
    +    "teamLogoImageUrl" : "https://image.linkit.im/images/linkit_logo.png",
    +    "teamKeywordNames" : [ "재택 가능", "Pre-A", "사수 있음", "스톡 제공" ]
    +  }
    +}
    +
    +
    + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PathTypeDescription

    onBoardingFieldTeamInformResponse

    Object

    희망 팀빌딩 분야 항목과 미니 프로필 일부 정보

    onBoardingFieldTeamInformResponse.teamBuildingFieldNames

    Array

    희망 팀빌딩 분야 이름

    onBoardingFieldTeamInformResponse.teamName

    String

    팀명

    onBoardingFieldTeamInformResponse.sectorName

    String

    팀 분야

    onBoardingFieldTeamInformResponse.sizeType

    String

    팀 규모

    activityResponse

    Object

    활동 방식 및 지역/위치 정보

    activityResponse.activityTagName

    Array

    활동 방식

    activityResponse.cityName

    String

    시/도

    activityResponse.divisionName

    String

    시/군/구

    teamMiniProfileResponse

    Object

    팀 소개서 미니 프로필

    teamMiniProfileResponse.sectorName

    String

    팀 분야

    teamMiniProfileResponse.sizeType

    String

    팀 규모

    teamMiniProfileResponse.teamName

    String

    팀명

    teamMiniProfileResponse.teamProfileTitle

    String

    미니 프로필 제목

    teamMiniProfileResponse.isTeamActivate

    Boolean

    팀 소개서 활성화 여부

    teamMiniProfileResponse.teamLogoImageUrl

    String

    팀 미니 프로필 이미지 경로

    teamMiniProfileResponse.teamKeywordNames

    Array

    팀 소개 항목

    1.5.9. 팀 소개서 희망 팀빌딩 분야 및 팀 기본 정보 생성/수정

    요청

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/team-on-boarding-controller-test/post-on-boarding-field-team-inform/http-request.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/team-on-boarding-controller-test/post-on-boarding-field-team-inform/request-fields.adoc[]

    -
    +
    +
    +
    POST /team/team_building_field/basic_inform HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    +{
    +  "teamBuildingFieldNames" : [ "공모전", "대회" ],
    +  "teamName" : "리에종",
    +  "sizeType" : "1-5인",
    +  "sectorName" : "플랫폼"
    +}
    +
    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PathTypeDescriptionConstraint

    teamBuildingFieldNames

    Array

    희망 팀빌딩 분야(7가지 항목)

    문자열의 배열

    teamName

    String

    팀이름

    문자열

    sizeType

    String

    팀 규모

    문자열

    sectorName

    String

    분야 이름

    문자열

    1.5.10. 팀 소개서 활동방식 및 활동 지역 및 위치 생성/수정

    요청

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/activity-controller-test/post-activity/http-request.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/activity-controller-test/post-activity/request-fields.adoc[]

    -
    +
    +
    +
    POST /team/activity HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    +{
    +  "activityTagNames" : [ "사무실 있음", "대면 활동 선호" ],
    +  "cityName" : "서울특별시",
    +  "divisionName" : "강남구"
    +}
    +
    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PathTypeDescriptionConstraint

    activityTagNames

    Array

    활동 방식

    문자열의 배열

    cityName

    String

    시/구

    문자열

    divisionName

    String

    시/군/구

    문자열

    1.5.11. 팀 소개서 팀 미니 프로필 생성/수정

    요청

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/team-mini-profile-controller-test/create-team-mini-profile/http-request.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/team-mini-profile-controller-test/create-team-mini-profile/request-parts.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/team-mini-profile-controller-test/create-team-mini-profile/request-part-teamMiniProfileCreateRequest-fields.adoc[]

    -
    +
    +
    +
    POST /team/mini-profile HTTP/1.1
    +Content-Type: multipart/form-data;charset=UTF-8; boundary=6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
    +Accept: application/json
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    +--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
    +Content-Disposition: form-data; name=teamMiniProfileImage; filename=logo.png
    +Content-Type: multipart/form-data
    +
    +./src/test/resources/static/images/logo.png
    +--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
    +Content-Disposition: form-data; name=teamMiniProfileCreateRequest
    +Content-Type: application/json
    +
    +{"teamProfileTitle":"사이드 프로젝트 함께 할 개발자를 찾고 있어요","teamKeywordNames":["재택 가능","Pre-A","사수 있음","스톡 제공"],"isTeamActivate":true}
    +--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm--
    +
    +
    + ++++ + + + + + + + + + + + + + + + + +
    PartDescription

    teamMiniProfileCreateRequest

    팀 소개서 미니 이력서 생성 객체

    teamMiniProfileImage

    팀 소개서 미니 프로필 이미지 파일. 지원되는 형식은 .png, .jpg 등이 있습니다.

    + +++++ + + + + + + + + + + + + + + + + + + + + + + + + +
    PathTypeDescription

    teamProfileTitle

    String

    팀 소개서 제목

    isTeamActivate

    Boolean

    팀 소개서 활성화 여부

    teamKeywordNames

    Array

    팀 소개 항목

    @@ -936,33 +2153,534 @@

    3. 내 이력

    3.0. 내 이력서 - 전체 조회

    요청

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/profile-controller-test/get-profile/http-request.adoc[] -==== 응답 -Unresolved directive in docs.adoc - include::{snippets}/profile-controller-test/get-profile/http-response.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/profile-controller-test/get-profile/response-fields.adoc[]

    +
    +
    +
    GET /private/profile HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    +

    응답

    +
    +
    +
    HTTP/1.1 200 OK
    +Vary: Origin
    +Vary: Access-Control-Request-Method
    +Vary: Access-Control-Request-Headers
    +Content-Type: application/json;charset=UTF-8
    +Content-Length: 3294
    +
    +{
    +  "miniProfileResponse" : {
    +    "id" : 1,
    +    "profileTitle" : "시니어 소프트웨어 개발자",
    +    "miniProfileImg" : "https://image.linkit.im/images/linkit_logo.png",
    +    "isActivate" : true,
    +    "myKeywordNames" : [ "2024 레드닷 수상", "스타트업 경력", "서울대 디자인", "대기업 경력 3년" ],
    +    "memberName" : "권동민",
    +    "jobRoleNames" : [ "개발·데이터" ],
    +    "isPrivateSaved" : false
    +  },
    +  "completionResponse" : {
    +    "completion" : "100.0",
    +    "awards" : true,
    +    "profileSkill" : true,
    +    "profileTeamBuildingField" : true,
    +    "profileRegion" : true,
    +    "introduction" : true,
    +    "antecedents" : true,
    +    "education" : true,
    +    "attach" : true
    +  },
    +  "profileIntroductionResponse" : {
    +    "introduction" : "안녕하세요, 저는 다양한 프로젝트와 혁신적인 아이디어를 구현하는 데 열정을 가진 기획자입니다. 대학에서 경영학을 전공하고, 여러 기업에서 프로젝트 매니저와 기획자로서의 경험을 쌓아왔습니다.."
    +  },
    +  "jobAndSkillResponse" : {
    +    "jobRoleNames" : [ "공모전, 대회, 창업" ],
    +    "skillNames" : [ "Notion, Figma" ]
    +  },
    +  "profileTeamBuildingFieldResponse" : {
    +    "teamBuildingFieldNames" : [ "공모전", "대회", "창업" ]
    +  },
    +  "profileRegionResponse" : {
    +    "cityName" : "서울특별시",
    +    "divisionName" : "강남구"
    +  },
    +  "antecedentsResponse" : [ {
    +    "id" : 1,
    +    "projectName" : "linkit",
    +    "projectRole" : "프로젝트 매니저",
    +    "startDate" : "2023.03",
    +    "endDate" : "2024.10",
    +    "retirement" : false,
    +    "antecedentsDescription" : "경력 설명입니다."
    +  }, {
    +    "id" : 2,
    +    "projectName" : "오더이즈",
    +    "projectRole" : "프로젝트 매니저",
    +    "startDate" : "2023.03",
    +    "endDate" : "2023.06",
    +    "retirement" : false,
    +    "antecedentsDescription" : "경력 설명입니다."
    +  } ],
    +  "educationResponse" : [ {
    +    "id" : 1,
    +    "admissionYear" : 2022,
    +    "graduationYear" : 2024,
    +    "universityName" : "홍익대학교",
    +    "majorName" : "컴퓨터공학과",
    +    "degreeName" : "재학 중"
    +  }, {
    +    "id" : 2,
    +    "admissionYear" : 2021,
    +    "graduationYear" : 2025,
    +    "universityName" : "홍익대학교",
    +    "majorName" : "예술학과",
    +    "degreeName" : "졸업"
    +  } ],
    +  "awardsResponse" : [ {
    +    "id" : 1,
    +    "awardsName" : "홍익대학교 창업경진대회",
    +    "ranking" : "대상",
    +    "organizer" : "홍익대학교 창업교육센터",
    +    "awardsYear" : 2024,
    +    "awardsMonth" : 5,
    +    "awardsDescription" : "홍익대학교 창업경진대회에서 1등이라는 성과를 이뤄냈습니다."
    +  }, {
    +    "id" : 2,
    +    "awardsName" : "성균관대학교 캠퍼스타운 입주경진대회",
    +    "ranking" : "선정",
    +    "organizer" : "성균관대학교 캠퍼스타운",
    +    "awardsYear" : 2024,
    +    "awardsMonth" : 3,
    +    "awardsDescription" : "성균관대학교 캠퍼스타운에 최종 선정되었습니다."
    +  } ],
    +  "attachResponse" : {
    +    "attachUrlResponseList" : [ {
    +      "id" : 1,
    +      "attachUrlName" : "깃허브",
    +      "attachUrlPath" : "https://github.com/TEAM-LIAISON"
    +    }, {
    +      "id" : 2,
    +      "attachUrlName" : "노션",
    +      "attachUrlPath" : "https://www.notion.so/ko-kr"
    +    } ]
    +  },
    +  "privateProfileEssential" : true
    +}
    +
    +
    + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PathTypeDescription

    privateProfileEssential

    Boolean

    내 이력서 필수 입력 항목 존재 여부

    miniProfileResponse

    Object

    사용자의 미니 프로필 정보

    miniProfileResponse.profileTitle

    String

    프로필의 제목

    miniProfileResponse.miniProfileImg

    String

    미니 프로필 이미지 URL

    miniProfileResponse.myKeywordNames

    Array

    나를 소개하는 키워드 목록

    miniProfileResponse.isActivate

    Boolean

    미니 프로필 활성화 여부

    miniProfileResponse.memberName

    String

    회원 이름

    miniProfileResponse.jobRoleNames

    Array

    직무 및 역할

    completionResponse

    Object

    프로필의 완성도 정보

    completionResponse.completion

    String

    프로필 완성도 (백분율)

    completionResponse.introduction

    Boolean

    소개의 완성 여부

    completionResponse.profileSkill

    Boolean

    스킬 섹션의 완성 여부

    completionResponse.profileTeamBuildingField

    Boolean

    팀 빌딩 필드의 완성 여부

    completionResponse.profileRegion

    Boolean

    지역 정보의 완성 여부

    completionResponse.antecedents

    Boolean

    이력 사항의 완성 여부

    completionResponse.education

    Boolean

    교육 이력의 완성 여부

    completionResponse.awards

    Boolean

    수상 이력의 완성 여부

    completionResponse.attach

    Boolean

    첨부 파일의 유무

    profileIntroductionResponse

    Object

    프로필 소개

    profileIntroductionResponse.introduction

    String

    소개 내용

    jobAndSkillResponse

    Object

    나의 직무/역할 및 보유 기술 정보

    jobAndSkillResponse.jobRoleNames

    Array

    직무/역할 명칭

    jobAndSkillResponse.skillNames

    Array

    보유 기술 명칭

    profileTeamBuildingFieldResponse

    Object

    팀 빌딩 필드 응답

    profileTeamBuildingFieldResponse.teamBuildingFieldNames

    Array

    팀 빌딩 필드 이름

    profileRegionResponse

    Object

    활동 지역 및 위치 응답

    profileRegionResponse.cityName

    String

    시/도 이름

    profileRegionResponse.divisionName

    String

    시/군/구 이름

    antecedentsResponse

    Array

    과거 경력 정보

    antecedentsResponse[].id

    Number

    경력 ID

    antecedentsResponse[].projectName

    String

    프로젝트 이름

    antecedentsResponse[].projectRole

    String

    프로젝트 역할

    antecedentsResponse[].startDate

    String

    시작 연도/월

    antecedentsResponse[].endDate

    String

    종료 연도/월

    antecedentsResponse[].retirement

    Boolean

    퇴직 여부

    educationResponse

    Array

    교육 이력 정보

    educationResponse[].id

    Number

    교육 이력 ID

    educationResponse[].admissionYear

    Number

    입학 연도

    educationResponse[].graduationYear

    Number

    졸업 연도

    educationResponse[].universityName

    String

    대학교 이름

    educationResponse[].majorName

    String

    전공 이름

    educationResponse[].degreeName

    String

    학위명

    awardsResponse

    Array

    수상 이력 정보

    awardsResponse[].id

    Number

    수상 ID

    awardsResponse[].awardsName

    String

    수상 이름

    awardsResponse[].ranking

    String

    수상 순위

    awardsResponse[].organizer

    String

    주최자

    awardsResponse[].awardsYear

    Number

    수상 연도

    awardsResponse[].awardsMonth

    Number

    수상 월

    awardsResponse[].awardsDescription

    String

    수상 내용

    attachResponse

    Object

    첨부 파일 정보

    attachResponse.attachUrlResponseList[].id

    Number

    첨부 URL ID

    attachResponse.attachUrlResponseList[].attachUrlName

    String

    첨부된 URL 이름

    attachResponse.attachUrlResponseList[].attachUrlPath

    String

    첨부된 URL

    +
    +

    3.1. 내 이력서 - 미니 프로필 수정

    요청

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/mini-profile-controller-test/update-mini-profile/http-request.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/mini-profile-controller-test/update-mini-profile/request-parts.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/mini-profile-controller-test/update-mini-profile/request-part-miniProfileRequest-fields.adoc[]

    -
    +
    +
    +
    POST /private/mini-profile/update HTTP/1.1
    +Content-Type: multipart/form-data;charset=UTF-8; boundary=6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
    +Accept: application/json
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    +--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
    +Content-Disposition: form-data; name=miniProfileImage; filename=logo.png
    +Content-Type: multipart/form-data
    +
    +./src/test/resources/static/images/logo.png
    +--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
    +Content-Disposition: form-data; name=miniProfileRequest
    +Content-Type: application/json
    +
    +{"profileTitle":"시니어 소프트웨어 개발자","myKeywordNames":["2024 레드닷 수상","스타트업 경력","서울대 디자인","대기업 경력 3년"],"isActivate":true}
    +--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm--
    +
    +
    + ++++ + + + + + + + + + + + + + + + + +
    PartDescription

    miniProfileRequest

    미니 프로필 생성 객체

    miniProfileImage

    미니 프로필 이미지 파일. 지원되는 형식은 .png, .jpg 등이 있습니다.

    + +++++ + + + + + + + + + + + + + + + + + + + + + + + + +
    PathTypeDescription

    profileTitle

    String

    프로필 제목

    myKeywordNames

    Array

    나를 소개하는 키워드 목록

    isActivate

    Boolean

    프로필 활성화 여부

    3.4. 내 이력서 - 자기소개 생성/수정

    요청

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/profile-controller-test/create-profile-introduction/http-request.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/profile-controller-test/create-profile-introduction/request-fields.adoc[]

    -
    +
    +
    +
    POST /private/introduction HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    +{
    +  "introduction" : "프로필 자기소개 항목을 입력합니다."
    +}
    +
    +
    + ++++++ + + + + + + + + + + + + + + + + +
    PathTypeDescriptionConstraint

    introduction

    String

    자기소개

    문자열

    @@ -979,88 +2697,664 @@

    3.8. 내 이력서 - 경력 단일 생성

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/antecedents-controller-test/create-antecedent/http-request.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/antecedents-controller-test/create-antecedent/request-fields.adoc[]

    -
    +
    +
    +
    POST /private/antecedent HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    +{
    +  "projectName" : "오더이즈",
    +  "projectRole" : "프로젝트 매니저",
    +  "startDate" : "2023.03",
    +  "endDate" : "2023.06",
    +  "retirement" : false,
    +  "antecedentsDescription" : "경력 설명입니다."
    +}
    +
    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PathTypeDescriptionConstraint

    projectName

    String

    기업명(프로젝트명)

    문자열

    projectRole

    String

    직무(역할)

    문자열

    startDate

    String

    시작 연도.월

    4자리 숫자.2자리 숫자

    endDate

    String

    종료 연도.월

    4자리 숫자.2자리 숫자

    retirement

    Boolean

    퇴직 여부

    false ⇒ 재직 중

    antecedentsDescription

    String

    경력 설명

    문자열

    3.8. 내 이력서 - 경력 단일 수정

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/antecedents-controller-test/update-antecedent/http-request.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/antecedents-controller-test/update-antecedent/request-fields.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/antecedents-controller-test/update-antecedent/path-parameters.adoc[]

    -
    +
    +
    +
    POST /private/antecedents/1 HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    +{
    +  "projectName" : "오더이즈",
    +  "projectRole" : "프로젝트 매니저",
    +  "startDate" : "2023.03",
    +  "endDate" : "2023.06",
    +  "retirement" : false,
    +  "antecedentsDescription" : "경력 설명입니다."
    +}
    +
    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PathTypeDescriptionConstraint

    projectName

    String

    기업명(프로젝트명)

    문자열

    projectRole

    String

    직무(역할)

    문자열

    startDate

    String

    시작 연도.월

    4자리 숫자.2자리 숫자

    endDate

    String

    종료 연도.월

    4자리 숫자.2자리 숫자

    retirement

    Boolean

    퇴직 여부

    false ⇒ 재직 중

    antecedentsDescription

    String

    경력 설명

    문자열

    + + ++++ + + + + + + + + + + + + +
    Table 2. /private/antecedents/{antecedentsId}
    ParameterDescription

    antecedentsId

    경력 항목 ID

    3.8. 내 이력서 - 경력 단일 삭제

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/antecedents-controller-test/delete-antecedents/http-request.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/antecedents-controller-test/delete-antecedents/path-parameters.adoc[]

    -
    +
    +
    +
    DELETE /private/antecedents/1 HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    +
    + + ++++ + + + + + + + + + + + + +
    Table 3. /private/antecedents/{antecedentsId}
    ParameterDescription

    antecedentsId

    경력 항목 ID

    3.9. 내 이력서 - 학력 생성

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/education-controller-test/create-education/http-request.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/education-controller-test/create-education/request-fields.adoc[]

    -
    +
    +
    +
    POST /private/education HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    +{
    +  "admissionYear" : 2022,
    +  "graduationYear" : 2025,
    +  "universityName" : "홍익대학교",
    +  "majorName" : "컴퓨터공학과",
    +  "degreeName" : "졸업"
    +}
    +
    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PathTypeDescriptionConstraint

    admissionYear

    Number

    입학 연도

    4자리 숫자

    graduationYear

    Number

    졸업 연도

    4자리 숫자

    universityName

    String

    학교명

    문자열

    majorName

    String

    전공명

    문자열

    degreeName

    String

    학위명

    문자열

    3.9. 내 이력서 - 학력 수정

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/education-controller-test/update-education/http-request.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/education-controller-test/update-education/path-parameters.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/education-controller-test/update-education/request-fields.adoc[]

    -
    +
    +
    +
    POST /private/education/1 HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    +{
    +  "admissionYear" : 2022,
    +  "graduationYear" : 2025,
    +  "universityName" : "홍익대학교",
    +  "majorName" : "컴퓨터공학과",
    +  "degreeName" : "졸업"
    +}
    +
    +
    + + ++++ + + + + + + + + + + + + +
    Table 4. /private/education/{educationId}
    ParameterDescription

    educationId

    학력 항목 ID

    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PathTypeDescriptionConstraint

    admissionYear

    Number

    입학 연도

    4자리 숫자

    graduationYear

    Number

    졸업 연도

    4자리 숫자

    universityName

    String

    학교명

    문자열

    majorName

    String

    전공명

    문자열

    degreeName

    String

    학위명

    문자열

    3.9. 내 이력서 - 학력 삭제

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/education-controller-test/delete-education/http-request.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/education-controller-test/delete-education/path-parameters.adoc[]

    -
    +
    +
    +
    DELETE /private/education/1 HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    +
    + + ++++ + + + + + + + + + + + + +
    Table 5. /private/education/{educationId}
    ParameterDescription

    educationId

    학력 항목 ID

    3.10. 내 이력서 - 수상 단일 생성

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/awards-controller-test/create-award/http-request.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/awards-controller-test/create-award/request-fields.adoc[]

    -
    +
    +
    +
    POST /private/award HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    +{
    +  "awardsName" : "홍익대학교 창업경진대회",
    +  "ranking" : "대상",
    +  "organizer" : "홍익대학교 창업교육센터",
    +  "awardsYear" : 2023,
    +  "awardsMonth" : 5,
    +  "awardsDescription" : "홍익대학교 창업경진대회에서 1등이라는 성과를 이뤄냈습니다."
    +}
    +
    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PathTypeDescriptionConstraint

    awardsName

    String

    수상 부문

    문자열

    ranking

    String

    수상명

    문자열

    organizer

    String

    주관 기관

    문자열

    awardsYear

    Number

    수상 연도

    양의 정수이자 4자리 수

    awardsMonth

    Number

    수상 월

    양의 정수이자 1부터 12까지의 숫자

    awardsDescription

    String

    수상 항목 설명

    문자열

    3.10. 내 이력서 - 수상 단일 수정

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/awards-controller-test/update-award/http-request.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/awards-controller-test/update-award/request-fields.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/awards-controller-test/update-award/path-parameters.adoc[]

    -
    +
    +
    +
    POST /private/award/1 HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    +{
    +  "awardsName" : "홍익대학교 창업경진대회",
    +  "ranking" : "대상",
    +  "organizer" : "홍익대학교 창업교육센터",
    +  "awardsYear" : 2023,
    +  "awardsMonth" : 5,
    +  "awardsDescription" : "홍익대학교 창업경진대회에서 1등이라는 성과를 이뤄냈습니다."
    +}
    +
    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PathTypeDescriptionConstraint

    awardsName

    String

    수상 부문

    문자열

    ranking

    String

    수상명

    문자열

    organizer

    String

    주관 기관

    문자열

    awardsYear

    Number

    수상 연도

    양의 정수이자 4자리 수

    awardsMonth

    Number

    수상 월

    양의 정수이자 1부터 12까지의 숫자

    awardsDescription

    String

    수상 항목 설명

    문자열

    + + ++++ + + + + + + + + + + + + +
    Table 6. /private/award/{awardsId}
    ParameterDescription

    awardsId

    수상 ID

    3.10. 내 이력서 - 수상 단일 삭제

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/awards-controller-test/delete-awards/http-request.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/awards-controller-test/delete-awards/path-parameters.adoc[]

    -
    +
    +
    +
    DELETE /private/awards/1 HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    +
    + + ++++ + + + + + + + + + + + + +
    Table 7. /private/awards/{awardsId}
    ParameterDescription

    awardsId

    수상 ID

    3.11. 내 이력서 - 첨부 URL 생성/수정

    요청

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/attach-controller-test/create-attach-url/http-request.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/attach-controller-test/create-attach-url/request-fields.adoc[]

    -
    +
    +
    +
    POST /private/attach/url HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    +[ {
    +  "attachUrlName" : "깃허브",
    +  "attachUrlPath" : "https://github.com/TEAM-LIAISON"
    +}, {
    +  "attachUrlName" : "노션",
    +  "attachUrlPath" : "https://www.notion.no"
    +} ]
    +
    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + +
    PathTypeDescriptionConstraint

    [].attachUrlName

    String

    웹 링크 이름

    문자열

    [].attachUrlPath

    String

    웹 링크 경로

    문자열

    3.11. 내 이력서 - 첨부 URL 삭제

    요청

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/attach-controller-test/delete-attach-url/http-request.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/attach-controller-test/delete-attach-url/path-parameters.adoc[]

    -
    +
    +
    +
    DELETE /private/attach/url/1 HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    +
    + + ++++ + + + + + + + + + + + + +
    Table 8. /private/attach/url/{attachUrlId}
    ParameterDescription

    attachUrlId

    첨부 URL ID

    @@ -1072,45 +3366,621 @@

    4. 팀 소개

    4.0. 팀 소개서 - 전체 조회

    요청

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/team-profile-controller-test/get-team-profile/http-request.adoc[] -==== 응답 -Unresolved directive in docs.adoc - include::{snippets}/team-profile-controller-test/get-team-profile/http-response.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/team-profile-controller-test/get-team-profile/response-fields.adoc[]

    +
    +
    +
    GET /team/profile HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    +
    +

    응답

    +
    +
    +
    HTTP/1.1 200 OK
    +Vary: Origin
    +Vary: Access-Control-Request-Method
    +Vary: Access-Control-Request-Headers
    +Content-Type: application/json;charset=UTF-8
    +Content-Length: 3122
    +
    +{
    +  "teamMiniProfileResponse" : {
    +    "id" : 1,
    +    "sectorName" : "SaaS",
    +    "sizeType" : "1-5인",
    +    "teamName" : "리에종",
    +    "teamProfileTitle" : "팀 소개서 제목입니다.",
    +    "isTeamActivate" : false,
    +    "teamLogoImageUrl" : "https://image.linkit.im/images/linkit_logo.png",
    +    "teamKeywordNames" : [ "재택 가능", "Pre-A", "사수 있음", "스톡 제공" ]
    +  },
    +  "teamCompletionResponse" : {
    +    "teamCompletion" : "100.0",
    +    "teamProfileTeamBuildingField" : true,
    +    "activity" : true,
    +    "history" : true,
    +    "teamMemberAnnouncement" : true,
    +    "teamIntroduction" : true,
    +    "teamMemberIntroduction" : true,
    +    "teamAttach" : true
    +  },
    +  "teamProfileTeamBuildingFieldResponse" : {
    +    "teamProfileTeamBuildingFieldNames" : [ "공모전", "대회", "창업" ]
    +  },
    +  "teamMemberAnnouncementResponses" : [ {
    +    "id" : 1,
    +    "teamLogoImageUrl" : "https://image.linkit.im/images/linkit_logo.png",
    +    "teamName" : "리에종",
    +    "jobRoleName" : "기획·경영",
    +    "mainBusiness" : "주요 업무입니다. (첫번째 팀원 공고)",
    +    "skillNames" : [ "서비스 기획", "데이터 엔지니어" ],
    +    "applicationProcess" : "지원 절차입니다. (첫번째 팀원 공고)",
    +    "isTeamSaved" : false
    +  }, {
    +    "id" : 2,
    +    "teamLogoImageUrl" : "https://image.linkit.im/images/linkit_logo.png",
    +    "teamName" : "리에종",
    +    "jobRoleName" : "디자인",
    +    "mainBusiness" : "주요 업무입니다. (두번째 팀원 공고)",
    +    "skillNames" : [ "웹 디자인", "앱 디자인" ],
    +    "applicationProcess" : "지원 절차입니다. (두번째 팀원 공고)",
    +    "isTeamSaved" : false
    +  } ],
    +  "activityResponse" : {
    +    "activityTagName" : [ "사무실 있음", "비대면 활동" ],
    +    "cityName" : "서울특별시",
    +    "divisionName" : "강남구"
    +  },
    +  "teamProfileIntroductionResponse" : {
    +    "teamIntroduction" : "팀 소개입니다."
    +  },
    +  "teamMemberIntroductionResponses" : [ {
    +    "id" : 1,
    +    "teamMemberName" : "김동혁",
    +    "teamMemberRole" : "프론트엔드 개발자",
    +    "teamMemberIntroductionText" : "프론트엔드 개발자입니다."
    +  }, {
    +    "id" : 2,
    +    "teamMemberName" : "권동민",
    +    "teamMemberRole" : "백엔드 개발자",
    +    "teamMemberIntroductionText" : "백엔드 개발자입니다."
    +  } ],
    +  "historyResponses" : [ {
    +    "id" : 1,
    +    "historyOneLineIntroduction" : "연혁 한 줄 소개입니다.",
    +    "startYear" : 2024,
    +    "endYear" : 2025,
    +    "historyIntroduction" : "연혁 설명입니다.",
    +    "inProgress" : false
    +  }, {
    +    "id" : 2,
    +    "historyOneLineIntroduction" : "연혁 한 줄 소개입니다. 2",
    +    "startYear" : 2023,
    +    "endYear" : 2024,
    +    "historyIntroduction" : "연혁 설명입니다. 2",
    +    "inProgress" : true
    +  } ],
    +  "teamAttachResponse" : {
    +    "teamAttachUrlResponseList" : [ {
    +      "id" : 1,
    +      "teamAttachUrlName" : "깃허브",
    +      "teamAttachUrlPath" : "https://github.com/TEAM-LIAISON"
    +    }, {
    +      "id" : 2,
    +      "teamAttachUrlName" : "노션",
    +      "teamAttachUrlPath" : "https://www.notion.so/ko-kr"
    +    } ]
    +  },
    +  "teamProfileEssential" : true
    +}
    +
    +
    + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PathTypeDescription

    teamProfileEssential

    Boolean

    팀 소개서 기본 항목 존재 여부

    teamMiniProfileResponse

    Object

    팀 미니 프로필 응답 객체

    teamMiniProfileResponse.sectorName

    String

    팀 미니 프로필 분야

    teamMiniProfileResponse.sizeType

    String

    팀 미니 프로필 규모

    teamMiniProfileResponse.teamName

    String

    팀 이름

    teamMiniProfileResponse.teamProfileTitle

    String

    팀 미니 프로필 제목

    teamMiniProfileResponse.isTeamActivate

    Boolean

    팀 소개서 활성화 여부

    teamMiniProfileResponse.teamLogoImageUrl

    String

    이미지 파일 소스 경로

    teamMiniProfileResponse.teamKeywordNames

    Array

    팀 소개 항목

    teamCompletionResponse

    Object

    팀 소개서 완성도 응답 객체

    teamCompletionResponse.teamCompletion

    String

    팀 소개서 완성도 % 값

    teamCompletionResponse.teamProfileTeamBuildingField

    Boolean

    희망 팀빌딩 분야 기입 여부

    teamCompletionResponse.teamMemberAnnouncement

    Boolean

    팀원 공고

    teamCompletionResponse.activity

    Boolean

    활동 방식 및 활동 지역 및 위치

    teamCompletionResponse.teamIntroduction

    Boolean

    팀 소개

    teamCompletionResponse.teamMemberIntroduction

    Boolean

    팀원 소개

    teamCompletionResponse.history

    Boolean

    연혁

    teamCompletionResponse.teamAttach

    Boolean

    첨부

    teamProfileTeamBuildingFieldResponse

    Object

    희망 팀빌딩 분야 응답 객체

    teamProfileTeamBuildingFieldResponse.teamProfileTeamBuildingFieldNames

    Array

    희망 팀빌딩 분야 이름

    teamMemberAnnouncementResponses

    Array

    팀원 공고 응답 객체

    teamMemberAnnouncementResponses[].id

    Number

    팀원 공고 응답 객체 ID

    teamMemberAnnouncementResponses[].teamName

    String

    팀 이름

    teamMemberAnnouncementResponses[].jobRoleName

    String

    직무, 역할 이름

    teamMemberAnnouncementResponses[].mainBusiness

    String

    팀원 공고 주요 업무

    teamMemberAnnouncementResponses[].skillNames

    Array

    보유 역량 이름 배열

    teamMemberAnnouncementResponses[].applicationProcess

    String

    지원 절차

    activityResponse

    Object

    활동 방식 및 활동 지역 및 위치 응답 객체

    activityResponse.activityTagName

    Array

    활동 방식

    activityResponse.cityName

    String

    시/도 이름

    activityResponse.divisionName

    String

    시/군/구 이름

    teamProfileIntroductionResponse

    Object

    팀 소개 응답 객체

    teamProfileIntroductionResponse.teamIntroduction

    String

    팀 소개 텍스트

    teamMemberIntroductionResponses

    Array

    팀원 소개 응답 객체

    teamMemberIntroductionResponses[].id

    Number

    팀원 소개 응답 객체 ID

    teamMemberIntroductionResponses[].teamMemberName

    String

    팀원 이름

    teamMemberIntroductionResponses[].teamMemberRole

    String

    팀원 직무/역할

    teamMemberIntroductionResponses[].teamMemberIntroductionText

    String

    팀원 소개 텍스트

    historyResponses

    Array

    연혁 응답 객체

    historyResponses[].id

    Number

    연혁 응답 객체 ID

    historyResponses[].historyOneLineIntroduction

    String

    연혁 한 줄 소개

    historyResponses[].startYear

    Number

    시작 연도

    historyResponses[].endYear

    Number

    종료 연도

    historyResponses[].historyIntroduction

    String

    연혁 소개

    historyResponses[].inProgress

    Boolean

    진행 여부

    teamAttachResponse

    Object

    팀 첨부 응답 객체

    teamAttachResponse.teamAttachUrlResponseList[].id

    Number

    첨부 URL 객체 ID

    teamAttachResponse.teamAttachUrlResponseList[].teamAttachUrlName

    String

    팀 첨부 URL 이름

    teamAttachResponse.teamAttachUrlResponseList[].teamAttachUrlPath

    String

    팀 첨부 URL 경로

    +

    4.1. 팀 소개서 - 팀 미니 프로필 수정

    요청

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/team-on-boarding-controller-test/update-on-boarding-field-team-inform/http-request.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/team-on-boarding-controller-test/update-on-boarding-field-team-inform/request-fields.adoc[]

    -
    +
    +
    +
    POST /update/onBoarding/team/mini-profile HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    +{
    +  "teamBuildingFieldNames" : null,
    +  "teamName" : "리에종",
    +  "sizeType" : "1-5인",
    +  "sectorName" : "플랫폼"
    +}
    +
    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PathTypeDescriptionConstraint

    teamBuildingFieldNames

    Null

    희망 팀빌딩 분야(7가지 항목)

    문자열의 배열

    teamName

    String

    팀이름

    문자열

    sizeType

    String

    팀 규모

    문자열

    sectorName

    String

    분야 이름

    문자열

    4.4. 팀 소개서 - 희망 팀빌딩 분야 생성/수정

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/team-profile-team-building-field-controller-test/create-team-profile-team-building-field/http-request.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/team-profile-team-building-field-controller-test/create-team-profile-team-building-field/request-fields.adoc[]

    -
    +
    +
    +
    POST /team/team_building_field HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    +{
    +  "teamBuildingFieldNames" : [ "공모전", "대회", "창업" ]
    +}
    +
    +
    + ++++++ + + + + + + + + + + + + + + + + +
    PathTypeDescriptionConstraint

    teamBuildingFieldNames

    Array

    희망 팀빋딩 분야(7가지 항목)

    문자열의 배열

    4.5. 팀 소개서 - 팀원 공고 단일 생성

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/team-member-announcement-controller-test/create-team-member-announcement/http-request.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/team-member-announcement-controller-test/create-team-member-announcement/request-fields.adoc[]

    -
    +
    +
    +
    POST /team/member/announcement HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    +{
    +  "jobRoleName" : "개발·데이터",
    +  "mainBusiness" : "주요 업무입니다.",
    +  "skillNames" : [ "서버 개발", "DevOps" ],
    +  "applicationProcess" : "지원 절차입니다."
    +}
    +
    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PathTypeDescriptionConstraint

    jobRoleName

    String

    직무/역할 (4가지 항목)

    문자열

    mainBusiness

    String

    주요 업무

    문자열

    skillNames

    Array

    보유 역량

    문자열의 배열

    applicationProcess

    String

    지원 절차

    문자열

    4.5. 팀 소개서 - 팀원 공고 단일 수정

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/team-member-announcement-controller-test/update-team-member-announcement/http-request.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/team-member-announcement-controller-test/update-team-member-announcement/request-fields.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/team-member-announcement-controller-test/update-team-member-announcement/path-parameters.adoc[]

    -
    +
    +
    +
    POST /team/member/announcement/1 HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    +{
    +  "jobRoleName" : "개발·데이터",
    +  "mainBusiness" : "주요 업무입니다.",
    +  "skillNames" : [ "서버 개발", "DevOps", "게임 디자인" ],
    +  "applicationProcess" : "지원 절차입니다."
    +}
    +
    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PathTypeDescriptionConstraint

    jobRoleName

    String

    직무/역할 (4가지 항목)

    문자열

    mainBusiness

    String

    주요 업무

    문자열

    skillNames

    Array

    보유 역량

    문자열의 배열

    applicationProcess

    String

    지원 절차

    문자열

    + + ++++ + + + + + + + + + + + + +
    Table 9. /team/member/announcement/{teamMemberAnnouncementId}
    ParameterDescription

    teamMemberAnnouncementId

    팀원 공고 ID

    4.5. 팀 소개서 - 팀원 공고 단일 삭제

    @@ -1118,10 +3988,33 @@

    요청

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/team-member-announcement-controller-test/delete-team-member-announcement/http-request.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/team-member-announcement-controller-test/delete-team-member-announcement/path-parameters.adoc[]

    -
    +
    +
    +
    DELETE /team/members/announcements/1 HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    +
    + + ++++ + + + + + + + + + + + + +
    Table 10. /team/members/announcements/{teamMemberAnnouncementId}
    ParameterDescription

    teamMemberAnnouncementId

    팀원 공고 ID

    4.6. 팀 소개서 - 활동 방식 및 활동 지역/위치 생성/수정 [온보딩 동일]

    @@ -1131,74 +4024,465 @@

    4.7. 팀 소개서 - 팀 소개 생성/수정/삭제

    요청

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/team-profile-controller-test/create-team-profile-introduction/http-request.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/team-profile-controller-test/create-team-profile-introduction/request-fields.adoc[]

    -
    +
    +
    +
    POST /team/introduction HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    +{
    +  "teamIntroduction" : "팀 소개 항목을 입력합니다."
    +}
    +
    +
    + ++++++ + + + + + + + + + + + + + + + + +
    PathTypeDescriptionConstraint

    teamIntroduction

    String

    팀 소개

    문자열, 공란이면 삭제

    4.8. 팀 소개서 - 팀원 소개 단일 생성

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/team-member-introduction-controller-test/create-team-member-introduction/http-request.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/team-member-introduction-controller-test/create-team-member-introduction/request-fields.adoc[]

    -
    +
    +
    +
    POST /team/member HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    +{
    +  "teamMemberName" : "김서연",
    +  "teamMemberRole" : "디자이너",
    +  "teamMemberIntroductionText" : "레드닷 상 받았어요"
    +}
    +
    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PathTypeDescriptionConstraint

    teamMemberName

    String

    팀원 이름

    문자열

    teamMemberRole

    String

    팀원 직무/역할

    문자열

    teamMemberIntroductionText

    String

    팀원 소개

    문자열

    4.8. 팀 소개서 - 팀원 소개 단일 수정

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/team-member-introduction-controller-test/update-team-member-introduction/http-request.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/team-member-introduction-controller-test/update-team-member-introduction/request-fields.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/team-member-introduction-controller-test/update-team-member-introduction/path-parameters.adoc[]

    -
    +
    +
    +
    POST /team/member/1 HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    +{
    +  "teamMemberName" : "김서연",
    +  "teamMemberRole" : "디자이너",
    +  "teamMemberIntroductionText" : "레드닷 상 받았어요"
    +}
    +
    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PathTypeDescriptionConstraint

    teamMemberName

    String

    팀원 이름

    문자열

    teamMemberRole

    String

    팀원 직무/역할

    문자열

    teamMemberIntroductionText

    String

    팀원 소개

    문자열

    + + ++++ + + + + + + + + + + + + +
    Table 11. /team/member/{teamMemberIntroductionId}
    ParameterDescription

    teamMemberIntroductionId

    팀원 소개 ID

    4.8. 팀 소개서 - 팀원 소개 단일 삭제

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/team-member-introduction-controller-test/delete-team-member-introduction/http-request.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/team-member-introduction-controller-test/delete-team-member-introduction/path-parameters.adoc[]

    -
    +
    +
    +
    DELETE /team/members/1 HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    +
    + + ++++ + + + + + + + + + + + + +
    Table 12. /team/members/{teamMemberIntroductionId}
    ParameterDescription

    teamMemberIntroductionId

    팀원 소개 ID

    4.9. 팀 소개서 - 팀 연혁 단일 생성

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/history-controller-test/create-history/http-request.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/history-controller-test/create-history/request-fields.adoc[]

    -
    +
    +
    +
    POST /team/history HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    +{
    +  "historyOneLineIntroduction" : "Seed 투자 유치",
    +  "startYear" : 2023,
    +  "endYear" : 2024,
    +  "inProgress" : true,
    +  "historyIntroduction" : "5,000만원 투자를 받았어요"
    +}
    +
    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PathTypeDescriptionConstraint

    historyOneLineIntroduction

    String

    연혁 한 줄 소개

    문자열

    startYear

    Number

    시작 연도

    숫자

    endYear

    Number

    종료 연도

    숫자

    inProgress

    Boolean

    현재 진행 여부

    boolean

    historyIntroduction

    String

    연혁 소개 텍스트

    문자열

    4.9. 팀 소개서 - 팀 연혁 단일 수정

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/history-controller-test/update-history/http-request.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/history-controller-test/update-history/request-fields.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/history-controller-test/update-history/path-parameters.adoc[]

    -
    +
    +
    +
    POST /team/history/1 HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    +{
    +  "historyOneLineIntroduction" : "Seed 투자 유치",
    +  "startYear" : 2023,
    +  "endYear" : 2024,
    +  "inProgress" : true,
    +  "historyIntroduction" : "5,000만원 투자를 받았어요"
    +}
    +
    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PathTypeDescriptionConstraint

    historyOneLineIntroduction

    String

    연혁 한 줄 소개

    문자열

    startYear

    Number

    시작 연도

    숫자

    endYear

    Number

    종료 연도

    숫자

    inProgress

    Boolean

    현재 진행 여부

    boolean

    historyIntroduction

    String

    연혁 소개 텍스트

    문자열

    + + ++++ + + + + + + + + + + + + +
    Table 13. /team/history/{historyId}
    ParameterDescription

    historyId

    연혁 ID

    4.9. 팀 소개서 - 팀 연혁 단일 삭제

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/history-controller-test/delete-history/http-request.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/history-controller-test/delete-history/path-parameters.adoc[]

    -
    +
    +
    +
    DELETE /team/history/1 HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    +
    + + ++++ + + + + + + + + + + + + +
    Table 14. /team/history/{historyId}
    ParameterDescription

    historyId

    연혁 ID

    4.10. 팀 소개서 - 팀 첨부 URL 생성/수정

    요청

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/team-attach-controller-test/create-team-attach-url/http-request.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/team-attach-controller-test/create-team-attach-url/request-fields.adoc[]

    -
    +
    +
    +
    POST /team/attach/url HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    +[ {
    +  "teamAttachUrlName" : "깃허브",
    +  "teamAttachUrlPath" : "https://github.com/TEAM-LIAISON"
    +}, {
    +  "teamAttachUrlName" : "노션",
    +  "teamAttachUrlPath" : "https://www.notion.no"
    +} ]
    +
    +
    + ++++++ + + + + + + + + + + + + + + + + + + + + + + +
    PathTypeDescriptionConstraint

    [].teamAttachUrlName

    String

    팀 첨부 웹 링크 이름

    문자열

    [].teamAttachUrlPath

    String

    팀 첨부 웹 링크 경로

    문자열

    4.10. 팀 소개서 - 팀 첨부 URL 삭제

    요청

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/team-attach-controller-test/delete-team-attach-url/http-request.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/team-attach-controller-test/delete-team-attach-url/path-parameters.adoc[]

    -
    +
    +
    +
    DELETE /team/attach/url/1 HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    +
    + + ++++ + + + + + + + + + + + + +
    Table 15. /team/attach/url/{teamAttachUrlId}
    ParameterDescription

    teamAttachUrlId

    팀 첨부 URL ID

    @@ -1210,34 +4494,431 @@

    6. 팀원 찾

    6.1. 팀원 찾기 페이지

    요청

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/search-controller-test/get-private-mini-profile/http-request.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/search-controller-test/get-private-mini-profile/query-parameters.adoc[] -==== 응답 -Unresolved directive in docs.adoc - include::{snippets}/search-controller-test/get-private-mini-profile/http-response.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/search-controller-test/get-private-mini-profile/response-fields.adoc[]

    +
    +
    +
    GET /search/private/profile HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +
    +
    + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ParameterDescription

    teamBuildingFieldName

    희망 팀빌딩 분야 필터

    jobRoleName

    직무/역할 필터

    skillName

    보유 역량 필터

    cityName

    지역 (시/도) 필터

    divisionName

    지역 (시/군/구) 필터

    +
    +

    응답

    +
    +
    +
    HTTP/1.1 200 OK
    +Vary: Origin
    +Vary: Access-Control-Request-Method
    +Vary: Access-Control-Request-Headers
    +Content-Type: application/json;charset=UTF-8
    +Content-Length: 691
    +
    +{
    +  "content" : [ {
    +    "id" : 1,
    +    "profileTitle" : "시니어 소프트웨어 개발자",
    +    "miniProfileImg" : "https://image.linkit.im/images/linkit_logo.png",
    +    "isActivate" : true,
    +    "myKeywordNames" : [ "2024 레드닷 수상", "스타트업 경력", "서울대 디자인", "대기업 경력 3년" ],
    +    "memberName" : "권동민",
    +    "jobRoleNames" : [ "개발·데이터" ],
    +    "isPrivateSaved" : false
    +  } ],
    +  "pageable" : "INSTANCE",
    +  "last" : true,
    +  "totalPages" : 1,
    +  "totalElements" : 1,
    +  "first" : true,
    +  "size" : 1,
    +  "number" : 0,
    +  "sort" : {
    +    "empty" : true,
    +    "unsorted" : true,
    +    "sorted" : false
    +  },
    +  "numberOfElements" : 1,
    +  "empty" : false
    +}
    +
    +
    + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PathTypeDescription

    content[].id

    Number

    개인 미니 프로필 ID

    content[].profileTitle

    String

    프로필 제목

    content[].miniProfileImg

    String

    프로필 이미지 URL

    content[].isActivate

    Boolean

    프로필 활성화 여부

    content[].myKeywordNames

    Array

    키워드 목록

    content[].memberName

    String

    회원 이름

    content[].jobRoleNames

    Array

    직무 및 역할 이름 배열

    content[].isPrivateSaved

    Boolean

    찜하기 여부

    pageable

    String

    페이징 처리 객체

    sort.empty

    Boolean

    정렬 규칙이 비어 있는지 여부

    sort.unsorted

    Boolean

    정렬이 적용되지 않았는지 여부

    sort.sorted

    Boolean

    정렬이 적용되었는지 여부

    last

    Boolean

    마지막 페이지 여부

    totalPages

    Number

    전체 페이지 수

    totalElements

    Number

    전체 요소 수

    first

    Boolean

    첫 페이지 여부

    size

    Number

    페이지당 요소 수

    number

    Number

    페이지 번호

    numberOfElements

    Number

    현재 페이지의 요소 수

    empty

    Boolean

    페이지가 비어 있는지 여부

    6.2. 로그인 이후 팀원 찾기 페이지

    요청

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/search-controller-test/get-browse-private-mini-profile/http-request.adoc[] -==== 요청 헤더 -include::{snippets}/search-controller-test/get-browse-private-mini-profile/request-headers.adoc -==== 요청 쿠키 -Unresolved directive in docs.adoc - include::{snippets}/search-controller-test/get-browse-private-mini-profile/request-cookies.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/search-controller-test/get-browse-private-mini-profile/query-parameters.adoc[]

    +
    +
    +
    GET /search/private/profile/login HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    -

    응답

    +

    요청 헤더

    -

    Unresolved directive in docs.adoc - include::{snippets}/search-controller-test/get-browse-private-mini-profile/http-response.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/search-controller-test/get-browse-private-mini-profile/response-fields.adoc[]

    +

    include::/Users/gwondongmin/Desktop/Linkit_Dev/linkit/build/generated-snippets/search-controller-test/get-browse-private-mini-profile/request-headers.adoc +==== 요청 쿠키

    +
    + ++++ + + + + + + + + + + + + +
    NameDescription

    refresh-token

    갱신 토큰

    + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ParameterDescription

    teamBuildingFieldName

    희망 팀빌딩 분야 필터

    jobRoleName

    직무/역할 필터

    skillName

    보유 역량 필터

    cityName

    지역 (시/도) 필터

    divisionName

    지역 (시/군/구) 필터

    +
    +

    응답

    +
    +
    +
    HTTP/1.1 200 OK
    +Vary: Origin
    +Vary: Access-Control-Request-Method
    +Vary: Access-Control-Request-Headers
    +Content-Type: application/json;charset=UTF-8
    +Content-Length: 690
    +
    +{
    +  "content" : [ {
    +    "id" : 1,
    +    "profileTitle" : "시니어 소프트웨어 개발자",
    +    "miniProfileImg" : "https://image.linkit.im/images/linkit_logo.png",
    +    "isActivate" : true,
    +    "myKeywordNames" : [ "2024 레드닷 수상", "스타트업 경력", "서울대 디자인", "대기업 경력 3년" ],
    +    "memberName" : "권동민",
    +    "jobRoleNames" : [ "개발·데이터" ],
    +    "isPrivateSaved" : true
    +  } ],
    +  "pageable" : "INSTANCE",
    +  "last" : true,
    +  "totalPages" : 1,
    +  "totalElements" : 1,
    +  "first" : true,
    +  "size" : 1,
    +  "number" : 0,
    +  "sort" : {
    +    "empty" : true,
    +    "unsorted" : true,
    +    "sorted" : false
    +  },
    +  "numberOfElements" : 1,
    +  "empty" : false
    +}
    +
    +
    + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PathTypeDescription

    content[].id

    Number

    개인 미니 프로필 ID

    content[].profileTitle

    String

    프로필 제목

    content[].miniProfileImg

    String

    프로필 이미지 URL

    content[].isActivate

    Boolean

    프로필 활성화 여부

    content[].myKeywordNames

    Array

    키워드 목록

    content[].memberName

    String

    회원 이름

    content[].jobRoleNames

    Array

    직무 및 역할 이름 배열

    content[].isPrivateSaved

    Boolean

    로그인 사용자가 해당 프로필 찜한 여부

    pageable

    String

    페이징 처리 객체

    sort.empty

    Boolean

    정렬 규칙이 비어 있는지 여부

    sort.unsorted

    Boolean

    정렬이 적용되지 않았는지 여부

    sort.sorted

    Boolean

    정렬이 적용되었는지 여부

    last

    Boolean

    마지막 페이지 여부

    totalPages

    Number

    전체 페이지 수

    totalElements

    Number

    전체 요소 수

    first

    Boolean

    첫 페이지 여부

    size

    Number

    페이지당 요소 수

    number

    Number

    페이지 번호

    numberOfElements

    Number

    현재 페이지의 요소 수

    empty

    Boolean

    페이지가 비어 있는지 여부

    @@ -1249,37 +4930,485 @@

    7. 팀 찾기7.1. 팀 찾기 페이지

    요청

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/search-controller-test/get-team-announcement-and-team-mini-profile/http-request.adoc[] -==== 요청 헤더 -Unresolved directive in docs.adoc - include::{snippets}/search-controller-test/get-team-announcement-and-team-mini-profile-after-login/request-headers.adoc[] -==== 요청 쿠키 -Unresolved directive in docs.adoc - include::{snippets}/search-controller-test/get-team-announcement-and-team-mini-profile-after-login/request-cookies.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/search-controller-test/get-team-announcement-and-team-mini-profile/query-parameters.adoc[]

    +
    +
    +
    GET /search/team/profile HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +
    -

    응답

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/search-controller-test/get-team-announcement-and-team-mini-profile-after-login/http-response.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/search-controller-test/get-team-announcement-and-team-mini-profile-after-login/response-fields.adoc[]

    +

    요청 헤더

    + +++++ + + + + + + + + + + + + + + +
    NameDescriptionConstraint

    Authorization

    access token

    문자열(jwt)

    +
    +

    요청 쿠키

    + ++++ + + + + + + + + + + + + +
    NameDescription

    refresh-token

    갱신 토큰

    + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ParameterDescription

    teamBuildingFieldName

    희망 팀빌딩 분야 필터

    jobRoleName

    직무/역할 필터

    skillName

    보유 역량 필터

    cityName

    지역 (시/도) 필터

    divisionName

    지역 (시/군/구) 필터

    activityTagName

    활동 방식 필터

    +
    +
    +

    응답

    +
    +
    +
    HTTP/1.1 200 OK
    +Vary: Origin
    +Vary: Access-Control-Request-Method
    +Vary: Access-Control-Request-Headers
    +Content-Type: application/json;charset=UTF-8
    +Content-Length: 1095
    +
    +{
    +  "content" : [ {
    +    "teamMiniProfileResponse" : {
    +      "id" : 1,
    +      "sectorName" : "SaaS",
    +      "sizeType" : "1-5인",
    +      "teamName" : "리에종",
    +      "teamProfileTitle" : "팀 소개서 제목입니다.",
    +      "isTeamActivate" : true,
    +      "teamLogoImageUrl" : "https://image.linkit.im/images/linkit_logo.png",
    +      "teamKeywordNames" : [ "재택 가능", "Pre-A", "사수 있음", "스톡 제공" ]
    +    },
    +    "teamMemberAnnouncementResponse" : {
    +      "id" : 1,
    +      "teamLogoImageUrl" : "https://image.linkit.im/images/linkit_logo.png",
    +      "teamName" : "리에종",
    +      "jobRoleName" : "개발·데이터",
    +      "mainBusiness" : "주요 업무입니다.",
    +      "skillNames" : [ "서버 개발", "DevOps" ],
    +      "applicationProcess" : "지원 절차입니다.",
    +      "isTeamSaved" : true
    +    }
    +  } ],
    +  "pageable" : "INSTANCE",
    +  "last" : true,
    +  "totalPages" : 1,
    +  "totalElements" : 1,
    +  "first" : true,
    +  "size" : 1,
    +  "number" : 0,
    +  "sort" : {
    +    "empty" : true,
    +    "unsorted" : true,
    +    "sorted" : false
    +  },
    +  "numberOfElements" : 1,
    +  "empty" : false
    +}
    +
    +
    + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PathTypeDescription

    content[].teamMiniProfileResponse.id

    Number

    팀 미니 프로필 ID

    content[].teamMiniProfileResponse.sectorName

    String

    부문 이름

    content[].teamMiniProfileResponse.sizeType

    String

    팀 크기 유형

    content[].teamMiniProfileResponse.teamName

    String

    팀 이름

    content[].teamMiniProfileResponse.teamProfileTitle

    String

    팀 소개서 제목

    content[].teamMiniProfileResponse.isTeamActivate

    Boolean

    팀 소개서 활성화 여부

    content[].teamMiniProfileResponse.teamLogoImageUrl

    String

    팀 로고 이미지 URL

    content[].teamMiniProfileResponse.teamKeywordNames

    Array

    팀 키워드

    content[].teamMemberAnnouncementResponse.id

    Number

    팀원 공고 ID

    content[].teamMemberAnnouncementResponse.teamLogoImageUrl

    String

    팀 로고 이미지 경로

    content[].teamMemberAnnouncementResponse.teamName

    String

    팀 이름

    content[].teamMemberAnnouncementResponse.jobRoleName

    String

    팀원 공고 직무 이름

    content[].teamMemberAnnouncementResponse.mainBusiness

    String

    주요 업무

    content[].teamMemberAnnouncementResponse.skillNames

    Array

    요구되는 기술 목록

    content[].teamMemberAnnouncementResponse.applicationProcess

    String

    지원 절차

    content[].teamMemberAnnouncementResponse.isTeamSaved

    Boolean

    로그인 사용자가 해당 팀원 공고 찜한 여부

    last

    Boolean

    마지막 페이지 여부

    totalPages

    Number

    전체 페이지 수

    totalElements

    Number

    전체 요소 수

    first

    Boolean

    첫 페이지 여부

    size

    Number

    페이지당 요소 수

    number

    Number

    페이지 번호

    numberOfElements

    Number

    현재 페이지의 요소 수

    empty

    Boolean

    페이지가 비어 있는지 여부

    7.2. 로그인 이후 팀 찾기 페이지

    요청

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/search-controller-test/get-team-announcement-and-team-mini-profile-after-login/http-request.adoc[]

    +
    +
    +
    GET /search/team/profile/login HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    -
    -

    응답

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/search-controller-test/get-team-announcement-and-team-mini-profile-after-login/http-response.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/search-controller-test/get-team-announcement-and-team-mini-profile-after-login/response-fields.adoc[]

    +
    +

    응답

    +
    +
    +
    HTTP/1.1 200 OK
    +Vary: Origin
    +Vary: Access-Control-Request-Method
    +Vary: Access-Control-Request-Headers
    +Content-Type: application/json;charset=UTF-8
    +Content-Length: 1095
    +
    +{
    +  "content" : [ {
    +    "teamMiniProfileResponse" : {
    +      "id" : 1,
    +      "sectorName" : "SaaS",
    +      "sizeType" : "1-5인",
    +      "teamName" : "리에종",
    +      "teamProfileTitle" : "팀 소개서 제목입니다.",
    +      "isTeamActivate" : true,
    +      "teamLogoImageUrl" : "https://image.linkit.im/images/linkit_logo.png",
    +      "teamKeywordNames" : [ "재택 가능", "Pre-A", "사수 있음", "스톡 제공" ]
    +    },
    +    "teamMemberAnnouncementResponse" : {
    +      "id" : 1,
    +      "teamLogoImageUrl" : "https://image.linkit.im/images/linkit_logo.png",
    +      "teamName" : "리에종",
    +      "jobRoleName" : "개발·데이터",
    +      "mainBusiness" : "주요 업무입니다.",
    +      "skillNames" : [ "서버 개발", "DevOps" ],
    +      "applicationProcess" : "지원 절차입니다.",
    +      "isTeamSaved" : true
    +    }
    +  } ],
    +  "pageable" : "INSTANCE",
    +  "last" : true,
    +  "totalPages" : 1,
    +  "totalElements" : 1,
    +  "first" : true,
    +  "size" : 1,
    +  "number" : 0,
    +  "sort" : {
    +    "empty" : true,
    +    "unsorted" : true,
    +    "sorted" : false
    +  },
    +  "numberOfElements" : 1,
    +  "empty" : false
    +}
    +
    +
    + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PathTypeDescription

    content[].teamMiniProfileResponse.id

    Number

    팀 미니 프로필 ID

    content[].teamMiniProfileResponse.sectorName

    String

    부문 이름

    content[].teamMiniProfileResponse.sizeType

    String

    팀 크기 유형

    content[].teamMiniProfileResponse.teamName

    String

    팀 이름

    content[].teamMiniProfileResponse.teamProfileTitle

    String

    팀 소개서 제목

    content[].teamMiniProfileResponse.isTeamActivate

    Boolean

    팀 소개서 활성화 여부

    content[].teamMiniProfileResponse.teamLogoImageUrl

    String

    팀 로고 이미지 URL

    content[].teamMiniProfileResponse.teamKeywordNames

    Array

    팀 키워드

    content[].teamMemberAnnouncementResponse.id

    Number

    팀원 공고 ID

    content[].teamMemberAnnouncementResponse.teamLogoImageUrl

    String

    팀 로고 이미지 경로

    content[].teamMemberAnnouncementResponse.teamName

    String

    팀 이름

    content[].teamMemberAnnouncementResponse.jobRoleName

    String

    팀원 공고 직무 이름

    content[].teamMemberAnnouncementResponse.mainBusiness

    String

    주요 업무

    content[].teamMemberAnnouncementResponse.skillNames

    Array

    요구되는 기술 목록

    content[].teamMemberAnnouncementResponse.applicationProcess

    String

    지원 절차

    content[].teamMemberAnnouncementResponse.isTeamSaved

    Boolean

    로그인 사용자가 해당 팀원 공고 찜한 여부

    last

    Boolean

    마지막 페이지 여부

    totalPages

    Number

    전체 페이지 수

    totalElements

    Number

    전체 요소 수

    first

    Boolean

    첫 페이지 여부

    size

    Number

    페이지당 요소 수

    number

    Number

    페이지 번호

    numberOfElements

    Number

    현재 페이지의 요소 수

    empty

    Boolean

    페이지가 비어 있는지 여부

    @@ -1291,17 +5420,430 @@

    8. 이

    8.1. 내 이력서 열람

    요청

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/browse-private-profile-controller-test/get-browse-private-profile/http-request.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/browse-private-profile-controller-test/get-browse-private-profile/path-parameters.adoc[]

    -
    +
    +
    +
    GET /browse/private/profile/1 HTTP/1.1
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    +
    + + ++++ + + + + + + + + + + + + +
    Table 16. /browse/private/profile/{miniProfileId}
    ParameterDescription

    miniProfileId

    미니 프로필 ID

    -

    응답

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/browse-private-profile-controller-test/get-browse-private-profile/http-response.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/browse-private-profile-controller-test/get-browse-private-profile/response-fields.adoc[]

    -
    +

    응답

    +
    +
    +
    HTTP/1.1 200 OK
    +Vary: Origin
    +Vary: Access-Control-Request-Method
    +Vary: Access-Control-Request-Headers
    +Content-Type: application/json;charset=UTF-8
    +Content-Length: 3275
    +
    +{
    +  "profileId" : 1,
    +  "miniProfileResponse" : {
    +    "id" : 1,
    +    "profileTitle" : "시니어 소프트웨어 개발자",
    +    "miniProfileImg" : "https://image.linkit.im/images/linkit_logo.png",
    +    "isActivate" : true,
    +    "myKeywordNames" : [ "2024 레드닷 수상", "스타트업 경력", "서울대 디자인", "대기업 경력 3년" ],
    +    "memberName" : "권동민",
    +    "jobRoleNames" : [ "개발·데이터" ],
    +    "isPrivateSaved" : true
    +  },
    +  "completionResponse" : {
    +    "completion" : "100.0",
    +    "awards" : true,
    +    "profileSkill" : true,
    +    "profileTeamBuildingField" : true,
    +    "profileRegion" : true,
    +    "introduction" : true,
    +    "antecedents" : true,
    +    "education" : true,
    +    "attach" : true
    +  },
    +  "profileIntroductionResponse" : {
    +    "introduction" : "안녕하세요, 저는 다양한 프로젝트와 혁신적인 아이디어를 구현하는 데 열정을 가진 기획자입니다. 대학에서 경영학을 전공하고, 여러 기업에서 프로젝트 매니저와 기획자로서의 경험을 쌓아왔습니다."
    +  },
    +  "jobAndSkillResponse" : {
    +    "jobRoleNames" : [ "공모전, 대회, 창업" ],
    +    "skillNames" : [ "Notion, Figma" ]
    +  },
    +  "profileTeamBuildingFieldResponse" : {
    +    "teamBuildingFieldNames" : [ "공모전", "대회", "창업" ]
    +  },
    +  "profileRegionResponse" : {
    +    "cityName" : "서울특별시",
    +    "divisionName" : "강남구"
    +  },
    +  "antecedentsResponse" : [ {
    +    "id" : 2,
    +    "projectName" : "linkit",
    +    "projectRole" : "프로젝트 매니저",
    +    "startDate" : "2023.03",
    +    "endDate" : "2024.10",
    +    "retirement" : false,
    +    "antecedentsDescription" : "경력 설명입니다."
    +  }, {
    +    "id" : 3,
    +    "projectName" : "오더이즈",
    +    "projectRole" : "프로젝트 매니저",
    +    "startDate" : "2023.03",
    +    "endDate" : "2023.06",
    +    "retirement" : false,
    +    "antecedentsDescription" : "경력 설명입니다."
    +  } ],
    +  "educationResponse" : [ {
    +    "id" : 2,
    +    "admissionYear" : 2022,
    +    "graduationYear" : 2024,
    +    "universityName" : "홍익대학교",
    +    "majorName" : "컴퓨터공학과",
    +    "degreeName" : "재학 중"
    +  }, {
    +    "id" : 3,
    +    "admissionYear" : 2021,
    +    "graduationYear" : 2025,
    +    "universityName" : "홍익대학교",
    +    "majorName" : "예술학과",
    +    "degreeName" : "졸업"
    +  } ],
    +  "awardsResponse" : [ {
    +    "id" : 2,
    +    "awardsName" : "홍익대학교 창업경진대회",
    +    "ranking" : "대상",
    +    "organizer" : "홍익대학교 창업교육센터",
    +    "awardsYear" : 2024,
    +    "awardsMonth" : 5,
    +    "awardsDescription" : "홍익대학교 창업경진대회에서 1등이라는 성과를 이뤄냈습니다."
    +  }, {
    +    "id" : 3,
    +    "awardsName" : "성균관대학교 캠퍼스타운 입주경진대회",
    +    "ranking" : "선정",
    +    "organizer" : "성균관대학교 캠퍼스타운",
    +    "awardsYear" : 2024,
    +    "awardsMonth" : 3,
    +    "awardsDescription" : "성균관대학교 캠퍼스타운에 최종 선정되었습니다."
    +  } ],
    +  "attachResponse" : {
    +    "attachUrlResponseList" : [ {
    +      "id" : 2,
    +      "attachUrlName" : "깃허브",
    +      "attachUrlPath" : "https://github.com/TEAM-LIAISON"
    +    }, {
    +      "id" : 3,
    +      "attachUrlName" : "노션",
    +      "attachUrlPath" : "https://www.notion.so/ko-kr"
    +    } ]
    +  }
    +}
    +
    +
    + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PathTypeDescription

    profileId

    Number

    타깃 열람 프로필 ID

    miniProfileResponse

    Object

    사용자의 미니 프로필 정보

    miniProfileResponse.profileTitle

    String

    프로필의 제목

    miniProfileResponse.miniProfileImg

    String

    미니 프로필 이미지 URL

    miniProfileResponse.myKeywordNames

    Array

    나를 소개하는 키워드 목록

    miniProfileResponse.isActivate

    Boolean

    미니 프로필 활성화 여부

    miniProfileResponse.memberName

    String

    회원 이름

    miniProfileResponse.jobRoleNames

    Array

    직무 및 역할

    completionResponse

    Object

    프로필의 완성도 정보

    completionResponse.completion

    String

    프로필 완성도 (백분율)

    completionResponse.introduction

    Boolean

    소개의 완성 여부

    completionResponse.profileSkill

    Boolean

    스킬 섹션의 완성 여부

    completionResponse.profileTeamBuildingField

    Boolean

    팀 빌딩 필드의 완성 여부

    completionResponse.profileRegion

    Boolean

    지역 정보의 완성 여부

    completionResponse.antecedents

    Boolean

    이력 사항의 완성 여부

    completionResponse.education

    Boolean

    교육 이력의 완성 여부

    completionResponse.awards

    Boolean

    수상 이력의 완성 여부

    completionResponse.attach

    Boolean

    첨부 파일의 유무

    profileIntroductionResponse

    Object

    프로필 소개

    profileIntroductionResponse.introduction

    String

    소개 내용

    jobAndSkillResponse

    Object

    나의 직무/역할 및 보유 기술 정보

    jobAndSkillResponse.jobRoleNames

    Array

    직무/역할 명칭

    jobAndSkillResponse.skillNames

    Array

    보유 기술 명칭

    profileTeamBuildingFieldResponse

    Object

    팀 빌딩 필드 응답

    profileTeamBuildingFieldResponse.teamBuildingFieldNames

    Array

    팀 빌딩 필드 이름

    profileRegionResponse

    Object

    활동 지역 및 위치 응답

    profileRegionResponse.cityName

    String

    시/도 이름

    profileRegionResponse.divisionName

    String

    시/군/구 이름

    antecedentsResponse

    Array

    과거 경력 정보

    antecedentsResponse[].id

    Number

    경력 ID

    antecedentsResponse[].projectName

    String

    프로젝트 이름

    antecedentsResponse[].projectRole

    String

    프로젝트 역할

    antecedentsResponse[].startDate

    String

    시작 연도/월

    antecedentsResponse[].endDate

    String

    종료 연도/월

    antecedentsResponse[].retirement

    Boolean

    퇴직 여부

    educationResponse

    Array

    교육 이력 정보

    educationResponse[].id

    Number

    교육 이력 ID

    educationResponse[].admissionYear

    Number

    입학 연도

    educationResponse[].graduationYear

    Number

    졸업 연도

    educationResponse[].universityName

    String

    대학교 이름

    educationResponse[].majorName

    String

    전공 이름

    educationResponse[].degreeName

    String

    학위명

    awardsResponse

    Array

    수상 이력 정보

    awardsResponse[].id

    Number

    수상 ID

    awardsResponse[].awardsName

    String

    수상 이름

    awardsResponse[].ranking

    String

    수상 순위

    awardsResponse[].organizer

    String

    주최자

    awardsResponse[].awardsYear

    Number

    수상 연도

    awardsResponse[].awardsMonth

    Number

    수상 월

    awardsResponse[].awardsDescription

    String

    수상 내용

    attachResponse

    Object

    첨부 파일 정보

    attachResponse.attachUrlResponseList[].id

    Number

    첨부 URL ID

    attachResponse.attachUrlResponseList[].attachUrlName

    String

    첨부된 URL 이름

    attachResponse.attachUrlResponseList[].attachUrlPath

    String

    첨부된 URL

    @@ -1313,17 +5855,397 @@

    9. 소

    9.1. 팀 소개서 열람

    요청

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/browse-team-profile-controller-test/get-browse-team-profile/http-request.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/browse-team-profile-controller-test/get-browse-team-profile/path-parameters.adoc[]

    -
    +
    +
    +
    GET /browse/team/profile/1 HTTP/1.1
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    +
    + + ++++ + + + + + + + + + + + + +
    Table 17. /browse/team/profile/{teamMiniProfileId}
    ParameterDescription

    teamMiniProfileId

    팀 미니 프로필 ID

    -

    응답

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/browse-team-profile-controller-test/get-browse-team-profile/http-response.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/browse-team-profile-controller-test/get-browse-team-profile/response-fields.adoc[]

    -
    +

    응답

    +
    +
    +
    HTTP/1.1 200 OK
    +Vary: Origin
    +Vary: Access-Control-Request-Method
    +Vary: Access-Control-Request-Headers
    +Content-Type: application/json;charset=UTF-8
    +Content-Length: 3112
    +
    +{
    +  "teamProfileId" : 1,
    +  "teamMiniProfileResponse" : {
    +    "id" : 1,
    +    "sectorName" : "SaaS",
    +    "sizeType" : "1-5인",
    +    "teamName" : "리에종",
    +    "teamProfileTitle" : "팀 소개서 제목입니다.",
    +    "isTeamActivate" : false,
    +    "teamLogoImageUrl" : "https://image.linkit.im/images/linkit_logo.png",
    +    "teamKeywordNames" : [ "재택 가능", "Pre-A", "사수 있음", "스톡 제공" ]
    +  },
    +  "teamCompletionResponse" : {
    +    "teamCompletion" : "100.0",
    +    "teamProfileTeamBuildingField" : true,
    +    "activity" : true,
    +    "history" : true,
    +    "teamMemberAnnouncement" : true,
    +    "teamIntroduction" : true,
    +    "teamMemberIntroduction" : true,
    +    "teamAttach" : true
    +  },
    +  "teamProfileTeamBuildingFieldResponse" : {
    +    "teamProfileTeamBuildingFieldNames" : [ "공모전", "대회", "창업" ]
    +  },
    +  "teamMemberAnnouncementResponses" : [ {
    +    "id" : 1,
    +    "teamLogoImageUrl" : "https://image.linkit.im/images/linkit_logo.png",
    +    "teamName" : "리에종",
    +    "jobRoleName" : "기획·경영",
    +    "mainBusiness" : "주요 업무입니다. (첫번째 팀원 공고)",
    +    "skillNames" : [ "서비스 기획", "데이터 엔지니어" ],
    +    "applicationProcess" : "지원 절차입니다. (첫번째 팀원 공고)",
    +    "isTeamSaved" : false
    +  }, {
    +    "id" : 2,
    +    "teamLogoImageUrl" : "https://image.linkit.im/images/linkit_logo.png",
    +    "teamName" : "리에종",
    +    "jobRoleName" : "디자인",
    +    "mainBusiness" : "주요 업무입니다. (두번째 팀원 공고)",
    +    "skillNames" : [ "웹 디자인", "앱 디자인" ],
    +    "applicationProcess" : "지원 절차입니다. (두번째 팀원 공고)",
    +    "isTeamSaved" : false
    +  } ],
    +  "activityResponse" : {
    +    "activityTagName" : [ "사무실 있음", "비대면 활동" ],
    +    "cityName" : "서울특별시",
    +    "divisionName" : "강남구"
    +  },
    +  "teamProfileIntroductionResponse" : {
    +    "teamIntroduction" : "팀 소개입니다."
    +  },
    +  "teamMemberIntroductionResponses" : [ {
    +    "id" : 1,
    +    "teamMemberName" : "김동혁",
    +    "teamMemberRole" : "프론트엔드 개발자",
    +    "teamMemberIntroductionText" : "프론트엔드 개발자입니다."
    +  }, {
    +    "id" : 2,
    +    "teamMemberName" : "권동민",
    +    "teamMemberRole" : "백엔드 개발자",
    +    "teamMemberIntroductionText" : "백엔드 개발자입니다."
    +  } ],
    +  "historyResponses" : [ {
    +    "id" : 1,
    +    "historyOneLineIntroduction" : "연혁 한 줄 소개입니다.",
    +    "startYear" : 2024,
    +    "endYear" : 2025,
    +    "historyIntroduction" : "연혁 설명입니다.",
    +    "inProgress" : false
    +  }, {
    +    "id" : 2,
    +    "historyOneLineIntroduction" : "연혁 한 줄 소개입니다. 2",
    +    "startYear" : 2023,
    +    "endYear" : 2024,
    +    "historyIntroduction" : "연혁 설명입니다. 2",
    +    "inProgress" : true
    +  } ],
    +  "teamAttachResponse" : {
    +    "teamAttachUrlResponseList" : [ {
    +      "id" : 1,
    +      "teamAttachUrlName" : "깃허브",
    +      "teamAttachUrlPath" : "https://github.com/TEAM-LIAISON"
    +    }, {
    +      "id" : 2,
    +      "teamAttachUrlName" : "노션",
    +      "teamAttachUrlPath" : "https://www.notion.so/ko-kr"
    +    } ]
    +  }
    +}
    +
    +
    + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PathTypeDescription

    teamProfileId

    Number

    타깃 열람 팀 소개서 PK ID

    teamMiniProfileResponse

    Object

    팀 미니 프로필 응답 객체

    teamMiniProfileResponse.sectorName

    String

    팀 미니 프로필 분야

    teamMiniProfileResponse.sizeType

    String

    팀 미니 프로필 규모

    teamMiniProfileResponse.teamName

    String

    팀 이름

    teamMiniProfileResponse.teamProfileTitle

    String

    팀 미니 프로필 제목

    teamMiniProfileResponse.isTeamActivate

    Boolean

    팀 소개서 활성화 여부

    teamMiniProfileResponse.teamLogoImageUrl

    String

    이미지 파일 소스 경로

    teamMiniProfileResponse.teamKeywordNames

    Array

    팀 소개 항목

    teamCompletionResponse

    Object

    팀 소개서 완성도 응답 객체

    teamCompletionResponse.teamCompletion

    String

    팀 소개서 완성도 % 값

    teamCompletionResponse.teamProfileTeamBuildingField

    Boolean

    희망 팀빌딩 분야 기입 여부

    teamCompletionResponse.teamMemberAnnouncement

    Boolean

    팀원 공고

    teamCompletionResponse.activity

    Boolean

    활동 방식 및 활동 지역 및 위치

    teamCompletionResponse.teamIntroduction

    Boolean

    팀 소개

    teamCompletionResponse.teamMemberIntroduction

    Boolean

    팀원 소개

    teamCompletionResponse.history

    Boolean

    연혁

    teamCompletionResponse.teamAttach

    Boolean

    첨부

    teamProfileTeamBuildingFieldResponse

    Object

    희망 팀빌딩 분야 응답 객체

    teamProfileTeamBuildingFieldResponse.teamProfileTeamBuildingFieldNames

    Array

    희망 팀빌딩 분야 이름

    teamMemberAnnouncementResponses

    Array

    팀원 공고 응답 객체

    teamMemberAnnouncementResponses[].id

    Number

    팀원 공고 응답 객체 ID

    teamMemberAnnouncementResponses[].teamName

    String

    팀 이름

    teamMemberAnnouncementResponses[].jobRoleName

    String

    직무, 역할 이름

    teamMemberAnnouncementResponses[].mainBusiness

    String

    팀원 공고 주요 업무

    teamMemberAnnouncementResponses[].skillNames

    Array

    보유 역량 이름 배열

    teamMemberAnnouncementResponses[].applicationProcess

    String

    지원 절차

    activityResponse

    Object

    활동 방식 및 활동 지역 및 위치 응답 객체

    activityResponse.activityTagName

    Array

    활동 방식

    activityResponse.cityName

    String

    시/도 이름

    activityResponse.divisionName

    String

    시/군/구 이름

    teamProfileIntroductionResponse

    Object

    팀 소개 응답 객체

    teamProfileIntroductionResponse.teamIntroduction

    String

    팀 소개 텍스트

    teamMemberIntroductionResponses

    Array

    팀원 소개 응답 객체

    teamMemberIntroductionResponses[].id

    Number

    팀원 소개 응답 객체 ID

    teamMemberIntroductionResponses[].teamMemberName

    String

    팀원 이름

    teamMemberIntroductionResponses[].teamMemberRole

    String

    팀원 직무/역할

    teamMemberIntroductionResponses[].teamMemberIntroductionText

    String

    팀원 소개 텍스트

    historyResponses

    Array

    연혁 응답 객체

    historyResponses[].id

    Number

    연혁 응답 객체 ID

    historyResponses[].historyOneLineIntroduction

    String

    연혁 한 줄 소개

    historyResponses[].startYear

    Number

    시작 연도

    historyResponses[].endYear

    Number

    종료 연도

    historyResponses[].historyIntroduction

    String

    연혁 소개

    historyResponses[].inProgress

    Boolean

    진행 여부

    teamAttachResponse

    Object

    팀 첨부 응답 객체

    teamAttachResponse.teamAttachUrlResponseList[].id

    Number

    첨부 URL 객체 ID

    teamAttachResponse.teamAttachUrlResponseList[].teamAttachUrlName

    String

    팀 첨부 URL 이름

    teamAttachResponse.teamAttachUrlResponseList[].teamAttachUrlPath

    String

    팀 첨부 URL 경로

    @@ -1333,254 +6255,1625 @@

    10. 매칭

    10.1. 내 이력서로 내 이력서에 매칭 요청

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/matching-controller-test/create-private-profile-matching-to-private/http-request.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/matching-controller-test/create-private-profile-matching-to-private/path-parameters.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/matching-controller-test/create-private-profile-matching-to-private/request-fields.adoc[]

    -
    +
    +
    +
    POST /private/profile/matching/private/1 HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    +{
    +  "requestMessage" : "매칭 요청 메시지입니다."
    +}
    +
    +
    + + ++++ + + + + + + + + + + + + +
    Table 18. /private/profile/matching/private/{profileId}
    ParameterDescription

    profileId

    내 이력서 ID

    + ++++++ + + + + + + + + + + + + + + + + +
    PathTypeDescriptionConstraint

    requestMessage

    String

    요청 메시지입니다.

    문자열

    10.2. 팀 소개서로 내 이력서에 매칭 요청

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/matching-controller-test/create-team-profile-matching-to-private/http-request.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/matching-controller-test/create-team-profile-matching-to-private/path-parameters.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/matching-controller-test/create-team-profile-matching-to-private/request-fields.adoc[]

    -
    +
    +
    +
    POST /team/profile/matching/private/1 HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    +{
    +  "requestMessage" : "매칭 요청 메시지입니다."
    +}
    +
    +
    + + ++++ + + + + + + + + + + + + +
    Table 19. /team/profile/matching/private/{profileId}
    ParameterDescription

    profileId

    내 이력서 ID

    + ++++++ + + + + + + + + + + + + + + + + +
    PathTypeDescriptionConstraint

    requestMessage

    String

    요청 메시지입니다.

    문자열

    10.3. 팀 소개서로 팀 소개서에 매칭 요청

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/matching-controller-test/create-team-profile-matching-to-team/http-request.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/matching-controller-test/create-team-profile-matching-to-team/path-parameters.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/matching-controller-test/create-team-profile-matching-to-team/request-fields.adoc[]

    -
    +
    +
    +
    POST /team/profile/matching/team/1 HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    +{
    +  "requestMessage" : "매칭 요청 메시지입니다."
    +}
    +
    +
    + + ++++ + + + + + + + + + + + + +
    Table 20. /team/profile/matching/team/{teamMemberAnnouncementId}
    ParameterDescription

    teamMemberAnnouncementId

    팀원 공고 ID

    + ++++++ + + + + + + + + + + + + + + + + +
    PathTypeDescriptionConstraint

    requestMessage

    String

    요청 메시지입니다.

    문자열

    10.4. 내 이력서로 팀 소개서에 매칭 요청

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/matching-controller-test/create-private-profile-matching-to-team/http-request.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/matching-controller-test/create-private-profile-matching-to-team/path-parameters.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/matching-controller-test/create-private-profile-matching-to-team/request-fields.adoc[]

    -
    +
    +
    +
    POST /private/profile/matching/team/1 HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    +{
    +  "requestMessage" : "매칭 요청 메시지입니다."
    +}
    +
    +
    + + ++++ + + + + + + + + + + + + +
    Table 21. /private/profile/matching/team/{teamMemberAnnouncementId}
    ParameterDescription

    teamMemberAnnouncementId

    팀원 공고 ID

    + ++++++ + + + + + + + + + + + + + + + + +
    PathTypeDescriptionConstraint

    requestMessage

    String

    요청 메시지입니다.

    문자열

    10.5. 내가 받은 매칭 조회

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/matching-controller-test/get-received-matching/http-request.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/matching-controller-test/get-received-matching/http-response.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/matching-controller-test/get-received-matching/response-fields.adoc[]

    -
    +
    +
    +
    GET /matching/received HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    +
    +
    +
    +
    HTTP/1.1 200 OK
    +Vary: Origin
    +Vary: Access-Control-Request-Method
    +Vary: Access-Control-Request-Headers
    +Content-Type: application/json;charset=UTF-8
    +Content-Length: 1469
    +
    +[ {
    +  "profileId" : 1,
    +  "receivedMatchingId" : 1,
    +  "miniProfileImg" : "https://image.linkit.im/images/linkit_logo.png",
    +  "senderName" : "김동혁",
    +  "requestMessage" : "매칭 요청 메시지입니다.",
    +  "requestOccurTime" : "2024-07-10",
    +  "senderType" : "PRIVATE",
    +  "matchingType" : "PROFILE",
    +  "isReceiverCheck" : false,
    +  "receivedTeamProfile" : false
    +}, {
    +  "profileId" : 2,
    +  "receivedMatchingId" : 2,
    +  "miniProfileImg" : "https://image.linkit.im/images/linkit_logo.png",
    +  "senderName" : "권동민",
    +  "requestMessage" : "매칭 요청 메시지입니다.",
    +  "requestOccurTime" : "2024-07-10",
    +  "senderType" : "PRIVATE",
    +  "matchingType" : "PROFILE",
    +  "isReceiverCheck" : false,
    +  "receivedTeamProfile" : false
    +}, {
    +  "profileId" : 3,
    +  "receivedMatchingId" : 1,
    +  "miniProfileImg" : "https://image.linkit.im/images/linkit_logo.png",
    +  "senderName" : "링킷",
    +  "requestMessage" : "매칭 요청 메시지입니다.",
    +  "requestOccurTime" : "2023-12-10",
    +  "senderType" : "TEAM",
    +  "matchingType" : "TEAM_PROFILE",
    +  "isReceiverCheck" : false,
    +  "receivedTeamProfile" : true
    +}, {
    +  "profileId" : 4,
    +  "receivedMatchingId" : 2,
    +  "miniProfileImg" : "https://image.linkit.im/images/linkit_logo.png",
    +  "senderName" : "링컬쳐",
    +  "requestMessage" : "매칭 요청 메시지입니다.",
    +  "requestOccurTime" : "2022-10-10",
    +  "senderType" : "TEAM",
    +  "matchingType" : "TEAM_PROFILE",
    +  "isReceiverCheck" : false,
    +  "receivedTeamProfile" : true
    +} ]
    +
    +
    + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PathTypeDescription

    [].profileId

    Number

    miniProfileId / teamMiniProfileId → senderType에 따라 프론트에서 처리 바람 → senderType == team 이면 teamMiniProfileId로, Privated이면 miniProfile로

    [].receivedMatchingId

    Number

    내 이력서/팀 소개서에 매칭 PK ID

    [].miniProfileImg

    String

    발신자 프로필 이미지

    [].senderName

    String

    발신자 이름

    [].requestMessage

    String

    매칭 요청 메시지

    [].requestOccurTime

    String

    매칭 요청 발생 날짜

    [].senderType

    String

    발신자 이력/소개서 타입

    [].matchingType

    String

    매칭 요청 타입

    [].receivedTeamProfile

    Boolean

    이력/소개서 수신 여부

    [].isReceiverCheck

    Boolean

    수신자가 확인했는지 여부

    10.6. 내가 보낸 매칭

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/matching-controller-test/get-my-request-matching/http-request.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/matching-controller-test/get-my-request-matching/http-response.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/matching-controller-test/get-my-request-matching/response-fields.adoc[]

    -
    +
    +
    +
    GET /matching/request HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    +
    +
    +
    +
    HTTP/1.1 200 OK
    +Vary: Origin
    +Vary: Access-Control-Request-Method
    +Vary: Access-Control-Request-Headers
    +Content-Type: application/json;charset=UTF-8
    +Content-Length: 1446
    +
    +[ {
    +  "requestMatchingId" : 1,
    +  "miniProfileImg" : "https://image.linkit.im/images/linkit_logo.png",
    +  "receiverName" : "주서영",
    +  "requestMessage" : "주서영님의 내 이력서에 보낸 매칭 요청 메시지입니다.",
    +  "requestOccurTime" : "2024-07-10",
    +  "senderType" : "PRIVATE",
    +  "matchingType" : "PROFILE",
    +  "requestTeamProfile" : false
    +}, {
    +  "requestMatchingId" : 2,
    +  "miniProfileImg" : "https://image.linkit.im/images/linkit_logo.png",
    +  "receiverName" : "주은강",
    +  "requestMessage" : "주은강님의 내 이력서에 보낸 매칭 요청 메시지입니다.",
    +  "requestOccurTime" : "2024-08-10",
    +  "senderType" : "PRIVATE",
    +  "matchingType" : "PROFILE",
    +  "requestTeamProfile" : false
    +}, {
    +  "requestMatchingId" : 1,
    +  "miniProfileImg" : "https://image.linkit.im/images/linkit_logo.png",
    +  "receiverName" : "링컬쳐",
    +  "requestMessage" : "링컬쳐님의 팀 소개서에 보낸 매칭 요청 메시지입니다.",
    +  "requestOccurTime" : "2024-07-10",
    +  "senderType" : "PRIVATE",
    +  "matchingType" : "TEAM_PROFILE",
    +  "requestTeamProfile" : true
    +}, {
    +  "requestMatchingId" : 2,
    +  "miniProfileImg" : "https://image.linkit.im/images/linkit_logo.png",
    +  "receiverName" : "하이브",
    +  "requestMessage" : "하이브님의 팀 소개서에 보낸 매칭 요청 메시지입니다.",
    +  "requestOccurTime" : "2023-10-10",
    +  "senderType" : "PRIVATE",
    +  "matchingType" : "TEAM_PROFILE",
    +  "requestTeamProfile" : true
    +} ]
    +
    +
    + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PathTypeDescription

    [].requestMatchingId

    Number

    매칭 요청 보낸 항목 PK ID

    [].miniProfileImg

    String

    발신자 프로필 이미지

    [].receiverName

    String

    발신자 이름

    [].requestMessage

    String

    매칭 요청 메시지

    [].requestOccurTime

    String

    매칭 요청 발생 날짜

    [].senderType

    String

    발신자 요청 타입

    [].matchingType

    String

    매칭 요청 타입

    [].requestTeamProfile

    Boolean

    이력/소개서 발신 여부

    10.7. 성사된 매칭

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/matching-controller-test/get-my-success-matching/http-request.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/matching-controller-test/get-my-success-matching/http-response.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/matching-controller-test/get-my-success-matching/response-fields.adoc[]

    -
    +
    +
    +
    GET /matching/success HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    +
    +
    +
    +
    HTTP/1.1 200 OK
    +Vary: Origin
    +Vary: Access-Control-Request-Method
    +Vary: Access-Control-Request-Headers
    +Content-Type: application/json;charset=UTF-8
    +Content-Length: 1731
    +
    +[ {
    +  "matchingId" : 1,
    +  "successMatchingMemberName" : "김동혁",
    +  "requestMessage" : "매칭 요청 메시지입니다.",
    +  "requestOccurTime" : "2024-07-10",
    +  "matchingType" : "PROFILE"
    +}, {
    +  "matchingId" : 2,
    +  "successMatchingMemberName" : "권동민",
    +  "requestMessage" : "매칭 요청 메시지입니다.",
    +  "requestOccurTime" : "2024-07-10",
    +  "matchingType" : "PROFILE"
    +}, {
    +  "matchingId" : 1,
    +  "successMatchingMemberName" : "링킷",
    +  "requestMessage" : "매칭 요청 메시지입니다.",
    +  "requestOccurTime" : "2023-12-10",
    +  "matchingType" : "TEAM_PROFILE"
    +}, {
    +  "matchingId" : 2,
    +  "successMatchingMemberName" : "링컬쳐",
    +  "requestMessage" : "매칭 요청 메시지입니다.",
    +  "requestOccurTime" : "2022-10-10",
    +  "matchingType" : "TEAM_PROFILE"
    +}, {
    +  "matchingId" : 1,
    +  "successMatchingMemberName" : "주서영",
    +  "requestMessage" : "주서영님의 내 이력서에 보낸 매칭 요청 메시지입니다.",
    +  "requestOccurTime" : "2024-07-10",
    +  "matchingType" : "PROFILE"
    +}, {
    +  "matchingId" : 2,
    +  "successMatchingMemberName" : "주은강",
    +  "requestMessage" : "주은강님의 내 이력서에 보낸 매칭 요청 메시지입니다.",
    +  "requestOccurTime" : "2024-08-10",
    +  "matchingType" : "PROFILE"
    +}, {
    +  "matchingId" : 1,
    +  "successMatchingMemberName" : "링컬쳐",
    +  "requestMessage" : "링컬쳐님의 팀 소개서에 보낸 매칭 요청 메시지입니다.",
    +  "requestOccurTime" : "2024-07-10",
    +  "matchingType" : "TEAM_PROFILE"
    +}, {
    +  "matchingId" : 2,
    +  "successMatchingMemberName" : "하이브",
    +  "requestMessage" : "하이브님의 팀 소개서에 보낸 매칭 요청 메시지입니다.",
    +  "requestOccurTime" : "2023-10-10",
    +  "matchingType" : "TEAM_PROFILE"
    +} ]
    +
    +
    + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PathTypeDescription

    []

    Array

    모든 성사 매칭 배열

    [].successMatchingMemberName

    String

    매칭 성사자 이름/팀명

    [].requestMessage

    String

    매칭 요청 메시지

    [].requestOccurTime

    String

    매칭 요청 발생 시간

    10.8. 매칭 보낼 프로필 선택 true/false

    요청

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/matching-controller-test/get-existence-profile/http-request.adoc[]

    +
    +
    +
    GET /existence/profile HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    -
    -

    응답

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/matching-controller-test/get-existence-profile/http-response.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/matching-controller-test/get-existence-profile/response-fields.adoc[]

    +
    +

    응답

    +
    +
    +
    HTTP/1.1 200 OK
    +Vary: Origin
    +Vary: Access-Control-Request-Method
    +Vary: Access-Control-Request-Headers
    +Content-Type: application/json;charset=UTF-8
    +Content-Length: 83
    +
    +{
    +  "isPrivateProfileMatchingAllow" : true,
    +  "isTeamProfileMatchingAllow" : true
    +}
    +
    +
    + +++++ + + + + + + + + + + + + + + + + + + + +
    PathTypeDescription

    isPrivateProfileMatchingAllow

    Boolean

    내 이력서로 매칭 요청 가능 여부 true → 80% 이상

    isTeamProfileMatchingAllow

    Boolean

    팀 소개서로 매칭 요청 가능 여부 true → 80% 이상

    10.9. 내가 받은 매칭 요청 & 개별 조회 / sender_type = Private / receivedTeamProfile = false

    요청

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/matching-controller-test/get-received-private-to-private-matching-message/http-request.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/matching-controller-test/get-received-private-to-private-matching-message/path-parameters.adoc[]

    -
    +
    +
    +
    GET /received/private_to_private/matching/1 HTTP/1.1
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    +
    + + ++++ + + + + + + + + + + + + +
    Table 22. /received/private_to_private/matching/{privateMatchingId}
    ParameterDescription

    privateMatchingId

    내 이력서 대상 매칭 PK

    -

    응답

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/matching-controller-test/get-received-private-to-private-matching-message/http-response.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/matching-controller-test/get-received-private-to-private-matching-message/response-fields.adoc[]

    -
    +

    응답

    +
    +
    +
    HTTP/1.1 200 OK
    +Vary: Origin
    +Vary: Access-Control-Request-Method
    +Vary: Access-Control-Request-Headers
    +Content-Type: application/json;charset=UTF-8
    +Content-Length: 242
    +
    +{
    +  "receivedMatchingId" : 1,
    +  "senderName" : "권동민",
    +  "jobRoleNames" : [ "개발·데이터" ],
    +  "requestMessage" : "권동민님이 나의 내 이력서에 보낸 매칭 요청 메시지입니다.",
    +  "receivedTeamProfile" : false
    +}
    +
    +
    + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PathTypeDescription

    receivedMatchingId

    Number

    내 이력서/팀 소개서에 매칭 PK ID

    senderName

    String

    발신자 이름

    jobRoleNames

    Array

    발신자의 희망 역할 및 직무

    requestMessage

    String

    매칭 요청 메시지

    receivedTeamProfile

    Boolean

    이력/소개서 수신 여부

    10.10. 내가 받은 매칭 요청 / sender_type = Team / receivedTeamProfile = false

    요청

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/matching-controller-test/get-received-team-to-private-matching-message/http-request.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/matching-controller-test/get-received-team-to-private-matching-message/path-parameters.adoc[]

    -
    +
    +
    +
    GET /received/team_to_private/matching/1 HTTP/1.1
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    +
    + + ++++ + + + + + + + + + + + + +
    Table 23. /received/team_to_private/matching/{privateMatchingId}
    ParameterDescription

    privateMatchingId

    내 이력서 대상 매칭 PK

    -

    응답

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/matching-controller-test/get-received-team-to-private-matching-message/http-response.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/matching-controller-test/get-received-team-to-private-matching-message/response-fields.adoc[]

    -
    +

    응답

    +
    +
    +
    HTTP/1.1 200 OK
    +Vary: Origin
    +Vary: Access-Control-Request-Method
    +Vary: Access-Control-Request-Headers
    +Content-Type: application/json;charset=UTF-8
    +Content-Length: 242
    +
    +{
    +  "receivedMatchingId" : 1,
    +  "senderName" : "권동민",
    +  "jobRoleNames" : [ "개발·데이터" ],
    +  "requestMessage" : "권동민님이 나의 내 이력서에 보낸 매칭 요청 메시지입니다.",
    +  "receivedTeamProfile" : false
    +}
    +
    +
    + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PathTypeDescription

    receivedMatchingId

    Number

    내 이력서/팀 소개서에 매칭 PK ID

    senderName

    String

    발신자 이름

    jobRoleNames

    Array

    발신자의 희망 역할 및 직무

    requestMessage

    String

    매칭 요청 메시지

    receivedTeamProfile

    Boolean

    이력/소개서 수신 여부

    10.11. 내가 받은 매칭 요청 / sender_type = private / receivedTeamProfile = true

    요청

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/matching-controller-test/get-received-private-to-team-matching-response/http-request.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/matching-controller-test/get-received-private-to-team-matching-response/path-parameters.adoc[]

    -
    +
    +
    +
    GET /received/team_to_team/matching/1 HTTP/1.1
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    +
    + + ++++ + + + + + + + + + + + + +
    Table 24. /received/team_to_team/matching/{teamMatchingId}
    ParameterDescription

    teamMatchingId

    팀 소개서 대상 매칭 PK

    -

    응답

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/matching-controller-test/get-received-private-to-team-matching-response/http-response.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/matching-controller-test/get-received-private-to-team-matching-response/response-fields.adoc[]

    -
    +

    응답

    +
    +
    +
    HTTP/1.1 200 OK
    +Vary: Origin
    +Vary: Access-Control-Request-Method
    +Vary: Access-Control-Request-Headers
    +Content-Type: application/json;charset=UTF-8
    +Content-Length: 242
    +
    +{
    +  "receivedMatchingId" : 1,
    +  "senderName" : "권동민",
    +  "jobRoleNames" : [ "개발·데이터" ],
    +  "requestMessage" : "권동민님이 나의 팀 소개서에 보낸 매칭 요청 메시지입니다.",
    +  "receivedTeamProfile" : false
    +}
    +
    +
    + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PathTypeDescription

    receivedMatchingId

    Number

    내 이력서/팀 소개서에 매칭 PK ID

    senderName

    String

    발신자 이름

    jobRoleNames

    Array

    발신자의 희망 역할 및 직무

    requestMessage

    String

    매칭 요청 메시지

    receivedTeamProfile

    Boolean

    이력/소개서 수신 여부

    10.12. 내가 보낸 매칭 요청 / sender_type = private / requestTeamProfile = false

    요청

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/matching-controller-test/get-request-private-to-private-matching-message/http-request.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/matching-controller-test/get-request-private-to-private-matching-message/path-parameters.adoc[]

    -
    +
    +
    +
    GET /request/private_to_private/matching/1 HTTP/1.1
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    +
    + + ++++ + + + + + + + + + + + + +
    Table 25. /request/private_to_private/matching/{privateMatchingId}
    ParameterDescription

    privateMatchingId

    내 이력서 대상 매칭 PK

    -

    응답

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/matching-controller-test/get-request-private-to-private-matching-message/http-response.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/matching-controller-test/get-request-private-to-private-matching-message/response-fields.adoc[]

    -
    +

    응답

    +
    +
    +
    HTTP/1.1 200 OK
    +Vary: Origin
    +Vary: Access-Control-Request-Method
    +Vary: Access-Control-Request-Headers
    +Content-Type: application/json;charset=UTF-8
    +Content-Length: 270
    +
    +{
    +  "requestMatchingId" : 1,
    +  "receiverName" : "권동민",
    +  "jobRoleNames" : [ "개발·데이터" ],
    +  "requestMessage" : "권동민님이 나의 내 이력서에 보낸 매칭 요청 메시지입니다.",
    +  "senderType" : "PRIVATE",
    +  "requestTeamProfile" : false
    +}
    +
    +
    + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PathTypeDescription

    requestMatchingId

    Number

    내 이력서/팀 소개서에 매칭 PK ID

    receiverName

    String

    발신자 이름

    jobRoleNames

    Array

    발신자의 희망 역할 및 직무

    requestMessage

    String

    매칭 요청 메시지

    senderType

    String

    발신자 타입

    requestTeamProfile

    Boolean

    이력/소개서 수신 여부

    10.13. 내가 보낸 매칭 요청 / sender_type = Team / requestTeamProfile = false

    요청

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/matching-controller-test/get-request-team-to-private-matching-message/http-request.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/matching-controller-test/get-request-team-to-private-matching-message/path-parameters.adoc[]

    -
    +
    +
    +
    GET /request/team_to_private/matching/1 HTTP/1.1
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    +
    + + ++++ + + + + + + + + + + + + +
    Table 26. /request/team_to_private/matching/{privateMatchingId}
    ParameterDescription

    privateMatchingId

    내 이력서 대상 매칭 PK

    -

    응답

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/matching-controller-test/get-request-team-to-private-matching-message/http-response.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/matching-controller-test/get-request-team-to-private-matching-message/response-fields.adoc[]

    -
    +

    응답

    +
    +
    +
    HTTP/1.1 200 OK
    +Vary: Origin
    +Vary: Access-Control-Request-Method
    +Vary: Access-Control-Request-Headers
    +Content-Type: application/json;charset=UTF-8
    +Content-Length: 267
    +
    +{
    +  "requestMatchingId" : 1,
    +  "receiverName" : "권동민",
    +  "jobRoleNames" : [ "개발·데이터" ],
    +  "requestMessage" : "리에종님이 나의 내 이력서에 보낸 매칭 요청 메시지입니다.",
    +  "senderType" : "TEAM",
    +  "requestTeamProfile" : false
    +}
    +
    +
    + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PathTypeDescription

    requestMatchingId

    Number

    내 이력서/팀 소개서에 매칭 PK ID

    receiverName

    String

    수신자 이름

    jobRoleNames

    Array

    수신자의 희망 역할 및 직무

    requestMessage

    String

    매칭 요청 메시지

    senderType

    String

    발신자 타입

    requestTeamProfile

    Boolean

    이력/소개서 수신 여부

    10.14. 내가 보낸 매칭 요청 / sender_type = private / requestTeamProfile = true

    요청

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/matching-controller-test/get-received-private-to-team-matching-response/http-request.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/matching-controller-test/get-received-private-to-team-matching-response/path-parameters.adoc[]

    -
    +
    +
    +
    GET /received/team_to_team/matching/1 HTTP/1.1
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    +
    + + ++++ + + + + + + + + + + + + +
    Table 27. /received/team_to_team/matching/{teamMatchingId}
    ParameterDescription

    teamMatchingId

    팀 소개서 대상 매칭 PK

    -

    응답

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/matching-controller-test/get-received-private-to-team-matching-response/http-response.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/matching-controller-test/get-received-private-to-team-matching-response/response-fields.adoc[]

    -
    +

    응답

    +
    +
    +
    HTTP/1.1 200 OK
    +Vary: Origin
    +Vary: Access-Control-Request-Method
    +Vary: Access-Control-Request-Headers
    +Content-Type: application/json;charset=UTF-8
    +Content-Length: 242
    +
    +{
    +  "receivedMatchingId" : 1,
    +  "senderName" : "권동민",
    +  "jobRoleNames" : [ "개발·데이터" ],
    +  "requestMessage" : "권동민님이 나의 팀 소개서에 보낸 매칭 요청 메시지입니다.",
    +  "receivedTeamProfile" : false
    +}
    +
    +
    + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PathTypeDescription

    receivedMatchingId

    Number

    내 이력서/팀 소개서에 매칭 PK ID

    senderName

    String

    발신자 이름

    jobRoleNames

    Array

    발신자의 희망 역할 및 직무

    requestMessage

    String

    매칭 요청 메시지

    receivedTeamProfile

    Boolean

    이력/소개서 수신 여부

    10.15. 내 이력서 관련 (receivedTeamProfile = false) - 내가 받은 매칭 요청 → 수락/거절 선택

    요청

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/matching-controller-test/accept-receive-private-matching/http-request.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/matching-controller-test/accept-receive-private-matching/path-parameters.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/matching-controller-test/accept-receive-private-matching/request-fields.adoc[]

    -
    +
    +
    +
    POST /allow/private/matching/1 HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    +{
    +  "isAllowMatching" : true
    +}
    +
    +
    + + ++++ + + + + + + + + + + + + +
    Table 28. /allow/private/matching/{privateMatchingId}
    ParameterDescription

    privateMatchingId

    내 이력서 대상 매칭 PK

    + ++++++ + + + + + + + + + + + + + + + + +
    PathTypeDescriptionConstraint

    isAllowMatching

    Boolean

    매칭 요청 수락 여부 (true) → 수락하기

    10.16. 팀 소개서 관련 (receivedTeamProfile = true) - 내가 받은 매칭 요청 → 수락/거절 선택

    요청

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/matching-controller-test/accept-receive-team-matching/http-request.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/matching-controller-test/accept-receive-team-matching/path-parameters.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/matching-controller-test/accept-receive-team-matching/request-fields.adoc[]

    -
    +
    +
    +
    POST /allow/team/matching/1 HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    +{
    +  "isAllowMatching" : true
    +}
    +
    +
    + + ++++ + + + + + + + + + + + + +
    Table 29. /allow/team/matching/{teamMatchingId}
    ParameterDescription

    teamMatchingId

    팀 소개서 대상 매칭 PK

    + ++++++ + + + + + + + + + + + + + + + + +
    PathTypeDescriptionConstraint

    isAllowMatching

    Boolean

    매칭 요청 수락 여부 (true) → 수락하기

    10.17. 매칭 성사 / 연락하기 버튼 클릭 / 내 이력서인 경우

    요청

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/matching-controller-test/get-private-success-contact-response/http-request.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/matching-controller-test/get-private-success-contact-response/path-parameters.adoc[]

    -
    +
    +
    +
    GET /success/private/matching/contact/1 HTTP/1.1
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    +
    + + ++++ + + + + + + + + + + + + +
    Table 30. /success/private/matching/contact/{privateMatchingId}
    ParameterDescription

    privateMatchingId

    내 이력서 대상 매칭 PK

    -

    응답

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/matching-controller-test/get-private-success-contact-response/http-response.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/matching-controller-test/get-private-success-contact-response/response-fields.adoc[]

    -
    +

    응답

    +
    +
    +
    HTTP/1.1 200 OK
    +Vary: Origin
    +Vary: Access-Control-Request-Method
    +Vary: Access-Control-Request-Headers
    +Content-Type: application/json;charset=UTF-8
    +Content-Length: 65
    +
    +{
    +  "memberName" : "권동민",
    +  "email" : "kwondm7@naver.com"
    +}
    +
    +
    + +++++ + + + + + + + + + + + + + + + + + + + +
    PathTypeDescription

    memberName

    String

    매칭 대상자 연락처

    email

    String

    이메일

    10.18. 매칭 성사 / 연락하기 버튼 클릭 / 팀 소개서인 경우

    요청

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/matching-controller-test/get-team-success-contact-response/http-request.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/matching-controller-test/get-team-success-contact-response/path-parameters.adoc[]

    -
    +
    +
    +
    GET /success/team/matching/contact/1 HTTP/1.1
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    +
    + + ++++ + + + + + + + + + + + + +
    Table 31. /success/team/matching/contact/{teamMatchingId}
    ParameterDescription

    teamMatchingId

    팀 소개서 대상 매칭 PK

    -

    응답

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/matching-controller-test/get-team-success-contact-response/http-response.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/matching-controller-test/get-team-success-contact-response/response-fields.adoc[]

    -
    +

    응답

    +
    +
    +
    HTTP/1.1 200 OK
    +Vary: Origin
    +Vary: Access-Control-Request-Method
    +Vary: Access-Control-Request-Headers
    +Content-Type: application/json;charset=UTF-8
    +Content-Length: 62
    +
    +{
    +  "memberName" : "링킷",
    +  "email" : "kwondm7@linkit.im"
    +}
    +
    +
    + +++++ + + + + + + + + + + + + + + + + + + + +
    PathTypeDescription

    memberName

    String

    매칭 대상자 연락처

    email

    String

    이메일

    -

    10.19. 내 이력서 - 매칭 삭제 (matchingType : PROFILE) / 보낸 매칭, 성사된 매칭 모두 적용

    +

    10.19. 내가 보낸 매칭 - 매칭 삭제 (matchingType: PROFILE)

    요청

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/matching-controller-test/delete-request-private-matching/http-request.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/matching-controller-test/delete-request-private-matching/path-parameters.adoc[]

    +
    +
    +
    DELETE /delete/request/private/matching/1 HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    +
    + + ++++ + + + + + + + + + + + + +
    Table 32. /delete/request/private/matching/{privateMatchingId}
    ParameterDescription

    privateMatchingId

    내 이력서 ID

    +
    +

    10.20. 내가 보낸 매칭 - 매칭 삭제 (matchingType: TEAM_PROFILE)

    -

    10.20. 팀 소개서 - 매칭 삭제 (matchingType : TEAM_PROFILE) / 보낸 매칭, 성사된 매칭 모두 적용

    - +

    요청

    +
    +
    +
    DELETE /delete/request/team/matching/1 HTTP/1.1
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    +
    + + ++++ + + + + + + + + + + + + +
    Table 33. /delete/request/team/matching/{teamMatchingId}
    ParameterDescription

    teamMatchingId

    팀 소개서 ID

    +
    +
    +

    10.21. 성사된 매칭 - 매칭 삭제 (matchingType: PROFILE)

    -

    요청

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/matching-controller-test/delete-request-team-matching/http-request.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/matching-controller-test/delete-request-team-matching/path-parameters.adoc[]

    +

    요청

    +
    +
    +
    DELETE /delete/success/private/matching/1 HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    +
    + + ++++ + + + + + + + + + + + + +
    Table 34. /delete/success/private/matching/{privateMatchingId}
    ParameterDescription

    privateMatchingId

    내 이력서 ID

    +
    +

    10.22. 성사된 매칭 - 매칭 삭제 (matchingType: TEAM_PROFILE)

    +
    +
    +
    DELETE /delete/request/team/matching/1 HTTP/1.1
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    +
    + + ++++ + + + + + + + + + + + + +
    Table 35. /delete/request/team/matching/{teamMatchingId}
    ParameterDescription

    teamMatchingId

    팀 소개서 ID

    @@ -1590,64 +7883,400 @@

    11. 찜하기

    11.1. 내 이력서 (미니 프로필 ID) 찜하기 생성

    -

    요청

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/wish-controller-test/create-wish-to-private-profile/http-request.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/wish-controller-test/create-wish-to-private-profile/path-parameters.adoc[]

    -
    +

    요청

    +
    +
    +
    POST /wish/private/profile/1 HTTP/1.1
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +Content-Type: application/x-www-form-urlencoded
    +
    +
    + + ++++ + + + + + + + + + + + + +
    Table 36. /wish/private/profile/{miniProfileId}
    ParameterDescription

    miniProfileId

    미니 프로필 ID

    11.2. 팀 소개서 (팀원 공고 ID) 찜하기 생성

    -

    요청

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/wish-controller-test/create-wish-to-team-profile/http-request.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/wish-controller-test/create-wish-to-team-profile/path-parameters.adoc[]

    -
    +

    요청

    +
    +
    +
    POST /wish/team/profile/1 HTTP/1.1
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +Content-Type: application/x-www-form-urlencoded
    +
    +
    + + ++++ + + + + + + + + + + + + +
    Table 37. /wish/team/profile/{teamMemberAnnouncementId}
    ParameterDescription

    teamMemberAnnouncementId

    팀원 공고 ID

    11.3. 내 이력서 (미니 프로필 ID) 찜하기 취소

    -

    요청

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/wish-controller-test/cancel-wish-to-private-profile/http-request.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/wish-controller-test/cancel-wish-to-private-profile/path-parameters.adoc[]

    -
    +

    요청

    +
    +
    +
    DELETE /wish/private/profile/1 HTTP/1.1
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    +
    + + ++++ + + + + + + + + + + + + +
    Table 38. /wish/private/profile/{miniProfileId}
    ParameterDescription

    miniProfileId

    미니 프로필 ID

    11.4. 팀 소개서 (팀원 공고 ID) 찜하기 취소

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/wish-controller-test/cancel-wish-to-team-profile/http-request.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/wish-controller-test/cancel-wish-to-team-profile/path-parameters.adoc[]

    -
    +
    +
    +
    DELETE /wish/team/profile/1 HTTP/1.1
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    +
    + + ++++ + + + + + + + + + + + + +
    Table 39. /wish/team/profile/{teamMemberAnnouncementId}
    ParameterDescription

    teamMemberAnnouncementId

    팀원 공고 ID

    11.5. 내 이력서 찜한 목록 조회

    -

    요청

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/wish-controller-test/get-private-profile-wish-list/http-request.adoc[] -==== 응답 -Unresolved directive in docs.adoc - include::{snippets}/wish-controller-test/get-private-profile-wish-list/http-response.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/wish-controller-test/get-private-profile-wish-list/response-fields.adoc[]

    +

    요청

    +
    +
    +
    GET /wish/private/profile/list HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    +
    +
    +

    응답

    +
    +
    +
    HTTP/1.1 200 OK
    +Vary: Origin
    +Vary: Access-Control-Request-Method
    +Vary: Access-Control-Request-Headers
    +Content-Type: application/json;charset=UTF-8
    +Content-Length: 782
    +
    +[ {
    +  "id" : 1,
    +  "profileTitle" : "시니어 소프트웨어 개발자",
    +  "miniProfileImg" : "https://image.linkit.im/images/linkit_logo.png",
    +  "isActivate" : true,
    +  "myKeywordNames" : [ "2024 레드닷 수상", "스타트업 경력", "서울대 디자인", "대기업 경력 3년" ],
    +  "memberName" : "권동민",
    +  "jobRoleNames" : [ "개발·데이터" ],
    +  "isPrivateSaved" : true
    +}, {
    +  "id" : 1,
    +  "profileTitle" : "시니어 소프트웨어 개발자",
    +  "miniProfileImg" : "https://image.linkit.im/images/linkit_logo.png",
    +  "isActivate" : true,
    +  "myKeywordNames" : [ "2024 레드닷 수상", "스타트업 경력", "서울대 디자인", "대기업 경력 3년" ],
    +  "memberName" : "권동민",
    +  "jobRoleNames" : [ "개발·데이터" ],
    +  "isPrivateSaved" : true
    +} ]
    +
    +
    + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PathTypeDescription

    [].id

    Number

    미니 프로필 ID

    [].profileTitle

    String

    프로필의 제목

    [].miniProfileImg

    String

    미니 프로필 이미지 URL

    [].myKeywordNames

    Array

    나를 소개하는 키워드 목록

    [].isActivate

    Boolean

    미니 프로필 활성화 여부

    [].memberName

    String

    회원 이름

    [].jobRoleNames

    Array

    직무 및 역할

    [].isPrivateSaved

    Boolean

    찜 여부

    11.6. 팀 소개서 찜한 목록 조회

    -

    요청

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/wish-controller-test/get-team-profile-wish-list/http-request.adoc[] -==== 응답 -Unresolved directive in docs.adoc - include::{snippets}/wish-controller-test/get-team-profile-wish-list/http-response.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/wish-controller-test/get-team-profile-wish-list/response-fields.adoc[]

    +

    요청

    +
    +
    +
    GET /wish/team/profile/list HTTP/1.1
    +Content-Type: application/json;charset=UTF-8
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    +
    +

    응답

    +
    +
    +
    HTTP/1.1 200 OK
    +Vary: Origin
    +Vary: Access-Control-Request-Method
    +Vary: Access-Control-Request-Headers
    +Content-Type: application/json;charset=UTF-8
    +Content-Length: 1605
    +
    +[ {
    +  "teamMiniProfileResponse" : {
    +    "id" : 1,
    +    "sectorName" : "SaaS",
    +    "sizeType" : "1-5인",
    +    "teamName" : "리에종",
    +    "teamProfileTitle" : "팀 소개서 제목입니다.",
    +    "isTeamActivate" : true,
    +    "teamLogoImageUrl" : "https://image.linkit.im/images/linkit_logo.png",
    +    "teamKeywordNames" : [ "재택 가능", "Pre-A", "사수 있음", "스톡 제공" ]
    +  },
    +  "teamMemberAnnouncementResponse" : {
    +    "id" : 1,
    +    "teamLogoImageUrl" : "https://image.linkit.im/images/linkit_logo.png",
    +    "teamName" : "리에종",
    +    "jobRoleName" : "개발·데이터",
    +    "mainBusiness" : "주요 업무입니다.",
    +    "skillNames" : [ "서버 개발", "DevOps" ],
    +    "applicationProcess" : "지원 절차입니다.",
    +    "isTeamSaved" : true
    +  }
    +}, {
    +  "teamMiniProfileResponse" : {
    +    "id" : 2,
    +    "sectorName" : "SaaS",
    +    "sizeType" : "5-10인",
    +    "teamName" : "팀명팀명",
    +    "teamProfileTitle" : "팀 소개서 제목입니다. 22",
    +    "isTeamActivate" : true,
    +    "teamLogoImageUrl" : "https://image.linkit.im/images/linkit_logo.png",
    +    "teamKeywordNames" : [ "재택 가능", "Pre-A", "사수 있음", "스톡 제공" ]
    +  },
    +  "teamMemberAnnouncementResponse" : {
    +    "id" : 2,
    +    "teamLogoImageUrl" : "https://image.linkit.im/images/linkit_logo.png",
    +    "teamName" : "팀명팀명",
    +    "jobRoleName" : "디자인",
    +    "mainBusiness" : "주요 업무입니다. (두번째 팀원 공고)",
    +    "skillNames" : [ "웹 디자인", "앱 디자인" ],
    +    "applicationProcess" : "지원 절차입니다. (두번째 팀원 공고)",
    +    "isTeamSaved" : true
    +  }
    +} ]
    +
    +
    + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PathTypeDescription

    [].teamMiniProfileResponse.id

    Number

    팀 미니 프로필 ID

    [].teamMiniProfileResponse.sectorName

    String

    산업 분야

    [].teamMiniProfileResponse.sizeType

    String

    팀 규모

    [].teamMiniProfileResponse.teamName

    String

    팀 이름

    [].teamMiniProfileResponse.teamProfileTitle

    String

    팀 프로필 제목

    [].teamMiniProfileResponse.isTeamActivate

    Boolean

    팀 활성화 상태

    [].teamMiniProfileResponse.teamLogoImageUrl

    String

    팀 로고 이미지 URL

    [].teamMiniProfileResponse.teamKeywordNames

    Array

    팀 키워드 목록

    [].teamMemberAnnouncementResponse.id

    Number

    팀원 공고 ID

    [].teamMemberAnnouncementResponse.teamLogoImageUrl

    String

    팀 로고 이미지 경로

    [].teamMemberAnnouncementResponse.teamName

    String

    공고에 대한 팀 이름

    [].teamMemberAnnouncementResponse.jobRoleName

    String

    직무 이름

    [].teamMemberAnnouncementResponse.mainBusiness

    String

    주요 업무 내용

    [].teamMemberAnnouncementResponse.skillNames

    Array

    필요 기술 목록

    [].teamMemberAnnouncementResponse.applicationProcess

    String

    지원 절차 설명

    [].teamMemberAnnouncementResponse.isTeamSaved

    Boolean

    팀 찜 여부

    +
    +
    @@ -1656,27 +8285,132 @@

    12. 설정

    회원 탈퇴

    -

    요청

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/login-controller-test/delete-account/http-request.adoc[] -요청 헤더 -Unresolved directive in docs.adoc - include::{snippets}/login-controller-test/delete-account/request-headers.adoc[] -요청 쿠키 -Unresolved directive in docs.adoc - include::{snippets}/login-controller-test/delete-account/request-cookies.adoc[]

    +

    요청

    +
    +
    +
    DELETE /account HTTP/1.1
    +Authorization: accessToken
    +Cookie: refresh-token=refreshToken
    -
    -

    응답

    -

    Unresolved directive in docs.adoc - include::{snippets}/login-controller-test/delete-account/http-response.adoc[]

    -
    +

    요청 헤더

    +
    + +++++ + + + + + + + + + + + + + + +
    NameDescriptionConstraint

    Authorization

    access token

    문자열(jwt)

    +
    +

    요청 쿠키

    +
    + ++++ + + + + + + + + + + + + +
    NameDescription

    refresh-token

    갱신 토큰

    -

    응답

    -
    -

    Unresolved directive in docs.adoc - include::{snippets}/member-controller-test/get-member-basic-inform/http-response.adoc[] -Unresolved directive in docs.adoc - include::{snippets}/member-controller-test/get-member-basic-inform/response-fields.adoc[]

    +

    응답

    +
    +
    +
    HTTP/1.1 204 No Content
    +Vary: Origin
    +Vary: Access-Control-Request-Method
    +Vary: Access-Control-Request-Headers
    +
    +
    +
    +

    응답

    +
    +
    +
    HTTP/1.1 200 OK
    +Vary: Origin
    +Vary: Access-Control-Request-Method
    +Vary: Access-Control-Request-Headers
    +Content-Type: application/json;charset=UTF-8
    +Content-Length: 135
    +
    +{
    +  "id" : 1,
    +  "memberName" : "권동민",
    +  "contact" : "010-3661-4067",
    +  "email" : "kwondm7@naver.com",
    +  "marketingAgree" : true
    +}
    +
    +
    + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PathTypeDescription

    id

    Number

    멤버 기본 정보 ID

    memberName

    String

    성함

    contact

    String

    연락처

    email

    String

    이메일

    marketingAgree

    Boolean

    마케팅 수신 동의 여부

    @@ -1684,7 +8418,7 @@

    응답

    diff --git a/src/main/generated/liaison/linkit/matching/domain/QPrivateMatching.java b/src/main/generated/liaison/linkit/matching/domain/QPrivateMatching.java index 3d6faf5e..9b5a8281 100644 --- a/src/main/generated/liaison/linkit/matching/domain/QPrivateMatching.java +++ b/src/main/generated/liaison/linkit/matching/domain/QPrivateMatching.java @@ -44,15 +44,19 @@ public class QPrivateMatching extends EntityPathBase { public final liaison.linkit.profile.domain.QProfile profile; - public final EnumPath receiverDeleteStatusType = createEnum("receiverDeleteStatusType", liaison.linkit.matching.domain.type.ReceiverDeleteStatusType.class); - public final StringPath requestMessage = createString("requestMessage"); + public final EnumPath requestSenderDeleteStatusType = createEnum("requestSenderDeleteStatusType", liaison.linkit.matching.domain.type.RequestSenderDeleteStatusType.class); + public final EnumPath senderType = createEnum("senderType", liaison.linkit.matching.domain.type.SenderType.class); //inherited public final EnumPath status = _super.status; + public final EnumPath successReceiverDeleteStatusType = createEnum("successReceiverDeleteStatusType", liaison.linkit.matching.domain.type.SuccessReceiverDeleteStatusType.class); + + public final EnumPath successSenderDeleteStatusType = createEnum("successSenderDeleteStatusType", liaison.linkit.matching.domain.type.SuccessSenderDeleteStatusType.class); + public QPrivateMatching(String variable) { this(PrivateMatching.class, forVariable(variable), INITS); } diff --git a/src/main/generated/liaison/linkit/matching/domain/QTeamMatching.java b/src/main/generated/liaison/linkit/matching/domain/QTeamMatching.java index 3b2cd269..d4598f38 100644 --- a/src/main/generated/liaison/linkit/matching/domain/QTeamMatching.java +++ b/src/main/generated/liaison/linkit/matching/domain/QTeamMatching.java @@ -42,15 +42,19 @@ public class QTeamMatching extends EntityPathBase { //inherited public final DateTimePath modifiedAt = _super.modifiedAt; - public final EnumPath receiverDeleteStatusType = createEnum("receiverDeleteStatusType", liaison.linkit.matching.domain.type.ReceiverDeleteStatusType.class); - public final StringPath requestMessage = createString("requestMessage"); + public final EnumPath requestSenderDeleteStatusType = createEnum("requestSenderDeleteStatusType", liaison.linkit.matching.domain.type.RequestSenderDeleteStatusType.class); + public final EnumPath senderType = createEnum("senderType", liaison.linkit.matching.domain.type.SenderType.class); //inherited public final EnumPath status = _super.status; + public final EnumPath successReceiverDeleteStatusType = createEnum("successReceiverDeleteStatusType", liaison.linkit.matching.domain.type.SuccessReceiverDeleteStatusType.class); + + public final EnumPath successSenderDeleteStatusType = createEnum("successSenderDeleteStatusType", liaison.linkit.matching.domain.type.SuccessSenderDeleteStatusType.class); + public final liaison.linkit.team.domain.announcement.QTeamMemberAnnouncement teamMemberAnnouncement; public QTeamMatching(String variable) { diff --git a/src/main/java/liaison/linkit/matching/domain/PrivateMatching.java b/src/main/java/liaison/linkit/matching/domain/PrivateMatching.java index 5f3ac692..8de3c611 100644 --- a/src/main/java/liaison/linkit/matching/domain/PrivateMatching.java +++ b/src/main/java/liaison/linkit/matching/domain/PrivateMatching.java @@ -2,10 +2,7 @@ import jakarta.persistence.*; import liaison.linkit.global.BaseEntity; -import liaison.linkit.matching.domain.type.MatchingStatusType; -import liaison.linkit.matching.domain.type.MatchingType; -import liaison.linkit.matching.domain.type.ReceiverDeleteStatusType; -import liaison.linkit.matching.domain.type.SenderType; +import liaison.linkit.matching.domain.type.*; import liaison.linkit.member.domain.Member; import liaison.linkit.profile.domain.Profile; import lombok.AllArgsConstructor; @@ -59,9 +56,20 @@ public class PrivateMatching extends BaseEntity { @Enumerated(value = STRING) private MatchingStatusType matchingStatusType; - @Column(name = "receiver_delete_status_type") + // 내가 보낸 매칭 삭제 관리 컬럼 (발신자) + @Column(name = "request_sender_delete_status_type") @Enumerated(value = STRING) - private ReceiverDeleteStatusType receiverDeleteStatusType; + private RequestSenderDeleteStatusType requestSenderDeleteStatusType; + + // 성사된 매칭 삭제 관리 컬럼 (발신자) + @Column(name = "success_sender_delete_status_type") + @Enumerated(value = STRING) + private SuccessSenderDeleteStatusType successSenderDeleteStatusType; + + // 성사된 매칭 삭제 관리 컬럼 (수신자) + @Column(name = "success_receiver_delete_status_type") + @Enumerated(value = STRING) + private SuccessReceiverDeleteStatusType successReceiverDeleteStatusType; // 이 매칭 요청을 보낸 사람이 열람을 했나요? @Column(name = "is_sender_check", columnDefinition = "Boolean default false") @@ -79,11 +87,30 @@ public void updateMatchingStatus(final boolean isAllow) { } } - public void updateReceiverDeleteStatusType(final boolean isDeleted) { + // 내가 보낸 매칭에서 발신자가 삭제한 경우 + public void updateRequestSenderDeleteStatusType(final boolean isDeleted) { + if (isDeleted) { + this.requestSenderDeleteStatusType = RequestSenderDeleteStatusType.DELETED; + } else { + this.requestSenderDeleteStatusType = RequestSenderDeleteStatusType.REMAINED; + } + } + + // 성사된 매칭에서 발신자가 삭제한 경우 + public void updateSuccessSenderDeleteStatusType(final boolean isDeleted) { + if (isDeleted) { + this.successSenderDeleteStatusType = SuccessSenderDeleteStatusType.DELETED; + } else { + this.successSenderDeleteStatusType = SuccessSenderDeleteStatusType.REMAINED; + } + } + + // 성사된 매칭에서 수신자가 삭제한 경우 + public void updateSuccessReceiverDeleteStatusType(final boolean isDeleted) { if (isDeleted) { - this.receiverDeleteStatusType = ReceiverDeleteStatusType.DELETED; + this.successReceiverDeleteStatusType = SuccessReceiverDeleteStatusType.DELETED; } else { - this.receiverDeleteStatusType = ReceiverDeleteStatusType.REMAINED; + this.successReceiverDeleteStatusType = SuccessReceiverDeleteStatusType.REMAINED; } } } diff --git a/src/main/java/liaison/linkit/matching/domain/TeamMatching.java b/src/main/java/liaison/linkit/matching/domain/TeamMatching.java index e603be0d..44bae5bb 100644 --- a/src/main/java/liaison/linkit/matching/domain/TeamMatching.java +++ b/src/main/java/liaison/linkit/matching/domain/TeamMatching.java @@ -2,10 +2,7 @@ import jakarta.persistence.*; import liaison.linkit.global.BaseEntity; -import liaison.linkit.matching.domain.type.MatchingStatusType; -import liaison.linkit.matching.domain.type.MatchingType; -import liaison.linkit.matching.domain.type.ReceiverDeleteStatusType; -import liaison.linkit.matching.domain.type.SenderType; +import liaison.linkit.matching.domain.type.*; import liaison.linkit.member.domain.Member; import liaison.linkit.team.domain.announcement.TeamMemberAnnouncement; import lombok.AllArgsConstructor; @@ -58,9 +55,20 @@ public class TeamMatching extends BaseEntity { @Enumerated(value = STRING) private MatchingStatusType matchingStatusType; - @Column(name = "receiver_delete_status_type") + // 내가 보낸 매칭 삭제 관리 컬럼 (발신자) + @Column(name = "request_sender_delete_status_type") @Enumerated(value = STRING) - private ReceiverDeleteStatusType receiverDeleteStatusType; + private RequestSenderDeleteStatusType requestSenderDeleteStatusType; + + // 성사된 매칭 삭제 관리 컬럼 (발신자) + @Column(name = "success_sender_delete_status_type") + @Enumerated(value = STRING) + private SuccessSenderDeleteStatusType successSenderDeleteStatusType; + + // 성사된 매칭 삭제 관리 컬럼 (수신자) + @Column(name = "success_receiver_delete_status_type") + @Enumerated(value = STRING) + private SuccessReceiverDeleteStatusType successReceiverDeleteStatusType; // 이 매칭 요청을 보낸 사람이 열람을 했나요? @Column(name = "is_sender_check", columnDefinition = "boolean default false") @@ -78,11 +86,31 @@ public void updateMatchingStatus(final boolean isAllow) { } } - public void updateReceiverDeleteStatusType(final boolean isDeleted) { + + // 내가 보낸 매칭에서 발신자가 삭제한 경우 + public void updateRequestSenderDeleteStatusType(final boolean isDeleted) { + if (isDeleted) { + this.requestSenderDeleteStatusType = RequestSenderDeleteStatusType.DELETED; + } else { + this.requestSenderDeleteStatusType = RequestSenderDeleteStatusType.REMAINED; + } + } + + // 성사된 매칭에서 발신자가 삭제한 경우 + public void updateSuccessSenderDeleteStatusType(final boolean isDeleted) { + if (isDeleted) { + this.successSenderDeleteStatusType = SuccessSenderDeleteStatusType.DELETED; + } else { + this.successSenderDeleteStatusType = SuccessSenderDeleteStatusType.REMAINED; + } + } + + // 성사된 매칭에서 수신자가 삭제한 경우 + public void updateSuccessReceiverDeleteStatusType(final boolean isDeleted) { if (isDeleted) { - this.receiverDeleteStatusType = ReceiverDeleteStatusType.DELETED; + this.successReceiverDeleteStatusType = SuccessReceiverDeleteStatusType.DELETED; } else { - this.receiverDeleteStatusType = ReceiverDeleteStatusType.REMAINED; + this.successReceiverDeleteStatusType = SuccessReceiverDeleteStatusType.REMAINED; } } } diff --git a/src/main/java/liaison/linkit/matching/domain/repository/privateMatching/PrivateMatchingRepositoryCustomImpl.java b/src/main/java/liaison/linkit/matching/domain/repository/privateMatching/PrivateMatchingRepositoryCustomImpl.java index 31fdb790..ee5edaf5 100644 --- a/src/main/java/liaison/linkit/matching/domain/repository/privateMatching/PrivateMatchingRepositoryCustomImpl.java +++ b/src/main/java/liaison/linkit/matching/domain/repository/privateMatching/PrivateMatchingRepositoryCustomImpl.java @@ -5,7 +5,9 @@ import liaison.linkit.matching.domain.PrivateMatching; import liaison.linkit.matching.domain.QPrivateMatching; import liaison.linkit.matching.domain.type.MatchingStatusType; -import liaison.linkit.matching.domain.type.ReceiverDeleteStatusType; +import liaison.linkit.matching.domain.type.RequestSenderDeleteStatusType; +import liaison.linkit.matching.domain.type.SuccessReceiverDeleteStatusType; +import liaison.linkit.matching.domain.type.SuccessSenderDeleteStatusType; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.transaction.annotation.Transactional; @@ -37,7 +39,7 @@ public List findByMemberIdAndMatchingStatus(final Long memberId .selectFrom(privateMatching) .where(privateMatching.member.id.eq(memberId) .and(privateMatching.matchingStatusType.eq(MatchingStatusType.REQUESTED)) - .and(privateMatching.receiverDeleteStatusType.eq(ReceiverDeleteStatusType.REMAINED))) + .and(privateMatching.requestSenderDeleteStatusType.eq(RequestSenderDeleteStatusType.REMAINED))) .fetch(); } @@ -48,7 +50,8 @@ public List findSuccessReceivedMatching(final Long profileId) { return jpaQueryFactory .selectFrom(privateMatching) .where(privateMatching.profile.id.eq(profileId) - .and(privateMatching.matchingStatusType.eq(MatchingStatusType.SUCCESSFUL))) + .and(privateMatching.matchingStatusType.eq(MatchingStatusType.SUCCESSFUL)) + .and(privateMatching.successReceiverDeleteStatusType.eq(SuccessReceiverDeleteStatusType.REMAINED))) .fetch(); } @@ -59,10 +62,11 @@ public List findSuccessRequestMatching(final Long memberId) { return jpaQueryFactory .selectFrom(privateMatching) .where(privateMatching.member.id.eq(memberId) - .and(privateMatching.matchingStatusType.eq(MatchingStatusType.SUCCESSFUL))) + .and(privateMatching.matchingStatusType.eq(MatchingStatusType.SUCCESSFUL)) + .and(privateMatching.successSenderDeleteStatusType.eq(SuccessSenderDeleteStatusType.REMAINED))) .fetch(); } - + @Override public boolean existsByProfileId(final Long profileId) { QPrivateMatching privateMatching = QPrivateMatching.privateMatching; diff --git a/src/main/java/liaison/linkit/matching/domain/repository/teamMatching/TeamMatchingRepositoryCustomImpl.java b/src/main/java/liaison/linkit/matching/domain/repository/teamMatching/TeamMatchingRepositoryCustomImpl.java index 867e15b7..947c317d 100644 --- a/src/main/java/liaison/linkit/matching/domain/repository/teamMatching/TeamMatchingRepositoryCustomImpl.java +++ b/src/main/java/liaison/linkit/matching/domain/repository/teamMatching/TeamMatchingRepositoryCustomImpl.java @@ -5,7 +5,9 @@ import liaison.linkit.matching.domain.QTeamMatching; import liaison.linkit.matching.domain.TeamMatching; import liaison.linkit.matching.domain.type.MatchingStatusType; -import liaison.linkit.matching.domain.type.ReceiverDeleteStatusType; +import liaison.linkit.matching.domain.type.RequestSenderDeleteStatusType; +import liaison.linkit.matching.domain.type.SuccessReceiverDeleteStatusType; +import liaison.linkit.matching.domain.type.SuccessSenderDeleteStatusType; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.transaction.annotation.Transactional; @@ -25,8 +27,7 @@ public List findAllByTeamMemberAnnouncementIds(final List te return jpaQueryFactory .selectFrom(teamMatching) .where(teamMatching.teamMemberAnnouncement.id.in(teamMemberAnnouncementIds) - .and(teamMatching.matchingStatusType.eq(MatchingStatusType.REQUESTED)) - .and(teamMatching.receiverDeleteStatusType.eq(ReceiverDeleteStatusType.REMAINED))) + .and(teamMatching.matchingStatusType.eq(MatchingStatusType.REQUESTED))) .fetch(); } @@ -37,7 +38,8 @@ public List findByMemberIdAndMatchingStatus(final Long memberId) { return jpaQueryFactory .selectFrom(teamMatching) .where(teamMatching.member.id.eq(memberId) - .and(teamMatching.matchingStatusType.eq(MatchingStatusType.REQUESTED))) + .and(teamMatching.matchingStatusType.eq(MatchingStatusType.REQUESTED)) + .and(teamMatching.requestSenderDeleteStatusType.eq(RequestSenderDeleteStatusType.REMAINED))) .fetch(); } @@ -48,7 +50,8 @@ public List findSuccessReceivedMatching(final List teamMembe return jpaQueryFactory .selectFrom(teamMatching) .where(teamMatching.matchingStatusType.eq(MatchingStatusType.SUCCESSFUL) - .and(teamMatching.teamMemberAnnouncement.id.in(teamMemberAnnouncementIds))) + .and(teamMatching.teamMemberAnnouncement.id.in(teamMemberAnnouncementIds)) + .and(teamMatching.successReceiverDeleteStatusType.eq(SuccessReceiverDeleteStatusType.REMAINED))) .fetch(); } @@ -59,7 +62,8 @@ public List findSuccessRequestMatching(final Long memberId) { return jpaQueryFactory .selectFrom(teamMatching) .where(teamMatching.matchingStatusType.eq(MatchingStatusType.SUCCESSFUL) - .and(teamMatching.member.id.eq(memberId))) + .and(teamMatching.member.id.eq(memberId)) + .and(teamMatching.successSenderDeleteStatusType.eq(SuccessSenderDeleteStatusType.REMAINED))) .fetch(); } diff --git a/src/main/java/liaison/linkit/matching/domain/type/ReceiverDeleteStatusType.java b/src/main/java/liaison/linkit/matching/domain/type/RequestSenderDeleteStatusType.java similarity index 62% rename from src/main/java/liaison/linkit/matching/domain/type/ReceiverDeleteStatusType.java rename to src/main/java/liaison/linkit/matching/domain/type/RequestSenderDeleteStatusType.java index 3313f58d..eb31d186 100644 --- a/src/main/java/liaison/linkit/matching/domain/type/ReceiverDeleteStatusType.java +++ b/src/main/java/liaison/linkit/matching/domain/type/RequestSenderDeleteStatusType.java @@ -1,6 +1,6 @@ package liaison.linkit.matching.domain.type; -public enum ReceiverDeleteStatusType { +public enum RequestSenderDeleteStatusType { DELETED, REMAINED } diff --git a/src/main/java/liaison/linkit/matching/domain/type/SuccessReceiverDeleteStatusType.java b/src/main/java/liaison/linkit/matching/domain/type/SuccessReceiverDeleteStatusType.java new file mode 100644 index 00000000..38af789a --- /dev/null +++ b/src/main/java/liaison/linkit/matching/domain/type/SuccessReceiverDeleteStatusType.java @@ -0,0 +1,6 @@ +package liaison.linkit.matching.domain.type; + +public enum SuccessReceiverDeleteStatusType { + DELETED, + REMAINED +} diff --git a/src/main/java/liaison/linkit/matching/domain/type/SuccessSenderDeleteStatusType.java b/src/main/java/liaison/linkit/matching/domain/type/SuccessSenderDeleteStatusType.java new file mode 100644 index 00000000..86840028 --- /dev/null +++ b/src/main/java/liaison/linkit/matching/domain/type/SuccessSenderDeleteStatusType.java @@ -0,0 +1,7 @@ +package liaison.linkit.matching.domain.type; + +public enum SuccessSenderDeleteStatusType { + DELETED, + REMAINED + +} diff --git a/src/main/java/liaison/linkit/matching/presentation/MatchingController.java b/src/main/java/liaison/linkit/matching/presentation/MatchingController.java index e148caa0..f8989e70 100644 --- a/src/main/java/liaison/linkit/matching/presentation/MatchingController.java +++ b/src/main/java/liaison/linkit/matching/presentation/MatchingController.java @@ -28,6 +28,7 @@ import java.util.List; import static org.springframework.http.HttpStatus.CREATED; +import static org.springframework.http.HttpStatus.NO_CONTENT; @RestController @RequiredArgsConstructor @@ -99,7 +100,6 @@ public ResponseEntity createPrivateProfileMatchingToTeam( } - // 내가 받은 매칭 조회 @GetMapping("/matching/received") @MemberOnly @@ -143,8 +143,6 @@ public ResponseEntity getExistenceProfileBoolean( } - - // sender_type -> Private / receivedTeamProfile = false // 내가 받은 매칭 요청에서 private_matching 조회하는 경우 (개인 - 개인인 경우) @GetMapping("/received/private_to_private/matching/{privateMatchingId}") @@ -251,7 +249,6 @@ public ResponseEntity acceptReceiveTeamMatching( } - // 내 이력서 관련 매칭일 때 연락하기 버튼을 누른 경우 // 수신자가 내 이력서일 때 @GetMapping("/success/private/matching/contact/{privateMatchingId}") @@ -277,38 +274,52 @@ public ResponseEntity getTeamSuccessContactResponse( } + // 내가 보낸 매칭을 삭제한다. -> 발신자의 입장에서 삭제 + // 성사된 매칭을 삭제한다 -> 발신자 또는 수신자의 입장에서 삭제 - - - - - - - - - - - // 내가 보낸 매칭, 성사된 매칭에서 내 이력서 대상 매칭 삭제하기 + // 내가 보낸 매칭에서 내 이력서 대상 매칭 삭제하기 (내가 어떤 거로든 내 이력서에 매칭 요청 보낸 것 삭제) // matchingType -> PROFILE - @DeleteMapping("/delete/private/matching/{privateMatchingId}") + @DeleteMapping("/delete/request/private/matching/{privateMatchingId}") @MemberOnly public ResponseEntity deleteRequestPrivateMatching( @Auth final Accessor accessor, @PathVariable final Long privateMatchingId ) { - matchingService.deletePrivateMatching(privateMatchingId); - return ResponseEntity.status(HttpStatus.NO_CONTENT).build(); + matchingService.deleteRequestPrivateMatching(privateMatchingId); + return ResponseEntity.status(NO_CONTENT).build(); } - // 내가 보낸 매칭, 성사된 매칭에서 팀 소개서 대상 매칭 삭제하기 + // 내가 보낸 매칭에서 팀 소개서 대상 매칭 삭제하기 // matchingType -> TeamProfile - @DeleteMapping("/delete/team/matching/{teamMatchingId}") + @DeleteMapping("/delete/request/team/matching/{teamMatchingId}") @MemberOnly public ResponseEntity deleteRequestTeamMatching( @Auth final Accessor accessor, @PathVariable final Long teamMatchingId ) { - matchingService.deleteTeamMatching(teamMatchingId); - return ResponseEntity.status(HttpStatus.NO_CONTENT).build(); + matchingService.deleteRequestTeamMatching(teamMatchingId); + return ResponseEntity.status(NO_CONTENT).build(); + } + + // 성사된 매칭에서 내 이력서 대상 매칭 삭제하기 + @DeleteMapping("/delete/success/private/matching/{privateMatchingId}") + @MemberOnly + public ResponseEntity deleteSuccessPrivateMatching( + @Auth final Accessor accessor, + @PathVariable final Long privateMatchingId + ) { + matchingService.deleteSuccessPrivateMatching(accessor.getMemberId(), privateMatchingId); + return ResponseEntity.status(NO_CONTENT).build(); + } + + // 성사된 매칭에서 팀 소개서 대상 매칭 삭제하기 + @DeleteMapping("/delete/success/team/matching/{teamMatchingId}") + @MemberOnly + public ResponseEntity deleteSuccessTeamMatching( + @Auth final Accessor accessor, + @PathVariable final Long teamMatchingId + ) { + matchingService.deleteSuccessTeamMatching(accessor.getMemberId(), teamMatchingId); + return ResponseEntity.status(NO_CONTENT).build(); } } diff --git a/src/main/java/liaison/linkit/matching/service/MatchingService.java b/src/main/java/liaison/linkit/matching/service/MatchingService.java index 85e7b557..1ef48b48 100644 --- a/src/main/java/liaison/linkit/matching/service/MatchingService.java +++ b/src/main/java/liaison/linkit/matching/service/MatchingService.java @@ -8,7 +8,10 @@ import liaison.linkit.matching.domain.TeamMatching; import liaison.linkit.matching.domain.repository.privateMatching.PrivateMatchingRepository; import liaison.linkit.matching.domain.repository.teamMatching.TeamMatchingRepository; +import liaison.linkit.matching.domain.type.SuccessReceiverDeleteStatusType; +import liaison.linkit.matching.domain.type.RequestSenderDeleteStatusType; import liaison.linkit.matching.domain.type.SenderType; +import liaison.linkit.matching.domain.type.SuccessSenderDeleteStatusType; import liaison.linkit.matching.dto.request.AllowMatchingRequest; import liaison.linkit.matching.dto.request.MatchingCreateRequest; import liaison.linkit.matching.dto.response.ReceivedMatchingResponse; @@ -62,7 +65,6 @@ import static liaison.linkit.matching.domain.type.MatchingStatusType.REQUESTED; import static liaison.linkit.matching.domain.type.MatchingType.PROFILE; import static liaison.linkit.matching.domain.type.MatchingType.TEAM_PROFILE; -import static liaison.linkit.matching.domain.type.ReceiverDeleteStatusType.REMAINED; @Service @RequiredArgsConstructor @@ -164,7 +166,9 @@ public void createPrivateProfileMatchingToPrivate( matchingCreateRequest.getRequestMessage(), // 요청 상태로 저장한다. REQUESTED, - REMAINED, + RequestSenderDeleteStatusType.REMAINED, + SuccessSenderDeleteStatusType.REMAINED, + SuccessReceiverDeleteStatusType.REMAINED, false, false ); @@ -229,7 +233,9 @@ public void createTeamProfileMatchingToPrivate( matchingCreateRequest.getRequestMessage(), // 요청 상태로 저장한다. REQUESTED, - REMAINED, + RequestSenderDeleteStatusType.REMAINED, + SuccessSenderDeleteStatusType.REMAINED, + SuccessReceiverDeleteStatusType.REMAINED, false, false ); @@ -292,7 +298,9 @@ public void createTeamProfileMatchingToTeam( matchingCreateRequest.getRequestMessage(), // 요청 상태로 저장한다. REQUESTED, - REMAINED, + RequestSenderDeleteStatusType.REMAINED, + SuccessSenderDeleteStatusType.REMAINED, + SuccessReceiverDeleteStatusType.REMAINED, false, false ); @@ -359,7 +367,9 @@ public void createPrivateProfileMatchingToTeam( matchingCreateRequest.getRequestMessage(), // 요청 상태로 저장한다. REQUESTED, - REMAINED, + RequestSenderDeleteStatusType.REMAINED, + SuccessSenderDeleteStatusType.REMAINED, + SuccessReceiverDeleteStatusType.REMAINED, false, false ); @@ -812,15 +822,39 @@ public void acceptTeamMatching(final Long teamMatchingId, final AllowMatchingReq } } - public void deletePrivateMatching(final Long privateMatchingId) { + // 내가 보낸 매칭 삭제 (내 이력서 대상) + public void deleteRequestPrivateMatching(final Long privateMatchingId) { final PrivateMatching privateMatching = getPrivateMatching(privateMatchingId); - // 삭제 요청하는 아이디와 동일하면 - // 유효성 검증 - privateMatching.updateReceiverDeleteStatusType(true); + privateMatching.updateRequestSenderDeleteStatusType(true); } - public void deleteTeamMatching(final Long teamMatchingId) { + // 내가 보낸 매칭 삭제 (팀 소개서 대상) + public void deleteRequestTeamMatching(final Long teamMatchingId) { final TeamMatching teamMatching = getTeamMatching(teamMatchingId); - teamMatching.updateReceiverDeleteStatusType(true); + teamMatching.updateRequestSenderDeleteStatusType(true); + } + + // 성사된 매칭에서 내 이력서 대상 매칭을 삭제하는 경우 + public void deleteSuccessPrivateMatching(final Long memberId, final Long privateMatchingId) { + final PrivateMatching privateMatching = getPrivateMatching(privateMatchingId); + if (Objects.equals(privateMatching.getMember().getId(), memberId)) { +// 발신자 쪽에서 매칭 삭제 + privateMatching.updateSuccessSenderDeleteStatusType(true); + } else { +// 수신자 쪽에서 매칭 삭제 + privateMatching.updateSuccessReceiverDeleteStatusType(true); + } + } + + // 성사된 매칭에서 팀 소개서 대상 매칭을 삭제하는 경우 + public void deleteSuccessTeamMatching(final Long memberId, final Long teamMatchingId) { + final TeamMatching teamMatching = getTeamMatching(teamMatchingId); + if (Objects.equals(teamMatching.getMember().getId(), memberId)) { + // 발신자 쪽에서 매칭 삭제 + teamMatching.updateSuccessSenderDeleteStatusType(true); + } else { + // 수신자 쪽에서 매칭 삭제 + teamMatching.updateSuccessReceiverDeleteStatusType(true); + } } } diff --git a/src/main/resources/db/migration/V1.1.2__Add_column_delete_matching_status.sql b/src/main/resources/db/migration/V1.1.2__Add_column_delete_matching_status.sql new file mode 100644 index 00000000..b64bb775 --- /dev/null +++ b/src/main/resources/db/migration/V1.1.2__Add_column_delete_matching_status.sql @@ -0,0 +1,23 @@ +ALTER TABLE private_matching +RENAME COLUMN receiver_delete_status_type TO success_receiver_delete_status_type; + +ALTER TABLE private_matching +MODIFY COLUMN success_receiver_delete_status_type ENUM('DELETED', 'REMAINED') NOT NULL DEFAULT 'REMAINED'; + +ALTER TABLE private_matching +ADD COLUMN success_sender_delete_status_type ENUM('DELETED', 'REMAINED') NOT NULL DEFAULT 'REMAINED'; + +ALTER TABLE private_matching +ADD COLUMN request_sender_delete_status_type ENUM('DELETED', 'REMAINED') NOT NULL DEFAULT 'REMAINED'; + +ALTER TABLE team_matching +RENAME COLUMN receiver_delete_status_type TO success_receiver_delete_status_type; + +ALTER TABLE team_matching +MODIFY COLUMN success_receiver_delete_status_type ENUM('DELETED', 'REMAINED') NOT NULL DEFAULT 'REMAINED'; + +ALTER TABLE team_matching +ADD COLUMN success_sender_delete_status_type ENUM('DELETED', 'REMAINED') NOT NULL DEFAULT 'REMAINED'; + +ALTER TABLE team_matching +ADD COLUMN request_sender_delete_status_type ENUM('DELETED', 'REMAINED') NOT NULL DEFAULT 'REMAINED'; diff --git a/src/test/java/liaison/linkit/matching/presentation/MatchingControllerTest.java b/src/test/java/liaison/linkit/matching/presentation/MatchingControllerTest.java index caa2ea8c..113dd863 100644 --- a/src/test/java/liaison/linkit/matching/presentation/MatchingControllerTest.java +++ b/src/test/java/liaison/linkit/matching/presentation/MatchingControllerTest.java @@ -279,22 +279,43 @@ private ResultActions performPostAcceptReceiveTeamMatching( ); } - private ResultActions performDeletePrivateMatching( + private ResultActions performRequestDeletePrivateMatching( final int privateMatchingId ) throws Exception { return mockMvc.perform( - RestDocumentationRequestBuilders.delete("/delete/private/matching/{privateMatchingId}", privateMatchingId) + RestDocumentationRequestBuilders.delete("/delete/request/private/matching/{privateMatchingId}", privateMatchingId) .header(AUTHORIZATION, MEMBER_TOKENS.getAccessToken()) .cookie(COOKIE) .contentType(APPLICATION_JSON) ); } - private ResultActions performDeleteTeamMatching( + private ResultActions performRequestDeleteTeamMatching( final int teamMatchingId ) throws Exception { return mockMvc.perform( - RestDocumentationRequestBuilders.delete("/delete/team/matching/{teamMatchingId}", teamMatchingId) + RestDocumentationRequestBuilders.delete("/delete/request/team/matching/{teamMatchingId}", teamMatchingId) + .header(AUTHORIZATION, MEMBER_TOKENS.getAccessToken()) + .cookie(COOKIE) + ); + } + + private ResultActions performSuccessDeletePrivateMatching( + final int privateMatchingId + ) throws Exception { + return mockMvc.perform( + RestDocumentationRequestBuilders.delete("/delete/success/private/matching/{privateMatchingId}", privateMatchingId) + .header(AUTHORIZATION, MEMBER_TOKENS.getAccessToken()) + .cookie(COOKIE) + .contentType(APPLICATION_JSON) + ); + } + + private ResultActions performSuccessDeleteTeamMatching( + final int teamMatchingId + ) throws Exception { + return mockMvc.perform( + RestDocumentationRequestBuilders.delete("/delete/success/team/matching/{teamMatchingId}", teamMatchingId) .header(AUTHORIZATION, MEMBER_TOKENS.getAccessToken()) .cookie(COOKIE) ); @@ -1070,13 +1091,13 @@ void acceptReceiveTeamMatching() throws Exception { )); } - @DisplayName("matchingType -> PROFILE - 내 이력서 대상 매칭 삭제하기") + @DisplayName("matchingType -> PROFILE - 내가 보낸 매칭에서 내 이력서 대상 매칭 삭제하기") @Test void deleteRequestPrivateMatching() throws Exception { // given // when - final ResultActions resultActions = performDeletePrivateMatching(1); + final ResultActions resultActions = performRequestDeletePrivateMatching(1); // then resultActions.andExpect(status().isNoContent()) .andDo( @@ -1089,13 +1110,51 @@ void deleteRequestPrivateMatching() throws Exception { ); } - @DisplayName("matchingType -> TEAM_PROFILE - 팀 소개서 대상 매칭 삭제하기") + @DisplayName("matchingType -> TEAM_PROFILE - 내가 보낸 매칭에서 팀 소개서 대상 매칭 삭제하기") @Test void deleteRequestTeamMatching() throws Exception { // given // when - final ResultActions resultActions = performDeleteTeamMatching(1); + final ResultActions resultActions = performRequestDeleteTeamMatching(1); + // then + resultActions.andExpect(status().isNoContent()) + .andDo( + restDocs.document( + pathParameters( + parameterWithName("teamMatchingId") + .description("팀 소개서 ID") + ) + ) + ); + } + + @DisplayName("matchingType -> PROFILE - 성사된 매칭에서 내 이력서 대상 매칭 삭제하기") + @Test + void deleteSuccessPrivateMatching() throws Exception { + // given + + // when + final ResultActions resultActions = performSuccessDeletePrivateMatching(1); + // then + resultActions.andExpect(status().isNoContent()) + .andDo( + restDocs.document( + pathParameters( + parameterWithName("privateMatchingId") + .description("내 이력서 ID") + ) + ) + ); + } + + @DisplayName("matchingType -> TEAM_PROFILE - 성사된 매칭에서 팀 소개서 대상 매칭 삭제하기") + @Test + void deleteSuccessTeamMatching() throws Exception { + // given + + // when + final ResultActions resultActions = performSuccessDeleteTeamMatching(1); // then resultActions.andExpect(status().isNoContent()) .andDo(