openapi: 3.0.0
paths:
  /api/v1/auth/signup:
    post:
      operationId: AuthController_signup
      summary: 사용자 등록
      description: 사용자 계정 정보를 등록한다. email은 중복될 수 없음에 유의
      parameters: []
      requestBody:
        required: true
        description: 계정 생성 필요 정보
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateAuthDto'
      responses:
        '200':
          description: token 반환
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthEntity'
        '400':
          description: 입력형식 오류
        '403':
          description: 등록된 Email
      tags:
        - auth(authorization) - 인증
  /api/v1/auth/signin:
    post:
      operationId: AuthController_signin
      summary: 사용자 로그인
      description: >-
        사용자 로그인 처리 / 타 기기에서 로그인 한 경우 이전기기는 refresh token 이 변경되므로 access token
        만료시점 로그아웃 처리된다.
      parameters: []
      requestBody:
        required: true
        description: 로그인 정보
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LoginUserDto'
      responses:
        '201':
          description: token 반환
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthEntity'
        '400':
          description: 입력형식 오류
        '404':
          description: 미등록 이메일
      tags:
        - auth(authorization) - 인증
  /api/v1/auth/refresh:
    post:
      operationId: AuthController_refresh
      summary: 토큰 재발급
      description: refresh token 으로 access token 재발급
      parameters: []
      requestBody:
        required: true
        description: 토큰 갱신 요청 정보
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RefreshTokenDto'
      responses:
        '201':
          description: token 반환
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthEntity'
        '400':
          description: 입력형식 오류
        '403':
          description: refresh token 만료/불일치
      tags:
        - auth(authorization) - 인증
  /api/v1/company:
    post:
      operationId: CompanyController_create
      summary: 회사정보 생성
      description: 회사 정보를 등록한다. 회사번호는 중복될 수 없음에 유의한다
      parameters: []
      requestBody:
        required: true
        description: 회사 등록 요청 정보
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCompanyDto'
      responses:
        '201':
          description: 회사 정보 반환
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompanyEntity'
        '403':
          description: 기등록 된 동일한 회사 번호(companyNo) 가 존재
      tags:
        - company - 회사
    get:
      operationId: CompanyController_find
      summary: 회사정보 조회
      description: 회사 목록 정보를 조회한다 (1페이지 당 기본 10개를 조회한다)
      parameters:
        - name: page
          required: false
          in: path
          description: 'page : 페이지 번호 (기본 : 1)'
          schema:
            type: string
        - name: id
          required: false
          in: query
          description: 아이디
          example: db1868ab-8d0e-46c6-97bb-176d3d272073
          schema:
            type: string
        - name: createdAt
          required: false
          in: query
          description: 생성일자
          example: '2021-10-01T00:00:00.000Z'
          schema:
            format: date-time
            type: string
        - name: updatedAt
          required: false
          in: query
          description: 수정일자
          example: '2021-10-01T00:00:00.000Z'
          schema:
            format: date-time
            type: string
        - name: companyNo
          required: false
          in: query
          description: 회사번호 (맵핑용)
          example: A1234
          schema:
            uniqueItems: true
            type: string
        - name: companyName
          required: false
          in: query
          description: 회사명
          example: SOLUM
          schema:
            type: string
        - name: companyDescription
          required: false
          in: query
          description: 회사설명
          example: 솔루엠 입니다.
          schema:
            type: string
        - name: companyImage
          required: false
          in: query
          description: 회사로고 이미지(base64)
          example: >-
            data:image/jpeg;base64,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34
          schema:
            type: string
        - name: companyTel
          required: false
          in: query
          description: 회사 전화번호
          example: 02-1234-5678
          schema:
            type: string
        - name: isActive
          required: false
          in: query
          description: 활성화 여부
          example: true
          schema:
            default: true
            type: boolean
      responses:
        '200':
          description: 회사 목록 정보
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/PaginatedResultEntity'
                  - properties:
                      data:
                        type: array
                        items:
                          $ref: '#/components/schemas/CompanyEntity'
      tags:
        - company - 회사
  /api/v1/company/{page}:
    get:
      operationId: CompanyController_find
      summary: 회사정보 조회
      description: 회사 목록 정보를 조회한다 (1페이지 당 기본 10개를 조회한다)
      parameters:
        - name: page
          required: false
          in: path
          description: 'page : 페이지 번호 (기본 : 1)'
          schema:
            type: string
        - name: id
          required: false
          in: query
          description: 아이디
          example: db1868ab-8d0e-46c6-97bb-176d3d272073
          schema:
            type: string
        - name: createdAt
          required: false
          in: query
          description: 생성일자
          example: '2021-10-01T00:00:00.000Z'
          schema:
            format: date-time
            type: string
        - name: updatedAt
          required: false
          in: query
          description: 수정일자
          example: '2021-10-01T00:00:00.000Z'
          schema:
            format: date-time
            type: string
        - name: companyNo
          required: false
          in: query
          description: 회사번호 (맵핑용)
          example: A1234
          schema:
            uniqueItems: true
            type: string
        - name: companyName
          required: false
          in: query
          description: 회사명
          example: SOLUM
          schema:
            type: string
        - name: companyDescription
          required: false
          in: query
          description: 회사설명
          example: 솔루엠 입니다.
          schema:
            type: string
        - name: companyImage
          required: false
          in: query
          description: 회사로고 이미지(base64)
          example: >-
            data:image/jpeg;base64,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34
          schema:
            type: string
        - name: companyTel
          required: false
          in: query
          description: 회사 전화번호
          example: 02-1234-5678
          schema:
            type: string
        - name: isActive
          required: false
          in: query
          description: 활성화 여부
          example: true
          schema:
            default: true
            type: boolean
      responses:
        '200':
          description: 회사 목록 정보
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/PaginatedResultEntity'
                  - properties:
                      data:
                        type: array
                        items:
                          $ref: '#/components/schemas/CompanyEntity'
      tags:
        - company - 회사
  /api/v1/company/{id}:
    put:
      operationId: CompanyController_update
      summary: 회사정보 수정
      description: id 기준 회사정보 수정처리
      parameters:
        - name: id
          required: true
          in: path
          description: 회사 아이디
          schema:
            type: string
      requestBody:
        required: true
        description: 수정할 회사 정보 속성 기입
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CompanyEntity'
      responses:
        '200':
          description: 회사 정보
      tags:
        - company - 회사
  /api/v1/profile/{page}:
    get:
      operationId: ProfileController_find
      summary: 프로필  정보 조회
      description: 프로필 목록 정보를 조회한다 (1페이지 당 기본 10개를 조회한다)
      parameters:
        - name: page
          required: false
          in: path
          description: 'page : 페이지 번호 (기본 : 1)'
          schema:
            type: string
        - name: id
          required: false
          in: query
          description: 아이디
          example: db1868ab-8d0e-46c6-97bb-176d3d272073
          schema:
            type: string
        - name: createdAt
          required: false
          in: query
          description: 생성일자
          example: '2021-10-01T00:00:00.000Z'
          schema:
            format: date-time
            type: string
        - name: updatedAt
          required: false
          in: query
          description: 수정일자
          example: '2021-10-01T00:00:00.000Z'
          schema:
            format: date-time
            type: string
        - name: userId
          required: false
          in: query
          description: 사용자 아이디
          example: f78c5882-706a-408b-94de-cea5abcbe425
          schema:
            uniqueItems: true
            type: string
        - name: companyId
          required: false
          in: query
          description: 회사 아이디
          example: f78c5882-706a-408b-94de-cea5abcbe425
          schema:
            uniqueItems: true
            type: string
        - name: teamId
          required: false
          in: query
          description: 팀 아이디
          example: f78c5882-706a-408b-94de-cea5abcbe425
          schema:
            uniqueItems: true
            type: string
        - name: userNo
          required: false
          in: query
          description: 사용자 번호
          example: USER-0001
          schema:
            uniqueItems: true
            type: string
        - name: userName
          required: false
          in: query
          description: 사용자명
          example: 원사마
          schema:
            type: string
        - name: userDescription
          required: false
          in: query
          description: 사용자 설명
          example: 원사마 입니다.
          schema:
            type: string
        - name: userImage
          required: false
          in: query
          description: 사용자 이미지
          example: >-
            data:image/jpeg;base64,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
          schema:
            type: string
        - name: userTel
          required: false
          in: query
          description: 사용자 전화번호
          example: 010-0000-0000
          schema:
            type: string
        - name: isActive
          required: false
          in: query
          description: 활성화 여부
          example: true
          schema:
            default: true
            type: boolean
      responses:
        '200':
          description: 프로필 목록 정보
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/PaginatedResultEntity'
                  - properties:
                      data:
                        type: array
                        items:
                          $ref: '#/components/schemas/ProfileEntity'
      tags:
        - profile - 프로필
  /api/v1/profile:
    get:
      operationId: ProfileController_find
      summary: 프로필  정보 조회
      description: 프로필 목록 정보를 조회한다 (1페이지 당 기본 10개를 조회한다)
      parameters:
        - name: page
          required: false
          in: path
          description: 'page : 페이지 번호 (기본 : 1)'
          schema:
            type: string
        - name: id
          required: false
          in: query
          description: 아이디
          example: db1868ab-8d0e-46c6-97bb-176d3d272073
          schema:
            type: string
        - name: createdAt
          required: false
          in: query
          description: 생성일자
          example: '2021-10-01T00:00:00.000Z'
          schema:
            format: date-time
            type: string
        - name: updatedAt
          required: false
          in: query
          description: 수정일자
          example: '2021-10-01T00:00:00.000Z'
          schema:
            format: date-time
            type: string
        - name: userId
          required: false
          in: query
          description: 사용자 아이디
          example: f78c5882-706a-408b-94de-cea5abcbe425
          schema:
            uniqueItems: true
            type: string
        - name: companyId
          required: false
          in: query
          description: 회사 아이디
          example: f78c5882-706a-408b-94de-cea5abcbe425
          schema:
            uniqueItems: true
            type: string
        - name: teamId
          required: false
          in: query
          description: 팀 아이디
          example: f78c5882-706a-408b-94de-cea5abcbe425
          schema:
            uniqueItems: true
            type: string
        - name: userNo
          required: false
          in: query
          description: 사용자 번호
          example: USER-0001
          schema:
            uniqueItems: true
            type: string
        - name: userName
          required: false
          in: query
          description: 사용자명
          example: 원사마
          schema:
            type: string
        - name: userDescription
          required: false
          in: query
          description: 사용자 설명
          example: 원사마 입니다.
          schema:
            type: string
        - name: userImage
          required: false
          in: query
          description: 사용자 이미지
          example: >-
            data:image/jpeg;base64,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
          schema:
            type: string
        - name: userTel
          required: false
          in: query
          description: 사용자 전화번호
          example: 010-0000-0000
          schema:
            type: string
        - name: isActive
          required: false
          in: query
          description: 활성화 여부
          example: true
          schema:
            default: true
            type: boolean
      responses:
        '200':
          description: 프로필 목록 정보
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/PaginatedResultEntity'
                  - properties:
                      data:
                        type: array
                        items:
                          $ref: '#/components/schemas/ProfileEntity'
      tags:
        - profile - 프로필
  /api/v1/profile/{id}:
    put:
      operationId: ProfileController_update
      summary: 프로필 정보 수정
      description: id 기준 프로필 정보 수정처리
      parameters:
        - name: id
          required: true
          in: path
          description: 프로필 아이디
          schema:
            type: string
      requestBody:
        required: true
        description: 수정할 프로필 정보 속성 기입
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateProfileDto'
      responses:
        '200':
          description: 프로필 정보
      tags:
        - profile - 프로필
  /api/v1/profile/image/{email}:
    put:
      operationId: ProfileController_imageUpload
      summary: 프로필 이미지 수정
      description: email 기준 프로필 이미지 수정처리
      parameters:
        - name: email
          required: true
          in: path
          description: 프로필 이메일
          schema:
            type: string
      requestBody:
        required: true
        description: 수정할 프로필 이미지 파일 (필드명 image)
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                image:
                  type: file
                  format: binary
      responses:
        '200':
          description: |-
            OK

            - 프로필 정보
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProfileEntity'
        '400':
          description: |-
            BadRequest

            - 지원하지 않는 파일 타입

            - 첨부 필드명(image) 확인
        '413':
          description: |-
            PayloadTooLarge

            - 첨부 파일 사이즈 초과 확인
      tags:
        - profile - 프로필
    get:
      operationId: ProfileController_imageDownload
      summary: 프로필 이미지 다운로드
      description: email 기준 프로필 이미지 정보를 가져온다
      parameters:
        - name: email
          required: true
          in: path
          description: 프로필 이메일
          schema:
            type: string
      responses:
        '200':
          description: |-
            OK

            - 프로필 이미지 파일
        '404':
          description: email not found exception
      tags:
        - profile - 프로필
  /api/v1/file/image:
    post:
      operationId: FileController_image
      summary: 이미지 단건 업로드
      description: |-
        개별 이미지를 업로드 할 수 있다.

        - field name 은 image 이어야 한다

        - mineType 은 image/* 만 허용한다
      parameters: []
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                image:
                  type: file
                  format: binary
      responses:
        '200':
          description: |-
            OK

            - 파일 업로드 결과
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateUploadDto'
        '400':
          description: |-
            BadRequest

            - 지원하지 않는 파일 타입

            - 첨부 필드명(image) 확인
        '413':
          description: |-
            PayloadTooLarge

            - 첨부 파일 사이즈 초과 확인
      tags:
        - file - 파일
  /api/v1/file:
    post:
      operationId: FileController_file
      summary: 파일 단건 업로드
      description: |-
        개별 파일을 업로드 할 수 있다.

        - field name 은 file 이어야 한다
      parameters: []
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                file:
                  type: file
                  format: binary
      responses:
        '200':
          description: |-
            OK

            - 파일 업로드 결과
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateUploadDto'
        '400':
          description: |-
            BadRequest

            - 지원하지 않는 파일 타입

            - 첨부 필드명(image) 확인
        '413':
          description: |-
            PayloadTooLarge

            - 첨부 파일 사이즈 초과 확인
      tags:
        - file - 파일
  /api/v1/files:
    post:
      operationId: FileController_files
      summary: 파일 다건 업로드
      description: |-
        다건의 파일을 업로드 할 수 있다.

        - field name 은 files 이어야 한다
      parameters: []
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                files:
                  type: array
                  items:
                    type: file
                    format: binary
      responses:
        '200':
          description: |-
            OK

            - 파일 업로드 결과
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateUploadDto'
        '400':
          description: |-
            BadRequest

            - 지원하지 않는 파일 타입

            - 첨부 필드명(image) 확인
        '413':
          description: |-
            PayloadTooLarge

            - 첨부 파일 사이즈 초과 확인
      tags:
        - file - 파일
  /api/v1/file/{id}:
    get:
      operationId: FileController_getFile
      summary: 파일 단건 다운로드
      description: |-
        단건의 파일을 다운로드한다.

        - 유효하지 않은 email (이메일) 입력 시 오류 발생
      parameters:
        - name: id
          required: true
          in: path
          schema:
            type: string
      responses:
        '200':
          description: ''
      tags:
        - file - 파일
  /api/v1/files/{id}:
    get:
      operationId: FileController_getFiles
      summary: 파일 다건 다운로드
      description: |-
        다건의 파일을 다운로드한다.

        - 유효하지 않은 id (파일그룹) 입력 시 오류 발생
      parameters:
        - name: id
          required: true
          in: path
          schema:
            type: string
      responses:
        '200':
          description: ''
      tags:
        - file - 파일
  /api/v1/project:
    post:
      operationId: ProjectController_create
      summary: 프로젝트 정보 생성
      description: 프로젝트 정보를 등록한다. 프로젝트 번호는 중복될 수 없음에 유의한다
      parameters: []
      requestBody:
        required: true
        description: 팀 등록 요청 정보
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateProjectDto'
      responses:
        '201':
          description: 팀 정보 반환
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectEntity'
        '403':
          description: 기등록 된 동일한 프로젝트 번호(ProjectNo) 가 존재
      tags:
        - Project - 프로젝트
    get:
      operationId: ProjectController_find
      summary: 프로젝트  정보 조회
      description: 프로젝트 목록 정보를 조회한다 (1페이지 당 기본 10개를 조회한다)
      parameters:
        - name: page
          required: false
          in: path
          description: 'page : 페이지 번호 (기본 : 1)'
          schema:
            type: string
        - name: id
          required: false
          in: query
          description: 아이디
          example: db1868ab-8d0e-46c6-97bb-176d3d272073
          schema:
            type: string
        - name: createdAt
          required: false
          in: query
          description: 생성일자
          example: '2021-10-01T00:00:00.000Z'
          schema:
            format: date-time
            type: string
        - name: updatedAt
          required: false
          in: query
          description: 수정일자
          example: '2021-10-01T00:00:00.000Z'
          schema:
            format: date-time
            type: string
        - name: companyId
          required: false
          in: query
          description: 회사 아이디
          example: f78c5882-706a-408b-94de-cea5abcbe425
          schema:
            uniqueItems: true
            type: string
        - name: projectNo
          required: false
          in: query
          description: 프로젝트 번호
          example: project-0001
          schema:
            uniqueItems: true
            type: string
        - name: projectName
          required: false
          in: query
          description: 프로젝트 이름
          example: project-NAME
          schema:
            type: string
        - name: projectDescription
          required: false
          in: query
          description: 프로젝트 설명
          example: 프로젝트 설명 입니다
          schema:
            type: string
        - name: projectImage
          required: false
          in: query
          description: 프로젝트 이미지
          example: >-
            data:image/jpeg;base64,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
          schema:
            type: string
        - name: projectTel
          required: false
          in: query
          description: 프로젝트 전화번호
          example: 010-000-0000
          schema:
            type: string
        - name: isActive
          required: false
          in: query
          description: 활성화 여부
          example: true
          schema:
            default: true
            type: boolean
      responses:
        '200':
          description: 프로젝트 목록 정보
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/PaginatedResultEntity'
                  - properties:
                      data:
                        type: array
                        items:
                          $ref: '#/components/schemas/ProjectEntity'
      tags:
        - Project - 프로젝트
  /api/v1/project/{page}:
    get:
      operationId: ProjectController_find
      summary: 프로젝트  정보 조회
      description: 프로젝트 목록 정보를 조회한다 (1페이지 당 기본 10개를 조회한다)
      parameters:
        - name: page
          required: false
          in: path
          description: 'page : 페이지 번호 (기본 : 1)'
          schema:
            type: string
        - name: id
          required: false
          in: query
          description: 아이디
          example: db1868ab-8d0e-46c6-97bb-176d3d272073
          schema:
            type: string
        - name: createdAt
          required: false
          in: query
          description: 생성일자
          example: '2021-10-01T00:00:00.000Z'
          schema:
            format: date-time
            type: string
        - name: updatedAt
          required: false
          in: query
          description: 수정일자
          example: '2021-10-01T00:00:00.000Z'
          schema:
            format: date-time
            type: string
        - name: companyId
          required: false
          in: query
          description: 회사 아이디
          example: f78c5882-706a-408b-94de-cea5abcbe425
          schema:
            uniqueItems: true
            type: string
        - name: projectNo
          required: false
          in: query
          description: 프로젝트 번호
          example: project-0001
          schema:
            uniqueItems: true
            type: string
        - name: projectName
          required: false
          in: query
          description: 프로젝트 이름
          example: project-NAME
          schema:
            type: string
        - name: projectDescription
          required: false
          in: query
          description: 프로젝트 설명
          example: 프로젝트 설명 입니다
          schema:
            type: string
        - name: projectImage
          required: false
          in: query
          description: 프로젝트 이미지
          example: >-
            data:image/jpeg;base64,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
          schema:
            type: string
        - name: projectTel
          required: false
          in: query
          description: 프로젝트 전화번호
          example: 010-000-0000
          schema:
            type: string
        - name: isActive
          required: false
          in: query
          description: 활성화 여부
          example: true
          schema:
            default: true
            type: boolean
      responses:
        '200':
          description: 프로젝트 목록 정보
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/PaginatedResultEntity'
                  - properties:
                      data:
                        type: array
                        items:
                          $ref: '#/components/schemas/ProjectEntity'
      tags:
        - Project - 프로젝트
  /api/v1/project/{id}:
    put:
      operationId: ProjectController_update
      summary: 프로젝트 정보 수정
      description: id 기준 프로젝트 정보 수정처리
      parameters:
        - name: id
          required: true
          in: path
          description: 프로젝트 아이디
          schema:
            type: string
      requestBody:
        required: true
        description: 수정할 프로젝트 정보 속성 기입
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateProjectDto'
      responses:
        '200':
          description: 프로젝트 정보
      tags:
        - Project - 프로젝트
  /api/v1/team:
    post:
      operationId: TeamController_create
      summary: 팀 정보 생성
      description: 팀 정보를 등록한다. 팀 번호는 중복될 수 없음에 유의한다
      parameters: []
      requestBody:
        required: true
        description: 팀 등록 요청 정보
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateTeamDto'
      responses:
        '201':
          description: 팀 정보 반환
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TeamEntity'
        '403':
          description: 기등록 된 동일한 팀 번호(TeamNo) 가 존재
      tags:
        - Team - 팀
    get:
      operationId: TeamController_find
      summary: 팀  정보 조회
      description: 팀 목록 정보를 조회한다 (1페이지 당 기본 10개를 조회한다)
      parameters:
        - name: page
          required: false
          in: path
          description: 'page : 페이지 번호 (기본 : 1)'
          schema:
            type: string
        - name: id
          required: false
          in: query
          description: 아이디
          example: db1868ab-8d0e-46c6-97bb-176d3d272073
          schema:
            type: string
        - name: createdAt
          required: false
          in: query
          description: 생성일자
          example: '2021-10-01T00:00:00.000Z'
          schema:
            format: date-time
            type: string
        - name: updatedAt
          required: false
          in: query
          description: 수정일자
          example: '2021-10-01T00:00:00.000Z'
          schema:
            format: date-time
            type: string
        - name: companyId
          required: false
          in: query
          description: 회사 아이디
          example: f78c5882-706a-408b-94de-cea5abcbe425
          schema:
            uniqueItems: true
            type: string
        - name: teamNo
          required: false
          in: query
          description: 팀 번호
          example: TEAM-0001
          schema:
            uniqueItems: true
            type: string
        - name: teamName
          required: false
          in: query
          description: 팀 이름
          example: TEAM-NAME
          schema:
            type: string
        - name: teamDescription
          required: false
          in: query
          description: 팀 설명
          example: 팀 설명 입니다
          schema:
            type: string
        - name: teamImage
          required: false
          in: query
          description: 팀 이미지
          example: >-
            data:image/jpeg;base64,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
          schema:
            type: string
        - name: teamTel
          required: false
          in: query
          description: 팀 전화번호
          example: 010-000-0000
          schema:
            type: string
        - name: isActive
          required: false
          in: query
          description: 활성화 여부
          example: true
          schema:
            default: true
            type: boolean
      responses:
        '200':
          description: 팀 목록 정보
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/PaginatedResultEntity'
                  - properties:
                      data:
                        type: array
                        items:
                          $ref: '#/components/schemas/TeamEntity'
      tags:
        - Team - 팀
  /api/v1/team/{page}:
    get:
      operationId: TeamController_find
      summary: 팀  정보 조회
      description: 팀 목록 정보를 조회한다 (1페이지 당 기본 10개를 조회한다)
      parameters:
        - name: page
          required: false
          in: path
          description: 'page : 페이지 번호 (기본 : 1)'
          schema:
            type: string
        - name: id
          required: false
          in: query
          description: 아이디
          example: db1868ab-8d0e-46c6-97bb-176d3d272073
          schema:
            type: string
        - name: createdAt
          required: false
          in: query
          description: 생성일자
          example: '2021-10-01T00:00:00.000Z'
          schema:
            format: date-time
            type: string
        - name: updatedAt
          required: false
          in: query
          description: 수정일자
          example: '2021-10-01T00:00:00.000Z'
          schema:
            format: date-time
            type: string
        - name: companyId
          required: false
          in: query
          description: 회사 아이디
          example: f78c5882-706a-408b-94de-cea5abcbe425
          schema:
            uniqueItems: true
            type: string
        - name: teamNo
          required: false
          in: query
          description: 팀 번호
          example: TEAM-0001
          schema:
            uniqueItems: true
            type: string
        - name: teamName
          required: false
          in: query
          description: 팀 이름
          example: TEAM-NAME
          schema:
            type: string
        - name: teamDescription
          required: false
          in: query
          description: 팀 설명
          example: 팀 설명 입니다
          schema:
            type: string
        - name: teamImage
          required: false
          in: query
          description: 팀 이미지
          example: >-
            data:image/jpeg;base64,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
          schema:
            type: string
        - name: teamTel
          required: false
          in: query
          description: 팀 전화번호
          example: 010-000-0000
          schema:
            type: string
        - name: isActive
          required: false
          in: query
          description: 활성화 여부
          example: true
          schema:
            default: true
            type: boolean
      responses:
        '200':
          description: 팀 목록 정보
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/PaginatedResultEntity'
                  - properties:
                      data:
                        type: array
                        items:
                          $ref: '#/components/schemas/TeamEntity'
      tags:
        - Team - 팀
  /api/v1/team/{id}:
    put:
      operationId: TeamController_update
      summary: 팀 정보 수정
      description: id 기준 팀 정보 수정처리
      parameters:
        - name: id
          required: true
          in: path
          description: 팀 아이디
          schema:
            type: string
      requestBody:
        required: true
        description: 수정할 팀 정보 속성 기입
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateTeamDto'
      responses:
        '200':
          description: 팀 정보
      tags:
        - Team - 팀
  /api/v1/users/me:
    get:
      operationId: UserController_getMe
      summary: me - 내 정보
      description: 나에 대한 관련 정보를 반환한다
      parameters: []
      responses:
        '200':
          description: 사용자 정보를 반환한다
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserEntity'
        '401':
          description: 인증만료 또는 로그인 필요
      tags:
        - users - 사용자
      security:
        - bearer: []
  /api/v1/users/signout:
    get:
      operationId: UserController_signout
      summary: 사용자 로그아웃
      description: 로그아웃 처리. refresh token을 DB에서 삭제한다.
      parameters: []
      responses:
        '200':
          description: 사용자 정보를 반환한다
        '401':
          description: 인증만료 또는 로그인 필요
      tags:
        - users - 사용자
      security:
        - bearer: []
  /api/v1/users/{id}:
    put:
      operationId: UserController_update
      summary: 사용자 정보 수정 ( ADMIN ROLE 필요 / 관리자용 )
      description: >-
        id 기준 사용자 정보 수정처리 / email 은 기본적으로 생성후 변경불가(부득이한 경우 제외) / 사용자 정보 변경은
        profile 변경을 사용 바랍니다.
      parameters:
        - name: id
          required: true
          in: path
          description: 사용자 아이디
          schema:
            type: string
      requestBody:
        required: true
        description: 수정할 사용자 속성 기입
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateUserDto'
      responses:
        '200':
          description: 사용자 정보
      tags:
        - users - 사용자
      security:
        - bearer: []
  /api/v1/users/{page}:
    get:
      operationId: UserController_find
      summary: 사용자  정보 조회
      description: 사용자 목록 정보를 조회한다 (1페이지 당 기본 10개를 조회한다)
      parameters:
        - name: page
          required: false
          in: path
          description: 'page : 페이지 번호 (기본 : 1)'
          schema:
            type: string
        - name: id
          required: false
          in: query
          description: 아이디
          example: db1868ab-8d0e-46c6-97bb-176d3d272073
          schema:
            type: string
        - name: createdAt
          required: false
          in: query
          description: 생성일자
          example: '2021-10-01T00:00:00.000Z'
          schema:
            format: date-time
            type: string
        - name: updatedAt
          required: false
          in: query
          description: 수정일자
          example: '2021-10-01T00:00:00.000Z'
          schema:
            format: date-time
            type: string
        - name: email
          required: false
          in: query
          description: 이메일
          example: user@domain.com
          schema:
            type: string
        - name: hash
          required: false
          in: query
          description: 암호화 된 사용자 암호
          example: >-
            $argon2id$v=19$m=65536,t=3,p=4$3Kbz3qLF065SgLr62LYTvg$M/jd2yhPv2aGVbmYKG+x0/Z/2YlfsUEhq0icbkijQE8
          schema:
            type: string
        - name: roles
          required: false
          in: query
          description: 사용자 권한
          example:
            - USER
          schema:
            default:
              - USER
            type: array
            items:
              type: string
              enum:
                - GUEST
                - USER
                - ADMIN
        - name: refreshToken
          required: false
          in: query
          description: 리프레시 토큰
          example: >-
            eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI3YmRiNzJlOS03NGMxLTQ5YjAtODcyMS1jZWIxNzAyNGY4ZDYiLCJlbWFpbCI6InRlc3RAdGVzdC5jb20iLCJpYXQiOjE3MDAxMTE3NTAsImV4cCI6MTcwMDExMzU1MH0.Oo-is-r_Av6XZOK1MlTJbUBkMu3OvOpotEWR91yQXMQ
          schema:
            type: string
      responses:
        '200':
          description: 사용자 목록 정보
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/PaginatedResultEntity'
                  - properties:
                      data:
                        type: array
                        items:
                          $ref: '#/components/schemas/UserEntity'
      tags:
        - users - 사용자
  /api/v1/users:
    get:
      operationId: UserController_find
      summary: 사용자  정보 조회
      description: 사용자 목록 정보를 조회한다 (1페이지 당 기본 10개를 조회한다)
      parameters:
        - name: page
          required: false
          in: path
          description: 'page : 페이지 번호 (기본 : 1)'
          schema:
            type: string
        - name: id
          required: false
          in: query
          description: 아이디
          example: db1868ab-8d0e-46c6-97bb-176d3d272073
          schema:
            type: string
        - name: createdAt
          required: false
          in: query
          description: 생성일자
          example: '2021-10-01T00:00:00.000Z'
          schema:
            format: date-time
            type: string
        - name: updatedAt
          required: false
          in: query
          description: 수정일자
          example: '2021-10-01T00:00:00.000Z'
          schema:
            format: date-time
            type: string
        - name: email
          required: false
          in: query
          description: 이메일
          example: user@domain.com
          schema:
            type: string
        - name: hash
          required: false
          in: query
          description: 암호화 된 사용자 암호
          example: >-
            $argon2id$v=19$m=65536,t=3,p=4$3Kbz3qLF065SgLr62LYTvg$M/jd2yhPv2aGVbmYKG+x0/Z/2YlfsUEhq0icbkijQE8
          schema:
            type: string
        - name: roles
          required: false
          in: query
          description: 사용자 권한
          example:
            - USER
          schema:
            default:
              - USER
            type: array
            items:
              type: string
              enum:
                - GUEST
                - USER
                - ADMIN
        - name: refreshToken
          required: false
          in: query
          description: 리프레시 토큰
          example: >-
            eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI3YmRiNzJlOS03NGMxLTQ5YjAtODcyMS1jZWIxNzAyNGY4ZDYiLCJlbWFpbCI6InRlc3RAdGVzdC5jb20iLCJpYXQiOjE3MDAxMTE3NTAsImV4cCI6MTcwMDExMzU1MH0.Oo-is-r_Av6XZOK1MlTJbUBkMu3OvOpotEWR91yQXMQ
          schema:
            type: string
      responses:
        '200':
          description: 사용자 목록 정보
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/PaginatedResultEntity'
                  - properties:
                      data:
                        type: array
                        items:
                          $ref: '#/components/schemas/UserEntity'
      tags:
        - users - 사용자
info:
  title: ixp-common-api docs
  description: >-
    <p>ixp-common-api 는 사용자 인증(등록/로그인), 공통코드, 다국어처리 등을 다양한 공용 기능을 제공하는 API
    입니다.</p>

    <h3>인증 메소드 사용하기</h3>

    <ul>

    <li>좌물쇠 마크가 있는 항목은 사용자 인증이 필요합니다.</li>

    <li>사용자 인증 정보는 사용자 등록/로그인 후 얻을 수 있습니다.( access_token )</li>

    <li>Header 내 Authorization 에 영역에 획득한 access_token 정보를 설정 후 API를 호출
    바랍니다.</li>

    </ul>

    <h3>RBAC ( role based access control )</h3>

    <ul>

    <li>GUEST => 계정 생성</li>

    <li>ADMIN => 계정 생성 목록 확인 후 USER 권한 추가</li>

    <li>USER는 내 정보 변경(Profile)만 가능</li>

    <li>ADMIN은 COMPANY, TEAM, PROJECT 등 생성 수정 가능</li>

    <li>현재, 개발 편의를 위해 인증(로그인)을 제외한 나머지는 ROLE 부분이 생략 되어 있음</li>

    </ul>

    <h3>API 요약</h3>

    <ul>

    <li>auth (authorization) - 인증</li>

    <li>users - 사용자</li>

    <li>company - 회사</li>

    <li>team - 팀</li>

    <li>project - 프로젝트</li>

    <li>profile - 프로필</li>

    </ul>
  version: 1.0.0
  contact: {}
tags: []
servers: []
components:
  securitySchemes:
    bearer:
      scheme: bearer
      bearerFormat: JWT
      type: http
  schemas:
    CreateAuthDto:
      type: object
      properties:
        email:
          type: string
          description: 이메일
          example: user@domain.com
        roles:
          type: array
          description: 사용자 권한
          example:
            - USER
          default:
            - USER
          items:
            type: string
            enum:
              - GUEST
              - USER
              - ADMIN
        companyId:
          type: string
          description: 회사 아이디
          example: f78c5882-706a-408b-94de-cea5abcbe425
          uniqueItems: true
        teamId:
          type: string
          description: 팀 아이디
          example: f78c5882-706a-408b-94de-cea5abcbe425
          uniqueItems: true
        userNo:
          type: string
          description: 사용자 번호
          example: USER-0001
          uniqueItems: true
        userName:
          type: string
          description: 사용자명
          example: 원사마
        userDescription:
          type: string
          description: 사용자 설명
          example: 원사마 입니다.
        userImage:
          type: string
          description: 사용자 이미지
          example: >-
            data:image/jpeg;base64,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
        userTel:
          type: string
          description: 사용자 전화번호
          example: 010-0000-0000
        password:
          type: string
          description: 비밀번호
          example: p@ssw0rd1234
      required:
        - password
    AuthEntity:
      type: object
      properties:
        accessToken:
          type: string
          description: 접속 토큰
          example: >-
            eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOjEsImVtYWlsIjoidGVzdEB0ZXN0LmNvbSIsImlhdCI6MTY5ODkzNDI1MSwiZXhwIjoxNjk4OTM1MTUxfQ.PoNdc-lgS8EmlXTSIvi-4VZYmRioq5kPbOj1c_6Izf0
        refreshToken:
          type: string
          description: 인증 토큰
          example: >-
            eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOjEsImVtYWlsIjoidGVzdEB0ZXN0LmNvbSIsImlhdCI6MTY5ODkzNDI1MSwiZXhwIjoxNjk4OTM1MTUxfQ.PoNdc-lgS8EmlXTSIvi-4VZYmRioq5kPbOj1c_6Izf0
      required:
        - accessToken
        - refreshToken
    LoginUserDto:
      type: object
      properties:
        email:
          type: string
          description: 이메일
          example: test@test.com
        password:
          type: string
          description: 비밀번호
          example: p@ssw0rd
      required:
        - email
        - password
    RefreshTokenDto:
      type: object
      properties:
        userId:
          type: string
          description: 사용자 아이디
          example: 44afe36b-3b1d-4b48-a511-8c6fb94a77b0
        refreshToken:
          type: string
          description: refresh token
          example: >-
            eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOjEsImVtYWlsIjoidGVzdEB0ZXN0LmNvbSIsImlhdCI6MTY5ODkzNDI1MSwiZXhwIjoxNjk4OTM1MTUxfQ.PoNdc-lgS8EmlXTSIvi-4VZYmRioq5kPbOj1c_6Izf0
      required:
        - userId
        - refreshToken
    CreateCompanyDto:
      type: object
      properties:
        id:
          type: string
          description: 아이디
          example: db1868ab-8d0e-46c6-97bb-176d3d272073
        createdAt:
          format: date-time
          type: string
          description: 생성일자
          example: '2021-10-01T00:00:00.000Z'
        updatedAt:
          format: date-time
          type: string
          description: 수정일자
          example: '2021-10-01T00:00:00.000Z'
        companyNo:
          type: string
          description: 회사번호 (맵핑용)
          example: A1234
          uniqueItems: true
        companyName:
          type: string
          description: 회사명
          example: SOLUM
        companyDescription:
          type: string
          description: 회사설명
          example: 솔루엠 입니다.
        companyImage:
          type: string
          description: 회사로고 이미지(base64)
          example: >-
            data:image/jpeg;base64,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34
        companyTel:
          type: string
          description: 회사 전화번호
          example: 02-1234-5678
        isActive:
          type: boolean
          description: 활성화 여부
          example: true
          default: true
    CompanyEntity:
      type: object
      properties:
        id:
          type: string
          description: 아이디
          example: db1868ab-8d0e-46c6-97bb-176d3d272073
        createdAt:
          format: date-time
          type: string
          description: 생성일자
          example: '2021-10-01T00:00:00.000Z'
        updatedAt:
          format: date-time
          type: string
          description: 수정일자
          example: '2021-10-01T00:00:00.000Z'
        companyNo:
          type: string
          description: 회사번호 (맵핑용)
          example: A1234
          uniqueItems: true
        companyName:
          type: string
          description: 회사명
          example: SOLUM
        companyDescription:
          type: string
          description: 회사설명
          example: 솔루엠 입니다.
        companyImage:
          type: string
          description: 회사로고 이미지(base64)
          example: >-
            data:image/jpeg;base64,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34
        companyTel:
          type: string
          description: 회사 전화번호
          example: 02-1234-5678
        isActive:
          type: boolean
          description: 활성화 여부
          example: true
          default: true
    MetaInfo:
      type: object
      properties:
        total:
          type: number
          description: 총 건수
          example: 34
        lastPage:
          type: number
          description: 마지막 페이지
          example: 4
        currentPage:
          type: number
          description: 현재 페이지
          example: 1
        perPage:
          type: number
          description: '페이지 당 조회 수 (default: 10) 환경변수로 설정 가능'
          example: 10
        prev:
          type: number
          description: 이전 페이지 번호
          example: null
        next:
          type: number
          description: 다음 페이지 번호
          example: 2
      required:
        - total
        - lastPage
        - currentPage
        - perPage
        - prev
        - next
    PaginatedResultEntity:
      type: object
      properties:
        data:
          type: array
          items:
            type: string
        meta:
          $ref: '#/components/schemas/MetaInfo'
      required:
        - data
        - meta
    ProfileEntity:
      type: object
      properties:
        id:
          type: string
          description: 아이디
          example: db1868ab-8d0e-46c6-97bb-176d3d272073
        createdAt:
          format: date-time
          type: string
          description: 생성일자
          example: '2021-10-01T00:00:00.000Z'
        updatedAt:
          format: date-time
          type: string
          description: 수정일자
          example: '2021-10-01T00:00:00.000Z'
        userId:
          type: string
          description: 사용자 아이디
          example: f78c5882-706a-408b-94de-cea5abcbe425
          uniqueItems: true
        companyId:
          type: string
          description: 회사 아이디
          example: f78c5882-706a-408b-94de-cea5abcbe425
          uniqueItems: true
        teamId:
          type: string
          description: 팀 아이디
          example: f78c5882-706a-408b-94de-cea5abcbe425
          uniqueItems: true
        userNo:
          type: string
          description: 사용자 번호
          example: USER-0001
          uniqueItems: true
        userName:
          type: string
          description: 사용자명
          example: 원사마
        userDescription:
          type: string
          description: 사용자 설명
          example: 원사마 입니다.
        userImage:
          type: string
          description: 사용자 이미지
          example: >-
            data:image/jpeg;base64,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
        userTel:
          type: string
          description: 사용자 전화번호
          example: 010-0000-0000
        isActive:
          type: boolean
          description: 활성화 여부
          example: true
          default: true
    UpdateProfileDto:
      type: object
      properties:
        id:
          type: string
          description: 아이디
          example: db1868ab-8d0e-46c6-97bb-176d3d272073
        createdAt:
          format: date-time
          type: string
          description: 생성일자
          example: '2021-10-01T00:00:00.000Z'
        updatedAt:
          format: date-time
          type: string
          description: 수정일자
          example: '2021-10-01T00:00:00.000Z'
        userId:
          type: string
          description: 사용자 아이디
          example: f78c5882-706a-408b-94de-cea5abcbe425
          uniqueItems: true
        companyId:
          type: string
          description: 회사 아이디
          example: f78c5882-706a-408b-94de-cea5abcbe425
          uniqueItems: true
        teamId:
          type: string
          description: 팀 아이디
          example: f78c5882-706a-408b-94de-cea5abcbe425
          uniqueItems: true
        userNo:
          type: string
          description: 사용자 번호
          example: USER-0001
          uniqueItems: true
        userName:
          type: string
          description: 사용자명
          example: 원사마
        userDescription:
          type: string
          description: 사용자 설명
          example: 원사마 입니다.
        userImage:
          type: string
          description: 사용자 이미지
          example: >-
            data:image/jpeg;base64,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
        userTel:
          type: string
          description: 사용자 전화번호
          example: 010-0000-0000
        isActive:
          type: boolean
          description: 활성화 여부
          example: true
          default: true
    CreateUploadDto:
      type: object
      properties:
        id:
          type: string
          description: 아이디
          example: db1868ab-8d0e-46c6-97bb-176d3d272073
        createdAt:
          format: date-time
          type: string
          description: 생성일자
          example: '2021-10-01T00:00:00.000Z'
        updatedAt:
          format: date-time
          type: string
          description: 수정일자
          example: '2021-10-01T00:00:00.000Z'
        filename:
          type: string
          description: 저장된 파일명(고유함)
          example: f78c5882-706a-408b-94de-cea5abcbe425.png
          uniqueItems: true
        originalname:
          type: string
          description: 업로드 파일명
          example: image.png
        mimetype:
          type: string
          description: 파일 타입
          example: image/png
        size:
          type: number
          description: 파일 크기
          example: 2097152
        uploadFileGroupId:
          type: string
          description: 업로드 파일 그룹 아이디
          example: f78c5882-706a-408b-94de-cea5abcbe425
      required:
        - filename
        - originalname
        - mimetype
        - size
    CreateProjectDto:
      type: object
      properties:
        id:
          type: string
          description: 아이디
          example: db1868ab-8d0e-46c6-97bb-176d3d272073
        createdAt:
          format: date-time
          type: string
          description: 생성일자
          example: '2021-10-01T00:00:00.000Z'
        updatedAt:
          format: date-time
          type: string
          description: 수정일자
          example: '2021-10-01T00:00:00.000Z'
        companyId:
          type: string
          description: 회사 아이디
          example: f78c5882-706a-408b-94de-cea5abcbe425
          uniqueItems: true
        projectNo:
          type: string
          description: 프로젝트 번호
          example: project-0001
          uniqueItems: true
        projectName:
          type: string
          description: 프로젝트 이름
          example: project-NAME
        projectDescription:
          type: string
          description: 프로젝트 설명
          example: 프로젝트 설명 입니다
        projectImage:
          type: string
          description: 프로젝트 이미지
          example: >-
            data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD//gA7Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcgSlBFRyB2NjIpLCBxdWFsaXR5ID0gOTAK/9sAQwADAgIDAgIDAwMDBAMDBAUIBQUEBAUKBwcGCAwKDAwLCgsLDQ4SEA0OEQ4LCxAWEBETFBUVFQwPFxgWFBgSFBUU/9sAQwEDBAQFBAUJBQUJFA0LDRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU/8AAEQgAMAAwAwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMRAD8A/Uy8vYNPtZrm5mjt7eFDJJLKwVUUDJYk8AAd64zXfjJ4Y8PKZb7VrW0tBJ5PnzSY82Q9I4UGWlfPG1AecjqCK4r4oftKeC/Cep+L/DupX0f2nQtOjvNQj3ZwkgJ8o/3WKAH1w2R90kfLv7ImieOP2hPivqXxZ1G4GlaFFHJpuj2rIsy6bbkr8tsGG1WIA+dRgnLHKhFYAX9sn9vC7+HHiM+GNI8G63rlncWu+7umvDZKqMwGAsaswzgj59rckYp/wV/4Kp+AYLLRPDeteH7vQ8BbdBHdyXEkPOAZfPSPPr8jueenYfdGjfDvQNFuBdR6dDNf7QhvblRLOR6b2yQPRRgDsBWT8Tfgb4D+MOiT6V4v8K6XrlrKhTdc2ymWPI+9HIBuRvdSDQBznhj9qT4f+I9T07Tzrlvp91qcxt7AXjiNbqUYzEhPSQZGYmw4yMqMivXQdwyK/Cz9uL4Gax+x74/TR9Mv7zU/h54hhEmnm6kLvbPCflUNn5ZoiwZXGPlbH3Sy1+kP/BN79p+f9pD4ERDWrk3Hi7w3Ium6nIx+e4XbmGdvd1BBPdkY96APx9/aH+Mep/ET45ePbm+naK31HxHcSTSQklzAreSkfXlVjQAD3PrX9Avwn8JaP4N8DaVY6DbrbaY0EckMartwmxQgx/soEX6KK/nV+Mvgy68G/HPxZ4XlAW+g1qSITXBMZRjIepzgDLDJPoDnFf0Bfsx/EwfEz4QaFeXNjdaRrFlbx2GpafertlguY1CuOpypIyD3BFAHrFFFFAHwd/wWE8K2Wq/szx6pLCGvNN1KCaCUdVy3lkfQrI34gelfJ3/BF/xXPpv7Q3iXQBMy2uqaC8zR7uGkhlTaceoEj/nX0x/wWL+KOm6J8D7Hwb56Nq2s3kbCAH5liRg5f6ZQD/gQr5m/4Iw+CJdZ/aG8R+JMkW+i6G8Zx3knkVVH/fKOfwoA9c/4Kq/sQ6n4i1Kf4y+BtOe9nEKjxFp1smZCEGFu0UcthQFcDsob+8a8L/ZW/wCCoWq/AjRLbQ/FHhG38UWttClrHqdrP9mvmhThElO0rLsHCk4IHGTX7cSKJAVYZU9Qa/PT9qz/AIJJ+H/ix4iuPFHw21S28G6veTNLe6ZdRs1hKzHLPHt+aI5JJUAqewXuAfRH7J37bPgb9rew1IeHY7rSda00K13pGo7fNVG4EiFSQ6Z4yOQcZAyM9/8AG/44aH8EvB19rOpmS5uIomaCxtwWkmcDgeignALHgZzXzx+wt/wTyh/ZI1vWfEuq+JI/EniXULQWMbWtu0MFtCWV3ABYl2ZkTk4wF6cmvXP2iPgsvxc0i2027hvdQjWTf5NgYbZnBPR7hgWRB1/djfx3oA/EH9o74meKv2k/i9qniHWmmZvN8pIIkZorOMnEcKDqzHj3Y4A4HH67/wDBNb9l26/Zw+Bwn160+y+MPEsi6hqMTrh7aMDEEDe6qWYjszsO1a/wi/YW8H+DfE+n+Jdb03TLi60tt+kaJYwbdP06Tgmf5vnnuCRnzZCSOAoGAa+oFAUYHAoA/9k=
        projectTel:
          type: string
          description: 프로젝트 전화번호
          example: 010-000-0000
        isActive:
          type: boolean
          description: 활성화 여부
          example: true
          default: true
    ProjectEntity:
      type: object
      properties:
        id:
          type: string
          description: 아이디
          example: db1868ab-8d0e-46c6-97bb-176d3d272073
        createdAt:
          format: date-time
          type: string
          description: 생성일자
          example: '2021-10-01T00:00:00.000Z'
        updatedAt:
          format: date-time
          type: string
          description: 수정일자
          example: '2021-10-01T00:00:00.000Z'
        companyId:
          type: string
          description: 회사 아이디
          example: f78c5882-706a-408b-94de-cea5abcbe425
          uniqueItems: true
        projectNo:
          type: string
          description: 프로젝트 번호
          example: project-0001
          uniqueItems: true
        projectName:
          type: string
          description: 프로젝트 이름
          example: project-NAME
        projectDescription:
          type: string
          description: 프로젝트 설명
          example: 프로젝트 설명 입니다
        projectImage:
          type: string
          description: 프로젝트 이미지
          example: >-
            data:image/jpeg;base64,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
        projectTel:
          type: string
          description: 프로젝트 전화번호
          example: 010-000-0000
        isActive:
          type: boolean
          description: 활성화 여부
          example: true
          default: true
    UpdateProjectDto:
      type: object
      properties:
        id:
          type: string
          description: 아이디
          example: db1868ab-8d0e-46c6-97bb-176d3d272073
        createdAt:
          format: date-time
          type: string
          description: 생성일자
          example: '2021-10-01T00:00:00.000Z'
        updatedAt:
          format: date-time
          type: string
          description: 수정일자
          example: '2021-10-01T00:00:00.000Z'
        companyId:
          type: string
          description: 회사 아이디
          example: f78c5882-706a-408b-94de-cea5abcbe425
          uniqueItems: true
        projectNo:
          type: string
          description: 프로젝트 번호
          example: project-0001
          uniqueItems: true
        projectName:
          type: string
          description: 프로젝트 이름
          example: project-NAME
        projectDescription:
          type: string
          description: 프로젝트 설명
          example: 프로젝트 설명 입니다
        projectImage:
          type: string
          description: 프로젝트 이미지
          example: >-
            data:image/jpeg;base64,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
        projectTel:
          type: string
          description: 프로젝트 전화번호
          example: 010-000-0000
        isActive:
          type: boolean
          description: 활성화 여부
          example: true
          default: true
    CreateTeamDto:
      type: object
      properties:
        id:
          type: string
          description: 아이디
          example: db1868ab-8d0e-46c6-97bb-176d3d272073
        createdAt:
          format: date-time
          type: string
          description: 생성일자
          example: '2021-10-01T00:00:00.000Z'
        updatedAt:
          format: date-time
          type: string
          description: 수정일자
          example: '2021-10-01T00:00:00.000Z'
        companyId:
          type: string
          description: 회사 아이디
          example: f78c5882-706a-408b-94de-cea5abcbe425
          uniqueItems: true
        teamNo:
          type: string
          description: 팀 번호
          example: TEAM-0001
          uniqueItems: true
        teamName:
          type: string
          description: 팀 이름
          example: TEAM-NAME
        teamDescription:
          type: string
          description: 팀 설명
          example: 팀 설명 입니다
        teamImage:
          type: string
          description: 팀 이미지
          example: >-
            data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD//gA7Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcgSlBFRyB2NjIpLCBxdWFsaXR5ID0gOTAK/9sAQwADAgIDAgIDAwMDBAMDBAUIBQUEBAUKBwcGCAwKDAwLCgsLDQ4SEA0OEQ4LCxAWEBETFBUVFQwPFxgWFBgSFBUU/9sAQwEDBAQFBAUJBQUJFA0LDRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU/8AAEQgAMAAwAwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMRAD8A/Uy8vYNPtZrm5mjt7eFDJJLKwVUUDJYk8AAd64zXfjJ4Y8PKZb7VrW0tBJ5PnzSY82Q9I4UGWlfPG1AecjqCK4r4oftKeC/Cep+L/DupX0f2nQtOjvNQj3ZwkgJ8o/3WKAH1w2R90kfLv7ImieOP2hPivqXxZ1G4GlaFFHJpuj2rIsy6bbkr8tsGG1WIA+dRgnLHKhFYAX9sn9vC7+HHiM+GNI8G63rlncWu+7umvDZKqMwGAsaswzgj59rckYp/wV/4Kp+AYLLRPDeteH7vQ8BbdBHdyXEkPOAZfPSPPr8jueenYfdGjfDvQNFuBdR6dDNf7QhvblRLOR6b2yQPRRgDsBWT8Tfgb4D+MOiT6V4v8K6XrlrKhTdc2ymWPI+9HIBuRvdSDQBznhj9qT4f+I9T07Tzrlvp91qcxt7AXjiNbqUYzEhPSQZGYmw4yMqMivXQdwyK/Cz9uL4Gax+x74/TR9Mv7zU/h54hhEmnm6kLvbPCflUNn5ZoiwZXGPlbH3Sy1+kP/BN79p+f9pD4ERDWrk3Hi7w3Ium6nIx+e4XbmGdvd1BBPdkY96APx9/aH+Mep/ET45ePbm+naK31HxHcSTSQklzAreSkfXlVjQAD3PrX9Avwn8JaP4N8DaVY6DbrbaY0EckMartwmxQgx/soEX6KK/nV+Mvgy68G/HPxZ4XlAW+g1qSITXBMZRjIepzgDLDJPoDnFf0Bfsx/EwfEz4QaFeXNjdaRrFlbx2GpafertlguY1CuOpypIyD3BFAHrFFFFAHwd/wWE8K2Wq/szx6pLCGvNN1KCaCUdVy3lkfQrI34gelfJ3/BF/xXPpv7Q3iXQBMy2uqaC8zR7uGkhlTaceoEj/nX0x/wWL+KOm6J8D7Hwb56Nq2s3kbCAH5liRg5f6ZQD/gQr5m/4Iw+CJdZ/aG8R+JMkW+i6G8Zx3knkVVH/fKOfwoA9c/4Kq/sQ6n4i1Kf4y+BtOe9nEKjxFp1smZCEGFu0UcthQFcDsob+8a8L/ZW/wCCoWq/AjRLbQ/FHhG38UWttClrHqdrP9mvmhThElO0rLsHCk4IHGTX7cSKJAVYZU9Qa/PT9qz/AIJJ+H/ix4iuPFHw21S28G6veTNLe6ZdRs1hKzHLPHt+aI5JJUAqewXuAfRH7J37bPgb9rew1IeHY7rSda00K13pGo7fNVG4EiFSQ6Z4yOQcZAyM9/8AG/44aH8EvB19rOpmS5uIomaCxtwWkmcDgeignALHgZzXzx+wt/wTyh/ZI1vWfEuq+JI/EniXULQWMbWtu0MFtCWV3ABYl2ZkTk4wF6cmvXP2iPgsvxc0i2027hvdQjWTf5NgYbZnBPR7hgWRB1/djfx3oA/EH9o74meKv2k/i9qniHWmmZvN8pIIkZorOMnEcKDqzHj3Y4A4HH67/wDBNb9l26/Zw+Bwn160+y+MPEsi6hqMTrh7aMDEEDe6qWYjszsO1a/wi/YW8H+DfE+n+Jdb03TLi60tt+kaJYwbdP06Tgmf5vnnuCRnzZCSOAoGAa+oFAUYHAoA/9k=
        teamTel:
          type: string
          description: 팀 전화번호
          example: 010-000-0000
        isActive:
          type: boolean
          description: 활성화 여부
          example: true
          default: true
    TeamEntity:
      type: object
      properties:
        id:
          type: string
          description: 아이디
          example: db1868ab-8d0e-46c6-97bb-176d3d272073
        createdAt:
          format: date-time
          type: string
          description: 생성일자
          example: '2021-10-01T00:00:00.000Z'
        updatedAt:
          format: date-time
          type: string
          description: 수정일자
          example: '2021-10-01T00:00:00.000Z'
        companyId:
          type: string
          description: 회사 아이디
          example: f78c5882-706a-408b-94de-cea5abcbe425
          uniqueItems: true
        teamNo:
          type: string
          description: 팀 번호
          example: TEAM-0001
          uniqueItems: true
        teamName:
          type: string
          description: 팀 이름
          example: TEAM-NAME
        teamDescription:
          type: string
          description: 팀 설명
          example: 팀 설명 입니다
        teamImage:
          type: string
          description: 팀 이미지
          example: >-
            data:image/jpeg;base64,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
        teamTel:
          type: string
          description: 팀 전화번호
          example: 010-000-0000
        isActive:
          type: boolean
          description: 활성화 여부
          example: true
          default: true
    UpdateTeamDto:
      type: object
      properties:
        id:
          type: string
          description: 아이디
          example: db1868ab-8d0e-46c6-97bb-176d3d272073
        createdAt:
          format: date-time
          type: string
          description: 생성일자
          example: '2021-10-01T00:00:00.000Z'
        updatedAt:
          format: date-time
          type: string
          description: 수정일자
          example: '2021-10-01T00:00:00.000Z'
        companyId:
          type: string
          description: 회사 아이디
          example: f78c5882-706a-408b-94de-cea5abcbe425
          uniqueItems: true
        teamNo:
          type: string
          description: 팀 번호
          example: TEAM-0001
          uniqueItems: true
        teamName:
          type: string
          description: 팀 이름
          example: TEAM-NAME
        teamDescription:
          type: string
          description: 팀 설명
          example: 팀 설명 입니다
        teamImage:
          type: string
          description: 팀 이미지
          example: >-
            data:image/jpeg;base64,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
        teamTel:
          type: string
          description: 팀 전화번호
          example: 010-000-0000
        isActive:
          type: boolean
          description: 활성화 여부
          example: true
          default: true
    UserEntity:
      type: object
      properties:
        id:
          type: string
          description: 아이디
          example: db1868ab-8d0e-46c6-97bb-176d3d272073
        createdAt:
          format: date-time
          type: string
          description: 생성일자
          example: '2021-10-01T00:00:00.000Z'
        updatedAt:
          format: date-time
          type: string
          description: 수정일자
          example: '2021-10-01T00:00:00.000Z'
        email:
          type: string
          description: 이메일
          example: test@test.com
        hash:
          type: string
          description: 암호화 된 사용자 암호
          example: >-
            $argon2id$v=19$m=65536,t=3,p=4$3Kbz3qLF065SgLr62LYTvg$M/jd2yhPv2aGVbmYKG+x0/Z/2YlfsUEhq0icbkijQE8
        roles:
          type: object
          description: 롤
          example:
            - USER
        refreshToken:
          type: string
          description: 리프레시 토큰
          example: >-
            eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI3YmRiNzJlOS03NGMxLTQ5YjAtODcyMS1jZWIxNzAyNGY4ZDYiLCJlbWFpbCI6InRlc3RAdGVzdC5jb20iLCJpYXQiOjE3MDAxMTE3NTAsImV4cCI6MTcwMDExMzU1MH0.Oo-is-r_Av6XZOK1MlTJbUBkMu3OvOpotEWR91yQXMQ
        profile:
          $ref: '#/components/schemas/ProfileEntity'
      required:
        - email
        - hash
        - roles
        - refreshToken
        - profile
    UpdateUserDto:
      type: object
      properties:
        id:
          type: string
          description: 아이디
          example: db1868ab-8d0e-46c6-97bb-176d3d272073
        createdAt:
          format: date-time
          type: string
          description: 생성일자
          example: '2021-10-01T00:00:00.000Z'
        updatedAt:
          format: date-time
          type: string
          description: 수정일자
          example: '2021-10-01T00:00:00.000Z'
        email:
          type: string
          description: 이메일
          example: user@domain.com
        hash:
          type: string
          description: 암호화 된 사용자 암호
          example: >-
            $argon2id$v=19$m=65536,t=3,p=4$3Kbz3qLF065SgLr62LYTvg$M/jd2yhPv2aGVbmYKG+x0/Z/2YlfsUEhq0icbkijQE8
        roles:
          type: array
          description: 사용자 권한
          example:
            - USER
          default:
            - USER
          items:
            type: string
            enum:
              - GUEST
              - USER
              - ADMIN
        refreshToken:
          type: string
          description: 리프레시 토큰
          example: >-
            eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI3YmRiNzJlOS03NGMxLTQ5YjAtODcyMS1jZWIxNzAyNGY4ZDYiLCJlbWFpbCI6InRlc3RAdGVzdC5jb20iLCJpYXQiOjE3MDAxMTE3NTAsImV4cCI6MTcwMDExMzU1MH0.Oo-is-r_Av6XZOK1MlTJbUBkMu3OvOpotEWR91yQXMQ
