Skip to content

Conversation

@juykoung
Copy link
Collaborator

@juykoung juykoung commented Oct 1, 2025

PR 종류

  • 기능 개선
  • 새로운 기능
  • 리팩토링
  • 문서 수정
  • 기타

변경 사항

  1. 스페이스 멤버 삭제 시, 관리자는 삭제 안됨
  2. 스페이스 멤버 초대 시, '멤버'로만 초대 가능
  3. 스페이스 태그별 멤버 조회/ 전체 멤버 조회 시, 해당 스페이스 멤버만 조회 가능하도록 조건 설정

관련 이슈- 관련된 이슈 번호를 적어주세요 (#issue_number)

체크리스트- [ ] 테스트 코드를 작성하였나요?

  • 모든 테스트가 통과하나요?
  • 관련 문서를 업데이트했나요?
  • 코드 컨벤션을 지켰나요?

스크린샷

필요한 경우 스크린샷을 첨부해주세요.

기타

추가로 알려야 할 사항이 있다면 적어주세요.

… into feature/spaceMember-invite

# Conflicts:
#	src/main/java/org/fastcampus/jober/template/repository/TemplateRepository.java
1. 관리자 검증 추가
2. 사용자 조회 추가
 - 이메일로 유효성 검증
  - 이미 멤버인지 검증
  - 멤버 아닐 시, 멤버로 등록
…am-BE into feature/spaceMember-invite

# Conflicts:
#	src/main/java/org/fastcampus/jober/space/controller/SpaceMemberController.java
#	src/main/java/org/fastcampus/jober/template/repository/TemplateRepository.java
특이사항 : SpaceMember 엔티티에 email 필드 재추가
…am-BE into feature/spaceMember-invite

# Conflicts:
#	src/main/java/org/fastcampus/jober/space/controller/SpaceMemberController.java
#	src/main/java/org/fastcampus/jober/space/entity/InviteStatus.java
#	src/main/java/org/fastcampus/jober/space/entity/SpaceMember.java
#	src/main/java/org/fastcampus/jober/space/service/SpaceMemberService.java
… feature/spaceMember-invite

# Conflicts:
#	src/main/java/org/fastcampus/jober/space/service/SpaceMemberService.java
… into feature/spaceMember-invite

# Conflicts:
#	src/main/java/org/fastcampus/jober/space/controller/SpaceMemberController.java
#	src/main/java/org/fastcampus/jober/space/entity/InviteStatus.java
#	src/main/java/org/fastcampus/jober/space/entity/SpaceMember.java
#	src/main/java/org/fastcampus/jober/space/service/SpaceMemberService.java
이외 사항
- inviteSpaceMember 코드 정리
- acceptInvitationByEmail 반환타입 변경
juykoung and others added 29 commits September 26, 2025 16:13
… into feature/spaceMember-register

# Conflicts:
#	src/main/java/org/fastcampus/jober/space/service/SpaceMemberService.java
#	src/main/java/org/fastcampus/jober/user/service/UserService.java
…to feature/spaceMember-register

# Conflicts:
#	src/main/java/org/fastcampus/jober/space/service/SpaceMemberService.java
…to feature/spaceMember-register

# Conflicts:
#	src/main/java/org/fastcampus/jober/space/controller/SpaceMemberController.java
* chore: 설정파일 세팅, H2 DB/JPA 세팅

* feat: 기본 구조 설정

* feat: 기본 엔티티 생성

* chore: h2 url 변경

* chore: production 설정에 mysql 연결 설정

* chore: gitignore 에 로그 추가

* chore: 로깅 설정

* chore: Swagger 설정

* chore: layer 별 로깅 AOP 추가

* rename: 로깅 aop 디렉토리 변경

* feat: GlobalExceptionHandler 구현

* chore: 코드 warning 포인트 수정

* chore: swagger 버전 변경

* feat:템플릿 엔티티 생성 및 enum클래스 생성

* fix:템플렛 엔티티 수정

* 회원가입, 로그인, 로그아웃 구현 (#5)

* Create deploy.yml

* Update deploy.yml

* Update deploy.yml

* Update ci.yml

* Update ci.yml

* chore: docker 관련 설정

* Update ci.yml

* Update ci.yml

* Update deploy.yml

* Update deploy.yml

* Update deploy.yml

* Update deploy.yml

* Update deploy.yml

* Update deploy.yml

* Update deploy.yml

* Update deploy.yml

* Update ci.yml

* Update ci.yml

* chore: profile 레벨 변경

* feat: spring security 설정

* feat: swagger try out 을 위한 쿠키 필터 추가

* chore: spring security 의존성 추가

* chore: swagger 쿠키 설정 추가

* rename: 디렉토리 구조 잘못 설정된 부분 이동

* feat: 팩토리 메서드 구현

* feat: 회원가입, 로그인 관련 DTO 구현

* feat: 비밀번호 해싱 구현

* feat: UserDetailsService 구현

* feat: 로그인, 회원가입, 로그아웃 구현

* chore: 미사용 코드 주석 및 제거

* chore: security test 의존성 추가

* test: 회원가입, 로그인, 로그아웃 테스트 코드 작성

* feat: 세션을 세션 레지스트리에 저장하도록 변경

* chore: thymeleaf 의존성 추가

* feat: session 모니터링 뷰 추가

* fix: 세션 모니터링 url csrf, filter 통과 허용

* fix: 로그아웃 시에 sessionRegistry 에 등록된 세션 삭제하도록 수정

---------

Co-authored-by: doo1011 <[email protected]>

* feat: 연락처 추가 API 구현 (#4)

* feat : 'Space 연락처 추가'기능 추가
 - 'Swagger'를 통해 'H2'DB에 데이터 추가되어지는거 확인
 - SpaceContactController, ContactRequestDto, ContactResponseDto, SapceContactRepository, SpaceContactService 추가
 - SpaceContact 변경

* test : 'Space 연락처 추가' 기능에 대한 테스트코드 작성
 - Controller, Repoository, Service 및 통합테스트코드 작성

* fix : 컨트롤러 엔드포인트 변경

* refactor : @DaTa가 아닌 @Getter@Setter 사용 제거, 생성자 Protected로 변경 @builder제거 커스텀으로 작성

* refactor : ContactRequestDto에서 @DaTa가 아닌 @Getter@Setter 사용 제거, 생성자 Protected로 변경 Dto 내부에서 엔티티 객체를 생성하도록 변경

* refactor : 사용하지 않는 import문 제거

* test : 불필요한 test코드 삭제

* test : 테스트코드 변경한 api 엔드포인트에 맞게 변경

* test : 테스트코드 수정 (#9)

* feat: : 스페이스 관련 구현 (#1)

* feat: : 스페이스 관련 구현

* feat: 스페이스 컨트롤러 구현 중

* feat: 스페이스 컨트롤러 구현 중

* feat: 제약사항, dto변환 및 스페이스 업데이트 메서드 추가

* feat: 스페이스 생성&수정 기능 구현

* feat: 엔티티 변환 메서드 추가

* feat: 스페이스멤버 리파지토리 구현

* feat: 스페이스멤버리퀘스트dto 구현

* feat: 스페이스이름 검색 구현

* feat: 생성 및 수정 구현

* feat: 응답dto 구현

* test: 스페이스 test

* feat: 스페이스멤버응답dto 구현

* feat: 스페이스수정요청dto 구현

* fix: 관리자 타입변경 및 dto변환 메서드 삭제

* feat: 스페이스 조회 및 삭제 구현

* refactor: 엔티티 변환메서드 삭제

* feat: SpaceMapper 구현

* refactor: 속성 타입변경 및 조인

* feat: 권한체크용 메서드 구현

* feat: 스페이스 조회 및 삭제 구현

* refactor: id 삭제

* refactor: Getter 추가

* chore: mapstruct, security 추가

* feat: 스페이스 권한 enum 구현

* feat: 스페이스 초대상태 enum 구현

* test: 스페이스 수정 test작성

* refactor: id 컬럼명 변경

* refactor: 수정&삭제 시 권한체크 파라미터 변경

* refactor: toEntity ignore 추가

* refactor: Space & Users 컬럼명 변경

* refactor: 권한체크용 메서드 삭제

* refactor: 스페이스수정 권한체크 변경

* refactor: id 컬럼명 변경

* test: User 구현 후 재작성 예정

* test: 오류테스트 주석처리

* refactor: id 컬럼명 변경

* refactor: 스페이스멤버 리파지토리 필드 제거

* refactor: getId -> getUserId

* feat: 스페이스멤버추가Dto 구현

* feat: 스페이스멤버추가구현

* docs: 로직 주석으로 정리

* Spring security 추가 설정 (#10)

* Create deploy.yml

* Update deploy.yml

* Update deploy.yml

* Update ci.yml

* Update ci.yml

* chore: docker 관련 설정

* Update ci.yml

* Update ci.yml

* Update deploy.yml

* Update deploy.yml

* Update deploy.yml

* Update deploy.yml

* Update deploy.yml

* Update deploy.yml

* Update deploy.yml

* Update deploy.yml

* Update ci.yml

* Update ci.yml

* chore: profile 레벨 변경

* feat: spring security 설정

* feat: swagger try out 을 위한 쿠키 필터 추가

* chore: spring security 의존성 추가

* chore: swagger 쿠키 설정 추가

* rename: 디렉토리 구조 잘못 설정된 부분 이동

* feat: 팩토리 메서드 구현

* feat: 회원가입, 로그인 관련 DTO 구현

* feat: 비밀번호 해싱 구현

* feat: UserDetailsService 구현

* feat: 로그인, 회원가입, 로그아웃 구현

* chore: 미사용 코드 주석 및 제거

* chore: security test 의존성 추가

* test: 회원가입, 로그인, 로그아웃 테스트 코드 작성

* feat: 세션을 세션 레지스트리에 저장하도록 변경

* chore: thymeleaf 의존성 추가

* feat: session 모니터링 뷰 추가

* fix: 세션 모니터링 url csrf, filter 통과 허용

* fix: 로그아웃 시에 sessionRegistry 에 등록된 세션 삭제하도록 수정

* remove: 샘플 DTO 삭제

* feat: ENUM 으로 filter 허용 엔드포인트 관리

* feat: CORS 에러 처리

* fix: 세션 생성 전에 접근하는 문제 해결

* test: 테스트 시 로그인 후 세션 전달하도록 수정

---------

Co-authored-by: doo1011 <[email protected]>

* feat: 템플릿 엔티티 수정

* 템플릿 생성 API 작업 TemplateController, TemplateService

* get방식에서 post 방식으로 변경

* Spring security 엔드포인트 관리, DB에 로깅 (#13)

* feat: spring security 설정

* feat: swagger try out 을 위한 쿠키 필터 추가

* chore: spring security 의존성 추가

* chore: swagger 쿠키 설정 추가

* rename: 디렉토리 구조 잘못 설정된 부분 이동

* feat: 팩토리 메서드 구현

* feat: 회원가입, 로그인 관련 DTO 구현

* feat: 비밀번호 해싱 구현

* feat: UserDetailsService 구현

* feat: 로그인, 회원가입, 로그아웃 구현

* chore: 미사용 코드 주석 및 제거

* chore: security test 의존성 추가

* test: 회원가입, 로그인, 로그아웃 테스트 코드 작성

* feat: 세션을 세션 레지스트리에 저장하도록 변경

* chore: thymeleaf 의존성 추가

* feat: session 모니터링 뷰 추가

* fix: 세션 모니터링 url csrf, filter 통과 허용

* fix: 로그아웃 시에 sessionRegistry 에 등록된 세션 삭제하도록 수정

* remove: 샘플 DTO 삭제

* feat: ENUM 으로 filter 허용 엔드포인트 관리

* feat: CORS 에러 처리

* fix: 세션 생성 전에 접근하는 문제 해결

* test: 테스트 시 로그인 후 세션 전달하도록 수정

* remove: endpoint enum 삭제

* feat: endpoint yml, props 로 관리

* test: 미사용 import 제거

* chore: 로그 DB 에 저장되도록 설정

* fix: warning 해결

---------

Co-authored-by: doo1011 <[email protected]>

* Update application-develop.yml

* Update application-production.yml

* chore: AI 호스트 변경

* Update application-develop.yml

* Space CRUD 리팩토링 (#14)

* feat: : 스페이스 관련 구현

* feat: 스페이스 컨트롤러 구현 중

* feat: 스페이스 컨트롤러 구현 중

* feat: 제약사항, dto변환 및 스페이스 업데이트 메서드 추가

* feat: 스페이스 생성&수정 기능 구현

* feat: 엔티티 변환 메서드 추가

* feat: 스페이스멤버 리파지토리 구현

* feat: 스페이스멤버리퀘스트dto 구현

* feat: 스페이스이름 검색 구현

* feat: 생성 및 수정 구현

* feat: 응답dto 구현

* test: 스페이스 test

* feat: 스페이스멤버응답dto 구현

* feat: 스페이스수정요청dto 구현

* fix: 관리자 타입변경 및 dto변환 메서드 삭제

* feat: 스페이스 조회 및 삭제 구현

* refactor: 엔티티 변환메서드 삭제

* feat: SpaceMapper 구현

* refactor: 속성 타입변경 및 조인

* feat: 권한체크용 메서드 구현

* feat: 스페이스 조회 및 삭제 구현

* refactor: id 삭제

* refactor: Getter 추가

* chore: mapstruct, security 추가

* feat: 스페이스 권한 enum 구현

* feat: 스페이스 초대상태 enum 구현

* test: 스페이스 수정 test작성

* refactor: id 컬럼명 변경

* refactor: 수정&삭제 시 권한체크 파라미터 변경

* refactor: toEntity ignore 추가

* refactor: Space & Users 컬럼명 변경

* refactor: 권한체크용 메서드 삭제

* refactor: 스페이스수정 권한체크 변경

* refactor: id 컬럼명 변경

* test: User 구현 후 재작성 예정

* test: 오류테스트 주석처리

* refactor: id 컬럼명 변경

* refactor: 스페이스멤버 리파지토리 필드 제거

* refactor: getId -> getUserId

* feat: 스페이스멤버추가Dto 구현

* feat: 스페이스멤버추가구현

* docs: 로직 주석으로 정리

* test: 스페이스  test

* test: 스페이스  test

* test: 스페이스  test

* test: 테스트코드 삭제

* feat: 권한체크 메서드 추가

* fix: 생성 및 수정 변경

생성 -> @Vaild 추가
수정 -> SpaceUpdateRequestDto에 Users 추가

* fix: 업데이트 메서드에 권한체크 추가

* feat: findByIdOrThrow 구현

* fix: 권한체크 등 중복메서드로 분리

* refactor: Users 필드추가

* test: 스페이스 CRUD 통합테스트 작성

* refactor: dto에 swagger 추가 (#15)

* refactor: dto에 swagger 추가

* refactor: 생성일&수정일 필드명 변경

* refactor: 매핑변경

toEntity -> 생성일&수정일 매핑 추가
toResponseDto -> 생성일&수정일 매핑 삭제

* chore: Lombok

* 시스템 컬럼 추가, 스페이스 API 수정 (#18)

* feat: entity 전체 시스템 컬럼 추가

* feat: 로그인 시 userId 저장하기 위해 CustomUserDetails 구현

* feat: userId 추가

* fix: security context 에서 user 정보 조회하도록 수정

* test: space test 주석

* chore: 미사용 코드 주석 처리

* chore: 미사용 코드 주석 처리

---------

Co-authored-by: doo1011 <[email protected]>

* feat: 템플릿 조회기능 구현 (#17)

* feat : 템플릿 조회 기능 추가(SpaceId: common은 0으로 처리 예정)
  - TemplateController.java, TemplateRepository.java, TemplateService.java 파일 수정
  - TemplateTitleResponseDto.java 파일 추가

* refactor : 'spaceId'가 0(common)값으로 들어와도 같은 api로 처리 할 수 있게 변경
  -TemplateController.java, TemplateRepository.java, TemplateService.java 파일 수정

* refactor : Service에서의 책임감소로 코드 간결화, Dto, Entity에서 로직 구현
  - TemplateTitleResponseDto.java, entity/Template.java, TemplateService.java 파일 수정

* refactor : 코드 컨벤션에 맞게 수정 및 Entity와 Dto에서 생성자 Protected 접근제어자로 수정

* refactor : 템플릿 및 Space의 Id null값 처리

* tess : 테스트 코드 작성
  - controller, dto, entity, integration, servcie 테스트 코드 작성

* fix : 머지과정 에러 수정

괄호 수정

* feat: 템플릿 상세조회기능 구현  (#20)

* feat : 템플릿 조회 기능 추가(SpaceId: common은 0으로 처리 예정)
  - TemplateController.java, TemplateRepository.java, TemplateService.java 파일 수정
  - TemplateTitleResponseDto.java 파일 추가

* refactor : 'spaceId'가 0(common)값으로 들어와도 같은 api로 처리 할 수 있게 변경
  -TemplateController.java, TemplateRepository.java, TemplateService.java 파일 수정

* refactor : Service에서의 책임감소로 코드 간결화, Dto, Entity에서 로직 구현
  - TemplateTitleResponseDto.java, entity/Template.java, TemplateService.java 파일 수정

* refactor : 코드 컨벤션에 맞게 수정 및 Entity와 Dto에서 생성자 Protected 접근제어자로 수정

* refactor : 템플릿 및 Space의 Id null값 처리

* tess : 테스트 코드 작성
  - controller, dto, entity, integration, servcie 테스트 코드 작성

* feat : 템플릿 상세조회 기능 추가
  - TemplateController.java, Template.java, TemplateRepository.java, TemplateService.java 파일 수정
  - TemplateDetailResponseDto.java 파일 추가

* test : 테스트코드 수정 및 추가
  - 상세조회기능에 대한 테스트코드 추가로 인한 기존에 작성한 테스트코드 일부 수정
    - TemplateControllerTest.java, TemplateTest.java, TemplateServiceTest.java 파일 수정
  - TemplateDetailResponseDtoTest.java 파일 추가

* 템플릿 저장/삭제 구현 (#21)

* refactor: dto에 swagger 추가

* refactor: 생성일&수정일 필드명 변경

* refactor: 매핑변경

toEntity -> 생성일&수정일 매핑 추가
toResponseDto -> 생성일&수정일 매핑 삭제

* feat: 템플릿 저장 구현

* refactor: 찾는 메서드 변경

* chore: 미사용 import 삭제

* fix: 카카오 템플릿 삭제

* fix: 카카오 템플릿 삭제

* refactor: Template 엔티티 repository 책임 분리 및 사용하지 않는 메서드 정리 (#22)

* test : ControllerTest제외 테스트 코드 전부 제거

* refactor : 불필요한 메서드 제거 및 엔티티에서 Repository bean 파라미터 받지않고 Service에서 책임

* refactor : 사용하지 않는 메서드 제거

* yml 설정, DTO 내부 구현 분리, Service 리팩토링, Controller 간소화, 외부 API Util 분리, DTO 타입 분리

* template service 충돌 문제 해결

* Feature/update delete contact (#23)

* test : 테스트코드 수정

* feat : 연락처 수정 기능 추가(spaceId, contactId를 변수로 받아 수정)
  - SpaceContactController.java, SpaceContact.java, SpaceContactRepository.java, SpaceContactService.java 파일 수정
  - SpaceContactUpdateRequestDto.java, SpaceContactUpdateResponseDto.java 파일 추가

* refactor : 주석 추가

* refactor : 주석 변경, 서비스 책임 감소 및 코드 간결화
  - ContactRepository.java Swagger 방식의 주석으로 변경, @query방식으로 변경
  - SpaceContactService.java 서비스의 책임감소로 코드 간결화
  - ContactRequestDto.java, SpaceContactUpdateRequestDto.java 파일 서비스의 책임감소로 인해 책임 증가 및 코드 변경

* test : 테스트코드 작성

* feat : 연락처 삭제기능 추가

* refactor : 삭제기능 추가에 따른 삭제상태 추가 및 태그 관련 추가

* refactor : 연락처 삭제를 물리삭제가 아닌방법으로 변경, 주석 및 변수명, 타입 수정

* test : 연락추 수정 및 삭제 기능 추가로 인한 테스트코드 수정, Controller테스트코드 제외한 테스트코드 삭제

* refactor : 사용하지 않는 import 제거

* refactor : 스페이스 존재여부 검증 추가

* refactor : responsebody에 필요하지 않는 값 제거

* refactor : 연락처 조회기능 추가

* Feature/update delete contact test (#25)

* test : 테스트코드 수정

* feat : 연락처 수정 기능 추가(spaceId, contactId를 변수로 받아 수정)
  - SpaceContactController.java, SpaceContact.java, SpaceContactRepository.java, SpaceContactService.java 파일 수정
  - SpaceContactUpdateRequestDto.java, SpaceContactUpdateResponseDto.java 파일 추가

* refactor : 주석 추가

* refactor : 주석 변경, 서비스 책임 감소 및 코드 간결화
  - ContactRepository.java Swagger 방식의 주석으로 변경, @query방식으로 변경
  - SpaceContactService.java 서비스의 책임감소로 코드 간결화
  - ContactRequestDto.java, SpaceContactUpdateRequestDto.java 파일 서비스의 책임감소로 인해 책임 증가 및 코드 변경

* test : 테스트코드 작성

* feat : 연락처 삭제기능 추가

* refactor : 삭제기능 추가에 따른 삭제상태 추가 및 태그 관련 추가

* refactor : 연락처 삭제를 물리삭제가 아닌방법으로 변경, 주석 및 변수명, 타입 수정

* test : 연락추 수정 및 삭제 기능 추가로 인한 테스트코드 수정, Controller테스트코드 제외한 테스트코드 삭제

* refactor : 사용하지 않는 import 제거

* refactor : 스페이스 존재여부 검증 추가

* refactor : responsebody에 필요하지 않는 값 제거

* refactor : 연락처 조회기능 추가

* test : 연락처 조회기능 추가로 인한 테스트코드 수정

* test : 테스트코드 필요없는 주석 제거

* Feature/update user info (#26)

* feat : 회원 정보 조회 및 수정기능 구현
  - 회원 정보 조회 endpoint : /info
  - 회원 정보 수정 endpoint : /update
  - UserRepository.java 이메일 중복검증을 위해 수정
  - entity/Users.java 수정된 값이 1개도 없을 경우 업데이트하지 않는 기능 구현을 위한 변경

* test : 테스트 코드 작성 및 테스트 코드 실행에 필요한 application-test.yml파일 test/resources 경로에 생성

* refactor : 현 이메일은 중복체크하지 않게 수정

* refactor : save()메서드 제거 및 변경결과 없음 체크 로직 제거

* refactor: AI와 응답 필드 매칭 (기존 2개 -> 8개필드로 확장)

* feat: 사용자 아이디/이메일 중복체크 API 추가 (#29)

* chore : 아이디 및  이메일 중복검증을 위해 해당 api 엔드포인트 추가

* refactor : 회원정보 수정 시 수정사항 없을 때 반환할 204를 반환하기 위해 수정체크하는 코드 추가

* feature : 회원가입할 때 사용할 아이디 중복검사 및 이메일 중복검사 기능 api 구현

* chore : 테스트코드 동작을 위해 엔드포인트 추가

* test : 중복검사에 관한 테스트 코드 작성

* refactor : 아이디변경 기능을 사용하지 않음에 따라 코드 주석처리

* test : 아이디변경 기능 사용하지 않음에 따라 테스트코드 변경

* 중복 로그인 처리 (#30)

* feat: 세션 삭제 추가

* chore: db host 변경

* feat: user 정보 username 으로 hash, equals 하도록 override

* feat: session 유효시간 설정

* feat: session 만료, 없을 시 filter 에서 에러 처리

* feat: session 모니터링 화면에 유효시간, 만료여부 추가

* fix: warning, 주석 error 해결

* fix: warning 해결

---------

Co-authored-by: doo1011 <[email protected]>

* feat : 연락처 태그검색 기능 구현 (#33)

* feature : 연락처 태그로 검색 기능 추가

* refactor : swagger 주석 수정

* refactor : swagger 주석 변경

* test : 연락처 태그관련 조회기능  추가에 따른 테스트코드 수정

* 아이디, 비밀번호, 이메일 정규식 추가 UserController/UserService

* UserService 메서드이름(getUsername에서 getName으로 변경)

* 비밀번호 변경 구현 (#37)

* chore: lint 체크 수정

* chore: 메일 api 추가

* feat: password reset token 엔티티 추가

* feat: client ip resolver 구현

* feat: 비밀번호 변경용 이메일 전송 초기 구현

* chore: 메일 전송 api filter 제외, 프론트엔드 도메인 변경

* fix: 하드코딩된 포맷 변경

* fix: url 에 토큰 포함하도록 수정

* feat: 이메일로 회원 조회

* feat: 비밀번호 업데이트 메서드 추가

* feat: 비밀번호 변경용 토큰 체크, 비밀번호 변경 API 구현

* feat: 비밀번호 변경용 토큰 체크, 비밀번호 변경 API 구현

* chore: 비밀번호 변경 관련 api filter 체크 제외 처리

* chore: resttemplate 대신 webclient 쓰기 -> 주석

* fix: warning 해결

* fix: warning 해결

* chore: fix lint

---------

Co-authored-by: doo1011 <[email protected]>

* 템플릿 저장 기능 구현 및 템플릿 테스트코드관련 에러 해결 (#38)

* feature : 템플릿 저장 기능 구현

* test : 테스트 에러 해결 및 템플릿 저장관련 기능 추가로 인한 테스트 코드 수정

* refactor : 스페이스 존재 검증 추가로 인한 에러메시지 변경

* refactor : 사용하지 않는 저장 상태 변경 주석으로 처리, 스페이스 조회, 저장에 관한 기능에서 스페이스 존재 여부 검증 추가

* test: 테스트 코드 임시 해제

* 템플릿 논리삭제 구현 (#39)

* feature : 템플릿 저장 기능 구현

* test : 테스트 에러 해결 및 템플릿 저장관련 기능 추가로 인한 테스트 코드 수정

* refactor : 스페이스 존재 검증 추가로 인한 에러메시지 변경

* refactor : 사용하지 않는 저장 상태 변경 주석으로 처리, 스페이스 조회, 저장에 관한 기능에서 스페이스 존재 여부 검증 추가

* feature : 템플릿 삭제 기능 구현

* refactor : 주석 추가 및 반환코드 수정

* test : 템플릿 삭제기능 추가에 대한 테스트코드 변경

* refactor: JAVA 21 버전으로 다운그레이드

* refactor: CORS 엔드포인트 yml 로 분리

* chore: actions workflow JAVA 21 버전으로 변경

* fix: JAVA 24 버전 문법 제거

* test: warning 해결

* chore: fix lint

* fix: fix error and warning

* fix: fix error and warning

* chore: fix lint

* 템플릿리스트 조회&멤버리스트 조회 구현

* refactor: adminId 통합

- 권한검사 메서드 수정
- 부분 업데이트 사항 수정

* feat: 스페이스 목록 조회 구현

* refactor: 관리자 연락처 삭제

* fix: admin 수정

* refactor: 어노테이션 추가

* docs: 구현 전

* docs: 불필요한 임포트 삭제

* feat: 유저의 스페이스 검색 구현

* docs: 불필요 import 삭제

* refactor: 권한검사 수정

* refactor: 스페이스 이름만 수정으로 변경

* feat: 팩토리메서드 추가

* feat: 스페이스리스트 dto 구현

* remove: 불필요dto 삭제

* style: 쿼리 줄바꿈

* feat: 템플릿 리스트 조회 구현

* feat: 템플릿 리스트 조회 구현

* 2차 배포 (#31)

* chore: 설정파일 세팅, H2 DB/JPA 세팅

* feat: 기본 구조 설정

* feat: 기본 엔티티 생성

* chore: h2 url 변경

* chore: production 설정에 mysql 연결 설정

* chore: gitignore 에 로그 추가

* chore: 로깅 설정

* chore: Swagger 설정

* chore: layer 별 로깅 AOP 추가

* rename: 로깅 aop 디렉토리 변경

* feat: GlobalExceptionHandler 구현

* chore: 코드 warning 포인트 수정

* chore: swagger 버전 변경

* feat:템플릿 엔티티 생성 및 enum클래스 생성

* fix:템플렛 엔티티 수정

* 회원가입, 로그인, 로그아웃 구현 (#5)

* Create deploy.yml

* Update deploy.yml

* Update deploy.yml

* Update ci.yml

* Update ci.yml

* chore: docker 관련 설정

* Update ci.yml

* Update ci.yml

* Update deploy.yml

* Update deploy.yml

* Update deploy.yml

* Update deploy.yml

* Update deploy.yml

* Update deploy.yml

* Update deploy.yml

* Update deploy.yml

* Update ci.yml

* Update ci.yml

* chore: profile 레벨 변경

* feat: spring security 설정

* feat: swagger try out 을 위한 쿠키 필터 추가

* chore: spring security 의존성 추가

* chore: swagger 쿠키 설정 추가

* rename: 디렉토리 구조 잘못 설정된 부분 이동

* feat: 팩토리 메서드 구현

* feat: 회원가입, 로그인 관련 DTO 구현

* feat: 비밀번호 해싱 구현

* feat: UserDetailsService 구현

* feat: 로그인, 회원가입, 로그아웃 구현

* chore: 미사용 코드 주석 및 제거

* chore: security test 의존성 추가

* test: 회원가입, 로그인, 로그아웃 테스트 코드 작성

* feat: 세션을 세션 레지스트리에 저장하도록 변경

* chore: thymeleaf 의존성 추가

* feat: session 모니터링 뷰 추가

* fix: 세션 모니터링 url csrf, filter 통과 허용

* fix: 로그아웃 시에 sessionRegistry 에 등록된 세션 삭제하도록 수정

---------

Co-authored-by: doo1011 <[email protected]>

* feat: 연락처 추가 API 구현 (#4)

* feat : 'Space 연락처 추가'기능 추가
 - 'Swagger'를 통해 'H2'DB에 데이터 추가되어지는거 확인
 - SpaceContactController, ContactRequestDto, ContactResponseDto, SapceContactRepository, SpaceContactService 추가
 - SpaceContact 변경

* test : 'Space 연락처 추가' 기능에 대한 테스트코드 작성
 - Controller, Repoository, Service 및 통합테스트코드 작성

* fix : 컨트롤러 엔드포인트 변경

* refactor : @DaTa가 아닌 @Getter@Setter 사용 제거, 생성자 Protected로 변경 @builder제거 커스텀으로 작성

* refactor : ContactRequestDto에서 @DaTa가 아닌 @Getter@Setter 사용 제거, 생성자 Protected로 변경 Dto 내부에서 엔티티 객체를 생성하도록 변경

* refactor : 사용하지 않는 import문 제거

* test : 불필요한 test코드 삭제

* test : 테스트코드 변경한 api 엔드포인트에 맞게 변경

* test : 테스트코드 수정 (#9)

* feat: : 스페이스 관련 구현 (#1)

* feat: : 스페이스 관련 구현

* feat: 스페이스 컨트롤러 구현 중

* feat: 스페이스 컨트롤러 구현 중

* feat: 제약사항, dto변환 및 스페이스 업데이트 메서드 추가

* feat: 스페이스 생성&수정 기능 구현

* feat: 엔티티 변환 메서드 추가

* feat: 스페이스멤버 리파지토리 구현

* feat: 스페이스멤버리퀘스트dto 구현

* feat: 스페이스이름 검색 구현

* feat: 생성 및 수정 구현

* feat: 응답dto 구현

* test: 스페이스 test

* feat: 스페이스멤버응답dto 구현

* feat: 스페이스수정요청dto 구현

* fix: 관리자 타입변경 및 dto변환 메서드 삭제

* feat: 스페이스 조회 및 삭제 구현

* refactor: 엔티티 변환메서드 삭제

* feat: SpaceMapper 구현

* refactor: 속성 타입변경 및 조인

* feat: 권한체크용 메서드 구현

* feat: 스페이스 조회 및 삭제 구현

* refactor: id 삭제

* refactor: Getter 추가

* chore: mapstruct, security 추가

* feat: 스페이스 권한 enum 구현

* feat: 스페이스 초대상태 enum 구현

* test: 스페이스 수정 test작성

* refactor: id 컬럼명 변경

* refactor: 수정&삭제 시 권한체크 파라미터 변경

* refactor: toEntity ignore 추가

* refactor: Space & Users 컬럼명 변경

* refactor: 권한체크용 메서드 삭제

* refactor: 스페이스수정 권한체크 변경

* refactor: id 컬럼명 변경

* test: User 구현 후 재작성 예정

* test: 오류테스트 주석처리

* refactor: id 컬럼명 변경

* refactor: 스페이스멤버 리파지토리 필드 제거

* refactor: getId -> getUserId

* feat: 스페이스멤버추가Dto 구현

* feat: 스페이스멤버추가구현

* docs: 로직 주석으로 정리

* Spring security 추가 설정 (#10)

* Create deploy.yml

* Update deploy.yml

* Update deploy.yml

* Update ci.yml

* Update ci.yml

* chore: docker 관련 설정

* Update ci.yml

* Update ci.yml

* Update deploy.yml

* Update deploy.yml

* Update deploy.yml

* Update deploy.yml

* Update deploy.yml

* Update deploy.yml

* Update deploy.yml

* Update deploy.yml

* Update ci.yml

* Update ci.yml

* chore: profile 레벨 변경

* feat: spring security 설정

* feat: swagger try out 을 위한 쿠키 필터 추가

* chore: spring security 의존성 추가

* chore: swagger 쿠키 설정 추가

* rename: 디렉토리 구조 잘못 설정된 부분 이동

* feat: 팩토리 메서드 구현

* feat: 회원가입, 로그인 관련 DTO 구현

* feat: 비밀번호 해싱 구현

* feat: UserDetailsService 구현

* feat: 로그인, 회원가입, 로그아웃 구현

* chore: 미사용 코드 주석 및 제거

* chore: security test 의존성 추가

* test: 회원가입, 로그인, 로그아웃 테스트 코드 작성

* feat: 세션을 세션 레지스트리에 저장하도록 변경

* chore: thymeleaf 의존성 추가

* feat: session 모니터링 뷰 추가

* fix: 세션 모니터링 url csrf, filter 통과 허용

* fix: 로그아웃 시에 sessionRegistry 에 등록된 세션 삭제하도록 수정

* remove: 샘플 DTO 삭제

* feat: ENUM 으로 filter 허용 엔드포인트 관리

* feat: CORS 에러 처리

* fix: 세션 생성 전에 접근하는 문제 해결

* test: 테스트 시 로그인 후 세션 전달하도록 수정

---------

Co-authored-by: doo1011 <[email protected]>

* feat: 템플릿 엔티티 수정

* 템플릿 생성 API 작업 TemplateController, TemplateService

* get방식에서 post 방식으로 변경

* Spring security 엔드포인트 관리, DB에 로깅 (#13)

* feat: spring security 설정

* feat: swagger try out 을 위한 쿠키 필터 추가

* chore: spring security 의존성 추가

* chore: swagger 쿠키 설정 추가

* rename: 디렉토리 구조 잘못 설정된 부분 이동

* feat: 팩토리 메서드 구현

* feat: 회원가입, 로그인 관련 DTO 구현

* feat: 비밀번호 해싱 구현

* feat: UserDetailsService 구현

* feat: 로그인, 회원가입, 로그아웃 구현

* chore: 미사용 코드 주석 및 제거

* chore: security test 의존성 추가

* test: 회원가입, 로그인, 로그아웃 테스트 코드 작성

* feat: 세션을 세션 레지스트리에 저장하도록 변경

* chore: thymeleaf 의존성 추가

* feat: session 모니터링 뷰 추가

* fix: 세션 모니터링 url csrf, filter 통과 허용

* fix: 로그아웃 시에 sessionRegistry 에 등록된 세션 삭제하도록 수정

* remove: 샘플 DTO 삭제

* feat: ENUM 으로 filter 허용 엔드포인트 관리

* feat: CORS 에러 처리

* fix: 세션 생성 전에 접근하는 문제 해결

* test: 테스트 시 로그인 후 세션 전달하도록 수정

* remove: endpoint enum 삭제

* feat: endpoint yml, props 로 관리

* test: 미사용 import 제거

* chore: 로그 DB 에 저장되도록 설정

* fix: warning 해결

---------

Co-authored-by: doo1011 <[email protected]>

* Update application-develop.yml

* Update application-production.yml

* chore: AI 호스트 변경

* Update application-develop.yml

* Space CRUD 리팩토링 (#14)

* feat: : 스페이스 관련 구현

* feat: 스페이스 컨트롤러 구현 중

* feat: 스페이스 컨트롤러 구현 중

* feat: 제약사항, dto변환 및 스페이스 업데이트 메서드 추가

* feat: 스페이스 생성&수정 기능 구현

* feat: 엔티티 변환 메서드 추가

* feat: 스페이스멤버 리파지토리 구현

* feat: 스페이스멤버리퀘스트dto 구현

* feat: 스페이스이름 검색 구현

* feat: 생성 및 수정 구현

* feat: 응답dto 구현

* test: 스페이스 test

* feat: 스페이스멤버응답dto 구현

* feat: 스페이스수정요청dto 구현

* fix: 관리자 타입변경 및 dto변환 메서드 삭제

* feat: 스페이스 조회 및 삭제 구현

* refactor: 엔티티 변환메서드 삭제

* feat: SpaceMapper 구현

* refactor: 속성 타입변경 및 조인

* feat: 권한체크용 메서드 구현

* feat: 스페이스 조회 및 삭제 구현

* refactor: id 삭제

* refactor: Getter 추가

* chore: mapstruct, security 추가

* feat: 스페이스 권한 enum 구현

* feat: 스페이스 초대상태 enum 구현

* test: 스페이스 수정 test작성

* refactor: id 컬럼명 변경

* refactor: 수정&삭제 시 권한체크 파라미터 변경

* refactor: toEntity ignore 추가

* refactor: Space & Users 컬럼명 변경

* refactor: 권한체크용 메서드 삭제

* refactor: 스페이스수정 권한체크 변경

* refactor: id 컬럼명 변경

* test: User 구현 후 재작성 예정

* test: 오류테스트 주석처리

* refactor: id 컬럼명 변경

* refactor: 스페이스멤버 리파지토리 필드 제거

* refactor: getId -> getUserId

* feat: 스페이스멤버추가Dto 구현

* feat: 스페이스멤버추가구현

* docs: 로직 주석으로 정리

* test: 스페이스  test

* test: 스페이스  test

* test: 스페이스  test

* test: 테스트코드 삭제

* feat: 권한체크 메서드 추가

* fix: 생성 및 수정 변경

생성 -> @Vaild 추가
수정 -> SpaceUpdateRequestDto에 Users 추가

* fix: 업데이트 메서드에 권한체크 추가

* feat: findByIdOrThrow 구현

* fix: 권한체크 등 중복메서드로 분리

* refactor: Users 필드추가

* test: 스페이스 CRUD 통합테스트 작성

* refactor: dto에 swagger 추가 (#15)

* refactor: dto에 swagger 추가

* refactor: 생성일&수정일 필드명 변경

* refactor: 매핑변경

toEntity -> 생성일&수정일 매핑 추가
toResponseDto -> 생성일&수정일 매핑 삭제

* chore: Lombok

* 시스템 컬럼 추가, 스페이스 API 수정 (#18)

* feat: entity 전체 시스템 컬럼 추가

* feat: 로그인 시 userId 저장하기 위해 CustomUserDetails 구현

* feat: userId 추가

* fix: security context 에서 user 정보 조회하도록 수정

* test: space test 주석

* chore: 미사용 코드 주석 처리

* chore: 미사용 코드 주석 처리

---------

Co-authored-by: doo1011 <[email protected]>

* feat: 템플릿 조회기능 구현 (#17)

* feat : 템플릿 조회 기능 추가(SpaceId: common은 0으로 처리 예정)
  - TemplateController.java, TemplateRepository.java, TemplateService.java 파일 수정
  - TemplateTitleResponseDto.java 파일 추가

* refactor : 'spaceId'가 0(common)값으로 들어와도 같은 api로 처리 할 수 있게 변경
  -TemplateController.java, TemplateRepository.java, TemplateService.java 파일 수정

* refactor : Service에서의 책임감소로 코드 간결화, Dto, Entity에서 로직 구현
  - TemplateTitleResponseDto.java, entity/Template.java, TemplateService.java 파일 수정

* refactor : 코드 컨벤션에 맞게 수정 및 Entity와 Dto에서 생성자 Protected 접근제어자로 수정

* refactor : 템플릿 및 Space의 Id null값 처리

* tess : 테스트 코드 작성
  - controller, dto, entity, integration, servcie 테스트 코드 작성

* fix : 머지과정 에러 수정

괄호 수정

* feat: 템플릿 상세조회기능 구현  (#20)

* feat : 템플릿 조회 기능 추가(SpaceId: common은 0으로 처리 예정)
  - TemplateController.java, TemplateRepository.java, TemplateService.java 파일 수정
  - TemplateTitleResponseDto.java 파일 추가

* refactor : 'spaceId'가 0(common)값으로 들어와도 같은 api로 처리 할 수 있게 변경
  -TemplateController.java, TemplateRepository.java, TemplateService.java 파일 수정

* refactor : Service에서의 책임감소로 코드 간결화, Dto, Entity에서 로직 구현
  - TemplateTitleResponseDto.java, entity/Template.java, TemplateService.java 파일 수정

* refactor : 코드 컨벤션에 맞게 수정 및 Entity와 Dto에서 생성자 Protected 접근제어자로 수정

* refactor : 템플릿 및 Space의 Id null값 처리

* tess : 테스트 코드 작성
  - controller, dto, entity, integration, servcie 테스트 코드 작성

* feat : 템플릿 상세조회 기능 추가
  - TemplateController.java, Template.java, TemplateRepository.java, TemplateService.java 파일 수정
  - TemplateDetailResponseDto.java 파일 추가

* test : 테스트코드 수정 및 추가
  - 상세조회기능에 대한 테스트코드 추가로 인한 기존에 작성한 테스트코드 일부 수정
    - TemplateControllerTest.java, TemplateTest.java, TemplateServiceTest.java 파일 수정
  - TemplateDetailResponseDtoTest.java 파일 추가

* 템플릿 저장/삭제 구현 (#21)

* refactor: dto에 swagger 추가

* refactor: 생성일&수정일 필드명 변경

* refactor: 매핑변경

toEntity -> 생성일&수정일 매핑 추가
toResponseDto -> 생성일&수정일 매핑 삭제

* feat: 템플릿 저장 구현

* refactor: 찾는 메서드 변경

* chore: 미사용 import 삭제

* fix: 카카오 템플릿 삭제

* fix: 카카오 템플릿 삭제

* refactor: Template 엔티티 repository 책임 분리 및 사용하지 않는 메서드 정리 (#22)

* test : ControllerTest제외 테스트 코드 전부 제거

* refactor : 불필요한 메서드 제거 및 엔티티에서 Repository bean 파라미터 받지않고 Service에서 책임

* refactor : 사용하지 않는 메서드 제거

* yml 설정, DTO 내부 구현 분리, Service 리팩토링, Controller 간소화, 외부 API Util 분리, DTO 타입 분리

* template service 충돌 문제 해결

* Feature/update delete contact (#23)

* test : 테스트코드 수정

* feat : 연락처 수정 기능 추가(spaceId, contactId를 변수로 받아 수정)
  - SpaceContactController.java, SpaceContact.java, SpaceContactRepository.java, SpaceContactService.java 파일 수정
  - SpaceContactUpdateRequestDto.java, SpaceContactUpdateResponseDto.java 파일 추가

* refactor : 주석 추가

* refactor : 주석 변경, 서비스 책임 감소 및 코드 간결화
  - ContactRepository.java Swagger 방식의 주석으로 변경, @query방식으로 변경
  - SpaceContactService.java 서비스의 책임감소로 코드 간결화
  - ContactRequestDto.java, SpaceContactUpdateRequestDto.java 파일 서비스의 책임감소로 인해 책임 증가 및 코드 변경

* test : 테스트코드 작성

* feat : 연락처 삭제기능 추가

* refactor : 삭제기능 추가에 따른 삭제상태 추가 및 태그 관련 추가

* refactor : 연락처 삭제를 물리삭제가 아닌방법으로 변경, 주석 및 변수명, 타입 수정

* test : 연락추 수정 및 삭제 기능 추가로 인한 테스트코드 수정, Controller테스트코드 제외한 테스트코드 삭제

* refactor : 사용하지 않는 import 제거

* refactor : 스페이스 존재여부 검증 추가

* refactor : responsebody에 필요하지 않는 값 제거

* refactor : 연락처 조회기능 추가

* Feature/update delete contact test (#25)

* test : 테스트코드 수정

* feat : 연락처 수정 기능 추가(spaceId, contactId를 변수로 받아 수정)
  - SpaceContactController.java, SpaceContact.java, SpaceContactRepository.java, SpaceContactService.java 파일 수정
  - SpaceContactUpdateRequestDto.java, SpaceContactUpdateResponseDto.java 파일 추가

* refactor : 주석 추가

* refactor : 주석 변경, 서비스 책임 감소 및 코드 간결화
  - ContactRepository.java Swagger 방식의 주석으로 변경, @query방식으로 변경
  - SpaceContactService.java 서비스의 책임감소로 코드 간결화
  - ContactRequestDto.java, SpaceContactUpdateRequestDto.java 파일 서비스의 책임감소로 인해 책임 증가 및 코드 변경

* test : 테스트코드 작성

* feat : 연락처 삭제기능 추가

* refactor : 삭제기능 추가에 따른 삭제상태 추가 및 태그 관련 추가

* refactor : 연락처 삭제를 물리삭제가 아닌방법으로 변경, 주석 및 변수명, 타입 수정

* test : 연락추 수정 및 삭제 기능 추가로 인한 테스트코드 수정, Controller테스트코드 제외한 테스트코드 삭제

* refactor : 사용하지 않는 import 제거

* refactor : 스페이스 존재여부 검증 추가

* refactor : responsebody에 필요하지 않는 값 제거

* refactor : 연락처 조회기능 추가

* test : 연락처 조회기능 추가로 인한 테스트코드 수정

* test : 테스트코드 필요없는 주석 제거

* Feature/update user info (#26)

* feat : 회원 정보 조회 및 수정기능 구현
  - 회원 정보 조회 endpoint : /info
  - 회원 정보 수정 endpoint : /update
  - UserRepository.java 이메일 중복검증을 위해 수정
  - entity/Users.java 수정된 값이 1개도 없을 경우 업데이트하지 않는 기능 구현을 위한 변경

* test : 테스트 코드 작성 및 테스트 코드 실행에 필요한 application-test.yml파일 test/resources 경로에 생성

* refactor : 현 이메일은 중복체크하지 않게 수정

* refactor : save()메서드 제거 및 변경결과 없음 체크 로직 제거

* refactor: AI와 응답 필드 매칭 (기존 2개 -> 8개필드로 확장)

* feat: 사용자 아이디/이메일 중복체크 API 추가 (#29)

* chore : 아이디 및  이메일 중복검증을 위해 해당 api 엔드포인트 추가

* refactor : 회원정보 수정 시 수정사항 없을 때 반환할 204를 반환하기 위해 수정체크하는 코드 추가

* feature : 회원가입할 때 사용할 아이디 중복검사 및 이메일 중복검사 기능 api 구현

* chore : 테스트코드 동작을 위해 엔드포인트 추가

* test : 중복검사에 관한 테스트 코드 작성

* refactor : 아이디변경 기능을 사용하지 않음에 따라 코드 주석처리

* test : 아이디변경 기능 사용하지 않음에 따라 테스트코드 변경

* 중복 로그인 처리 (#30)

* feat: 세션 삭제 추가

* chore: db host 변경

* feat: user 정보 username 으로 hash, equals 하도록 override

* feat: session 유효시간 설정

* feat: session 만료, 없을 시 filter 에서 에러 처리

* feat: session 모니터링 화면에 유효시간, 만료여부 추가

* fix: warning, 주석 error 해결

* fix: warning 해결

---------

Co-authored-by: doo1011 <[email protected]>

* feat : 연락처 태그검색 기능 구현 (#33)

* feature : 연락처 태그로 검색 기능 추가

* refactor : swagger 주석 수정

* refactor : swagger 주석 변경

* test : 연락처 태그관련 조회기능  추가에 따른 테스트코드 수정

* 아이디, 비밀번호, 이메일 정규식 추가 UserController/UserService

* UserService 메서드이름(getUsername에서 getName으로 변경)

* 비밀번호 변경 구현 (#37)

* chore: lint 체크 수정

* chore: 메일 api 추가

* feat: password reset token 엔티티 추가

* feat: client ip resolver 구현

* feat: 비밀번호 변경용 이메일 전송 초기 구현

* chore: 메일 전송 api filter 제외, 프론트엔드 도메인 변경

* fix: 하드코딩된 포맷 변경

* fix: url 에 토큰 포함하도록 수정

* feat: 이메일로 회원 조회

* feat: 비밀번호 업데이트 메서드 추가

* feat: 비밀번호 변경용 토큰 체크, 비밀번호 변경 API 구현

* feat: 비밀번호 변경용 토큰 체크, 비밀번호 변경 API 구현

* chore: 비밀번호 변경 관련 api filter 체크 제외 처리

* chore: resttemplate 대신 webclient 쓰기 -> 주석

* fix: warning 해결

* fix: warning 해결

* chore: fix lint

---------

Co-authored-by: doo1011 <[email protected]>

* 템플릿 저장 기능 구현 및 템플릿 테스트코드관련 에러 해결 (#38)

* feature : 템플릿 저장 기능 구현

* test : 테스트 에러 해결 및 템플릿 저장관련 기능 추가로 인한 테스트 코드 수정

* refactor : 스페이스 존재 검증 추가로 인한 에러메시지 변경

* refactor : 사용하지 않는 저장 상태 변경 주석으로 처리, 스페이스 조회, 저장에 관한 기능에서 스페이스 존재 여부 검증 추가

* test: 테스트 코드 임시 해제

---------

Co-authored-by: doo1011 <[email protected]>
Co-authored-by: sejun0205 <[email protected]>
Co-authored-by: rhddbr24 <[email protected]>
Co-authored-by: juykoung <[email protected]>
Co-authored-by: yong <[email protected]>
Co-authored-by: dev365code <[email protected]>

* Update application.yml

* refactor: toEntity 필요없는 매핑속성 제거

* refactor: 생성자 추가

* feat: 스페이스멤버 리스트 조회 구현

* refactor: 템플릿리스트조회 기능 재추가

* feat: 스페이스멤버 Mapper 구현

* fix: 중복코드 제거

* fix: spotlessApply

---------

Co-authored-by: Kyeongdoo Hur <[email protected]>
Co-authored-by: doo1011 <[email protected]>
Co-authored-by: sejun0205 <[email protected]>
Co-authored-by: rhddbr24 <[email protected]>
Co-authored-by: yong <[email protected]>
Co-authored-by: dev365code <[email protected]>

* 필드값 수정으로 프론트 Null 입력값 처리를 위한 예외처리 및 파싱 로직 수정

* fix: Apply spotless code formatting

* 스페이스 생성 시 멤버로 자동추가 구현 (#46)

기존 : 스페이스 생성자가 관리자만로 자동 등록됨
변경 : 관리자 및 스페이스멤버로 등록됨

* feat: 스페이스생성 시 멤버로 추가 구현

* fix: 템플릿 API 경로 충돌 해결 (#49)

- @PostMapping("/create-template")을 @GetMapping("/{spaceId}") 위로 이동
- Spring 라우팅에서 구체적 경로가 먼저 매칭되도록 순서 변경
- main 브랜치와 동일한 라우팅 순서 적용하여 충돌 방지

* chore: fix lint

* fix: 중복 코드 제거

* 회원가입시 필요한 중복검사로직 변경 및 회원정보 수정시에 검증로직 변경 (#51)

* refactor : 사용하지 않는 api 제거 및 기능과 주석 제거

* refactor : 에러코드 추가

* refactor : 서비스에서 중복검사 로직 수정(반환에러코드 변경 및 메서드로 중복체크), 사용자 회원가입 및 회원정보수정 변경

* chore : 이메일 및 아이디 중복검사 api미사용으로 인한 yml파일에서 필요없는 권한 제거

* refactor : 이전과 동일한 값이여도 변경 할 수 있게 변경함에 따른 해당 에러코드 제거

* refactor : 이전과 동일한 값으로 변경을 에러로 반환하지 않기 위해 service 코드 변경

* test : 테스트코드 수정

* template list 없어진 코드 재추가

* feat: 템플릿 리스트 조회 구현

* chore: fix lint

* 템플릿 생성요청 - 생성 시 불필요한 변환을 제거, 직접 패스스루 (#58)

* fix: 템플릿 API 경로 충돌 해결

- @PostMapping("/create-template")을 @GetMapping("/{spaceId}") 위로 이동
- Spring 라우팅에서 구체적 경로가 먼저 매칭되도록 순서 변경
- main 브랜치와 동일한 라우팅 순서 적용하여 충돌 방지

* fix : 템플릿 생성 과정에서 프론트 - AI 간 필드 일치로 패쓰스루(불필요한 변환 제거)

---------

Co-authored-by: Kyeongdoo Hur <[email protected]>

* 스페이스생성 시 권한-관리자로 설정

* feat: 템플릿 리스트 조회 구현

* chore: fix lint

* refactor: 스페이스생성시 관리자 권한부여 구현

* fix: 없어진 코드 되살리기

* 연락처 관련 올바르지 않은 입력으로 생긴 에러가 500으로 출력되던것을 클라이언트 에러로 수정 (#62)

* refactor : 연락처 관련 올바르지 않은 입력으로 생긴 에러가 500으로 출력되던것을 클라이언트 에러로 수정

* refactor : 연락처 추가시에도 입력 검증로직 변경

* refactor : id/check, email/check api사용으로 다시 복구 및 메서드에 맞게 수정, 해당 api 사용으로인한 yml파일에서 경로 추가 (#63)

* getTemplateList 특정 스페이스의 템플릿만 조회되도록 수정 (#66)

* feat: 스페이스멤버 초대 구현중

* feat: 스페이스id, 유저id로 스페이스 멤버조회 구현

* refactor: 스페이스멤버 추가 구현 중(2)

1. 관리자 검증 추가
2. 사용자 조회 추가
 - 이메일로 유효성 검증
  - 이미 멤버인지 검증
  - 멤버 아닐 시, 멤버로 등록

* refactor: findByEmailAndSpaceId 제거

* fix: 템플릿 리스트 조회 수정

특정 space의 템플릿만 나오도록 수정

* 템플릿리스트에 템플릿아이디 추가 (#68)

* feat: 스페이스멤버 초대 구현중

* feat: 스페이스id, 유저id로 스페이스 멤버조회 구현

* refactor: 스페이스멤버 추가 구현 중(2)

1. 관리자 검증 추가
2. 사용자 조회 추가
 - 이메일로 유효성 검증
  - 이미 멤버인지 검증
  - 멤버 아닐 시, 멤버로 등록

* refactor: findByEmailAndSpaceId 제거

* fix: 템플릿 리스트 조회 수정

특정 space의 템플릿만 나오도록 수정

* fix: 템플릿 리스트 조회 수정

템플릿 아이디 추가

* 태그 추가로 인해 생긴 인코딩문제 및 연락처 추가시에 request로 태그 입력 받을 수 있게 변경 (#71)

* refactor : 서버환경에서 태그 인코딩 문제로 swqgger 작동하지 않는 문제 해결

* refactror : 연락처 추가시에 request로 태그를 받을 수 있게 변경

* 회원탈퇴 구현 (#72)

* feature : 사용자 회원탈퇴 (논리삭제) 구현

* refactor : 회원탈퇴 논리삭제 구현으로 생긴 삭제된 상태의 칼럼을 조회하지 않기 위해 repository의 jpa메서드 변경

* refactor : 회원탈퇴시 로그아웃 기능 추가
  - securityconfig파일 내부에서 통합 로그인으로 사용 할 수 있게 따로 common/service/Logoutservice.java 서비스에서 해당 로직을 구현하여 호출하는 방식으로 변경

* refactor : 순환참조 에러 해결

* refactor : 주석추가 및 회원탈퇴시에 로그아웃을 호출로변경

* SpaceMember email 제거 (#74)

* feat: 스페이스멤버 초대 구현중

* feat: 스페이스id, 유저id로 스페이스 멤버조회 구현

* refactor: 스페이스멤버 추가 구현 중(2)

1. 관리자 검증 추가
2. 사용자 조회 추가
 - 이메일로 유효성 검증
  - 이미 멤버인지 검증
  - 멤버 아닐 시, 멤버로 등록

* refactor: findByEmailAndSpaceId 제거

* refactor: SpaceMember email 제거

* refactor : 연락처 태그필터링 조회 로그출력

* 스페이스멤버 초대/메일발송 API 구현 (#78)

* feat: 스페이스멤버 초대 구현중

* feat: 스페이스id, 유저id로 스페이스 멤버조회 구현

* refactor: 스페이스멤버 추가 구현 중(2)

1. 관리자 검증 추가
2. 사용자 조회 추가
 - 이메일로 유효성 검증
  - 이미 멤버인지 검증
  - 멤버 아닐 시, 멤버로 등록

* refactor: findByEmailAndSpaceId 제거

* refactor: SpaceMember email 제거

* feat: 멤버초대 구현

* docs: 불필요한 부분 삭제

* feat: 스페이스 멤버 추가 구현

특이사항 : SpaceMember 엔티티에 email 필드 재추가

* feat: findByEmail 추가

* docs: swagger 추가

* fix: findByUserEmailAndSpaceIdAndStatus 쿼리수정

* feat: 필드 및 메서드 추가

* refactor: 불필요 메서드 삭제

* fix: @AuthenticationPrincipal 추가

* refactor: 스페이스 멤버 리스트 조회 시, sm.isDeleted 추가

* refactor: 초대메일 발송 후 InviteStatus 테이블에 저장되도록 로직 수정

* docs: 스페이스멤버 초대 메일 템플릿 구현

* feat: InviteStatusRepository 구현

* chore: 불필요 import 삭제

* fix: 비회원 inviteStatus에 insert되지 않는 부분 수정

* fix: 낡은 쿠키 사용하던 문제 해결 (#79)

Co-authored-by: doo1011 <[email protected]>

* AI 채팅 SSE 로 처리 (#77)

* feat: AI 채팅 API 요청 컨트롤러 구현

* chore: fix lint

* feat: service 에서 AI 서버 응답 가공해서 보내도록 수정, parsing 메서드들 ExternalApiUtil 로 분리

* chore: fix lint and warning

* chore: fix lint

---------

Co-authored-by: doo1011 <[email protected]>

* 스페이스연락처 : phoneNum -> phoneNumber, contactId -> id로 필드명 통일 (#83)

* refactor : phoneNum -> phoneNumber로 필드명 통일

* refactor : spaceId -> id로 변수명 통일

* fix : 중복 메서드 정의 제거

* 스페이스멤버 초대 시, arrayList로 기존멤버/신규멤버 나눔 (#85)

* feat: 스페이스멤버 초대 구현중

* feat: 스페이스id, 유저id로 스페이스 멤버조회 구현

* refactor: 스페이스멤버 추가 구현 중(2)

1. 관리자 검증 추가
2. 사용자 조회 추가
 - 이메일로 유효성 검증
  - 이미 멤버인지 검증
  - 멤버 아닐 시, 멤버로 등록

* refactor: findByEmailAndSpaceId 제거

* refactor: SpaceMember email 제거

* feat: 멤버초대 구현

* docs: 불필요한 부분 삭제

* feat: 스페이스 멤버 추가 구현

특이사항 : SpaceMember 엔티티에 email 필드 재추가

* feat: findByEmail 추가

* docs: swagger 추가

* fix: findByUserEmailAndSpaceIdAndStatus 쿼리수정

* feat: 필드 및 메서드 추가

* refactor: 불필요 메서드 삭제

* fix: @AuthenticationPrincipal 추가

* refactor: 스페이스 멤버 리스트 조회 시, sm.isDeleted 추가

* refactor: 초대메일 발송 후 InviteStatus 테이블에 저장되도록 로직 수정

* docs: 스페이스멤버 초대 메일 템플릿 구현

* feat: InviteStatusRepository 구현

* chore: 불필요 import 삭제

* fix: 비회원 inviteStatus에 insert되지 않는 부분 수정

* fix: ${restUrl} 수정

* refactor: 스페이스 멤버로 등록될 때, 논리삭제값 자동세팅

* fix: 메일url 수정

이외 사항
- inviteSpaceMember 코드 정리
- acceptInvitationByEmail 반환타입 변경

* refactor: 안쓰는 메서드 삭제

* refactor: acceptInvitation 리턴타입 변경

* refactor: EXPIRED(초대 유효일 만료) 상태추가

* fix: 이전 머지에 누락된sendInviteEmailToUser 파라미터 email 추가

* rename : dto로 경로이동

* feat : findByEmailAndSpaceIdAndStatus 메서드 추가

* refactor : 멤버초대/메일수락 수정

- inviteSpaceMember: dto 리스트 기멤버/신규멤버 나눠서 arrayList에 담고 결과 반환

- acceptInvitationByEmail: 초대상태 필터링 + 기한만료 초대 제외

* feat: 스페이스 멤버 초대 결과를 담는 InviteResult DTO 추가

* 스페이스연락처관련 필드명 통일 (#84)

* chore: 설정파일 세팅, H2 DB/JPA 세팅

* feat: 기본 구조 설정

* feat: 기본 엔티티 생성

* chore: h2 url 변경

* chore: production 설정에 mysql 연결 설정

* chore: gitignore 에 로그 추가

* chore: 로깅 설정

* chore: Swagger 설정

* chore: layer 별 로깅 AOP 추가

* rename: 로깅 aop 디렉토리 변경

* feat: GlobalExceptionHandler 구현

* chore: 코드 warning 포인트 수정

* chore: swagger 버전 변경

* feat:템플릿 엔티티 생성 및 enum클래스 생성

* fix:템플렛 엔티티 수정

* 회원가입, 로그인, 로그아웃 구현 (#5)

* Create deploy.yml

* Update deploy.yml

* Update deploy.yml

* Update ci.yml

* Update ci.yml

* chore: docker 관련 설정

* Update ci.yml

* Update ci.yml

* Update deploy.yml

* Update deploy.yml

* Update deploy.yml

* Update deploy.yml

* Update deploy.yml

* Update deploy.yml

* Update deploy.yml

* Update deploy.yml

* Update ci.yml

* Update ci.yml

* chore: profile 레벨 변경

* feat: spring security 설정

* feat: swagger try out 을 위한 쿠키 필터 추가

* chore: spring security 의존성 추가

* chore: swagger 쿠키 설정 추가

* rename: 디렉토리 구조 잘못 설정된 부분 이동

* feat: 팩토리 메서드 구현

* feat: 회원가입, 로그인 관련 DTO 구현

* feat: 비밀번호 해싱 구현

* feat: UserDetailsService 구현

* feat: 로그인, 회원가입, 로그아웃 구현

* chore: 미사용 코드 주석 및 제거

* chore: security test 의존성 추가

* test: 회원가입, 로그인, 로그아웃 테스트 코드 작성

* feat: 세션을 세션 레지스트리에 저장하도록 변경

* chore: thymeleaf 의존성 추가

* feat: session 모니터링 뷰 추가

* fix: 세션 모니터링 url csrf, filter 통과 허용

* fix: 로그아웃 시에 sessionRegistry 에 등록된 세션 삭제하도록 수정

---------

Co-authored-by: doo1011 <[email protected]>

* feat: 연락처 추가 API 구현 (#4)

* feat : 'Space 연락처 추가'기능 추가
 - 'Swagger'를 통해 'H2'DB에 데이터 추가되어지는거 확인
 - SpaceContactController, ContactRequestDto, ContactResponseDto, SapceContactRepository, SpaceContactService 추가
 - SpaceContact 변경

* test : 'Space 연락처 추가' 기능에 대한 테스트코드 작성
 - Controller, Repoository, Service 및 통합테스트코드 작성

* fix : 컨트롤러 엔드포인트 변경

* refactor : @DaTa가 아닌 @Getter@Setter 사용 제거, 생성자 Protected로 변경 @builder제거 커스텀으로 작성

* refactor : ContactRequestDto에서 @DaTa가 아닌 @Getter@Setter 사용 제거, 생성자 Protected로 변경 Dto 내부에서 엔티티 객체를 생성하도록 변경

* refactor : 사용하지 않는 import문 제거

* test : 불필요한 test코드 삭제

* test : 테스트코드 변경한 api 엔드포인트에 맞게 변경

* test : 테스트코드 수정 (#9)

* feat: : 스페이스 관련 구현 (#1)

* feat: : 스페이스 관련 구현

* feat: 스페이스 컨트롤러 구현 중

* feat: 스페이스 컨트롤러 구현 중

* feat: 제약사항, dto변환 및 스페이스 업데이트 메서드 추가

* feat: 스페이스 생성&수정 기능 구현

* feat: 엔티티 변환 메서드 추가

* feat: 스페이스멤버 리파지토리 구현

* feat: 스페이스멤버리퀘스트dto 구현

* feat: 스페이스이름 검색 구현

* feat: 생성 및 수정 구현

* feat: 응답dto 구현

* test: 스페이스 test

* feat: 스페이스멤버응답dto 구현

* feat: 스페이스수정요청dto 구현

* fix: 관리자 타입변경 및 dto변환 메서드 삭제

* feat: 스페이스 조회 및 삭제 구현

* refactor: 엔티티 변환메서드 삭제

* feat: SpaceMapper 구현

* refactor: 속성 타입변경 및 조인

* feat: 권한체크용 메서드 구현

* feat: 스페이스 조회 및 삭제 구현

* refactor: id 삭제

* refactor: Getter 추가

* chore: mapstruct, security 추가

* feat: 스페이스 권한 enum 구현

* feat: 스페이스 초대상태 enum 구현

* test: 스페이스 수정 test작성

* refactor: id 컬럼명 변경

* refactor: 수정&삭제 시 권한체크 파라미터 변경

* refactor: toEntity ignore 추가

* refactor: Space & Users 컬럼명 변경

* refactor: 권한체크용 메서드 삭제

* refactor: 스페이스수정 권한체크 변경

* refactor: id 컬럼명 변경

* test: User 구현 후 재작성 예정

* test: 오류테스트 주석처리

* refactor: id 컬럼명 변경

* refactor: 스페이스멤버 리파지토리 필드 제거

* refactor: getId -> getUserId

* feat: 스페이스멤버추가Dto 구현

* feat: 스페이스멤버추가구현

* docs: 로직 주석으로 정리

* Spring security 추가 설정 (#10)

* Create deploy.yml

* Update deploy.yml

* Update deploy.yml

* Update ci.yml

* Update ci.yml

* chore: docker 관련 설정

* Update ci.yml

* Update ci.yml

* Update deploy.yml

* Update deploy.yml

* Update deploy.yml

* Update deploy.yml

* Update deploy.yml

* Update deploy.yml

* Update deploy.yml

* Update deploy.yml

* Update ci.yml

* Update ci.yml

* chore: profile 레벨 변경

* feat: spring security 설정

* feat: swagger try out 을 위한 쿠키 필터 추가

* chore: spring security 의존성 추가

* chore: swagger 쿠키 설정 추가

* rename: 디렉토리 구조 잘못 설정된 부분 이동

* feat: 팩토리 메서드 구현

* feat: 회원가입, 로그인 관련 DTO 구현

* feat: 비밀번호 해싱 구현

* feat: UserDetailsService 구현

* feat: 로그인, 회원가입, 로그아웃 구현

* chore: 미사용 코드 주석 및 제거

* chore: security test 의존성 추가

* test: 회원가입, 로그인, 로그아웃 테스트 코드 작성

* feat: 세션을 세션 레지스트리에 저장하도록 변경

* chore: thymeleaf 의존성 추가

* feat: session 모니터링 뷰 추가

* fix: 세션 모니터링 url csrf, filter 통과 허용

* fix: 로그아웃 시에 sessionRegistry 에 등록된 세션 삭제하도록 수정

* remove: 샘플 DTO 삭제

* feat: ENUM 으로 filter 허용 엔드포인트 관리

* feat: CORS 에러 처리

* fix: 세션 생성 전에 접근하는 문제 해결

* test: 테스트 시 로그인 후 세션 전달하도록 수정

---------

Co-authored-by: doo1011 <[email protected]>

* feat: 템플릿 엔티티 수정

* 템플릿 생성 API 작업 TemplateController, TemplateService

* get방식에서 post 방식으로 변경

* Spring security 엔드포인트 관리, DB에 로깅 (#13)

* feat: spring security 설정

* feat: swagger try out 을 위한 쿠키 필터 추가

* chore: spring security 의존성 추가

* chore: swagger 쿠키 설정 추가

* rename: 디렉토리 구조 잘못 설정된 부분 이동

* feat: 팩토리 메서드 구현

* feat: 회원가입, 로그인 관련 DTO 구현

* feat: 비밀번호 해싱 구현

* feat: UserDetailsService 구현

* feat: 로그인, 회원가입, 로그아웃 구현

* chore: 미사용 코드 주석 및 제거

* chore: security test 의존성 추가

* test: 회원가입, 로그인, 로그아웃 테스트 코드 작성

* feat: 세션을 세션 레지스트리에 저장하도록 변경

* chore: thymeleaf 의존성 추가

* feat: session 모니터링 뷰 추가

* fix: 세션 모니터링 url csrf, filter 통과 허용

* fix: 로그아웃 시에 sessionRegistry 에 등록된 세션 삭제하도록 수정

* remove: 샘플 DTO 삭제

* feat: ENUM 으로 filter 허용 엔드포인트 관리

* feat: CORS 에러 처리

* fix: 세션 생성 전에 접근하는 문제 해결

* test: 테스트 시 로그인 후 세션 전달하도록 수정

* remove: endpoint enum 삭제

* feat: endpoint yml, props 로 관리

* test: 미사용 import 제거

* chore: 로그 DB 에 저장되도록 설정

* fix: warning 해결

---------

Co-authored-by: doo1011 <[email protected]>

* Update application-develop.yml

* Update application-production.yml

* chore: AI 호스트 변경

* Update application-develop.yml

* Space CRUD 리팩토링 (#14)

* feat: : 스페이스 관련 구현

* feat: 스페이스 컨트롤러 구현 중

* feat: 스페이스 컨트롤러 구현 중

* feat: 제약사항, dto변환 및 스페이스 업데이트 메서드 추가

* feat: 스페이스 생성&수정 기능 구현

* feat: 엔티티 변환 메서드 추가

* feat: 스페이스멤버 리파지토리 구현

* feat: 스페이스멤버리퀘스트dto 구현

* feat: 스페이스이름 검색 구현

* feat: 생성 및 수정 구현

* feat: 응답dto 구현

* test: 스페이스 test

* feat: 스페이스멤버응답dto 구현

* feat: 스페이스수정요청dto 구현

* fix: 관리자 타입변경 및 dto변환 메서드 삭제

* feat: 스페이스 조회 및 삭제 구현

* refactor: 엔티티 변환메서드 삭제

* feat: SpaceMapper 구현

* refactor: 속성 타입변경 및 조인

* feat: 권한체크용 메서드 구현

* feat: 스페이스 조회 및 삭제 구현

* refactor: id 삭제

* refactor: Getter 추가

* chore: mapstruct, security 추가

* feat: 스페이스 권한 enum 구현

* feat: 스페이스 초대상태 enum 구현

* test: 스페이스 수정 test작성

* refactor: id 컬럼명 변경

* refactor: 수정&삭제 시 권한체크 파라미터 변경

* refactor: toEntity ignore 추가

* refactor: Space & Users 컬럼명 변경

* refactor: 권한체크용 메서드 삭제

* refactor: 스페이스수정 권한체크 변경

* refactor: id 컬럼명 변경

* test: User 구현 후 재작성 예정

* test: 오류테스트 주석처리

* refactor: id 컬럼명 변경

* refactor: 스페이스멤버 리파지토리 필드 제거

* refactor: getId -> getUserId

* feat: 스페이스멤버추가Dto 구현

* feat: 스페이스멤버추가구현

* docs: 로직 주석으로 정리

* test: 스페이스  test

* test: 스페이스  test

* test: 스페이스  test

* test: 테스트코드 삭제

* feat: 권한체크 메서드 추가

* fix: 생성 및 수정 변경

생성 -> @Vaild 추가
수정 -> SpaceUpdateRequestDto에 Users 추가

* fix: 업데이트 메서드에 권한체크 추가

* feat: findByIdOrThrow 구현

* fix: 권한체크 등 중복메서드로 분리

* refactor: Users 필드추가

* test: 스페이스 CRUD 통합테스트 작성

* refactor: dto에 swagger 추가 (#15)

* refactor: dto에 swagger 추가

* refactor: 생성일&수정일 필드명 변경

* refactor: 매핑변경

toEntity -> 생성일&수정일 매핑 추가
toResponseDto -> 생성일&수정일 매핑 삭제

* chore: Lombok

* 시스템 컬럼 추가, 스페이스 API 수정 (#18)

* feat: entity 전체 시스템 컬럼 추가

* feat: 로그인 시 userId 저장하기 위해 CustomUserDetails 구현

* feat: userId 추가

* fix: security context 에서 user 정보 조회하도록 수정

* test: space test 주석

* …
… into feature/spaceMember-register

# Conflicts:
#	src/main/java/org/fastcampus/jober/space/controller/SpaceMemberController.java
#	src/main/java/org/fastcampus/jober/space/repository/SpaceMemberRepository.java
#	src/main/java/org/fastcampus/jober/space/service/SpaceMemberService.java
…to feature/spaceMember-register

# Conflicts:
#	src/main/java/org/fastcampus/jober/space/controller/SpaceMemberController.java
#	src/main/java/org/fastcampus/jober/space/service/SpaceMemberService.java
@juykoung juykoung merged commit ce19a92 into develop Oct 1, 2025
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant