-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(meeting): Implementation of features related to meeting requests #105
Conversation
* test feature * modify dto
@Chaerim1001 |
public ResponseDto<Long> acceptMeetingRequest(@MemberId Long memberId, | ||
@RequestBody @Valid MeetingRequestAcceptDto requestDto, | ||
@PathVariable Long meetingRequestId) { | ||
final String openChatLink = requestDto.kakaoOpenChatLink(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Dto를 그대로 넘기지 않고 String 데이터를 빼서 Service로 넘긴 이유가 있으신가요?!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
미팅 요청을 처리하는 Service 입장에서는 사용자로부터 받은 오픈채팅방 링크만 필요하기때문에 String 데이터를 따로 빼서 넘겨주었습니다!
불필요한 계층간 의존성도 줄일 수 있을 것 같아요!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
미팅 로직이 엄청 복잡했을텐데 수고 많으셨습니다!!
* style(cost): rename files credit to cost * refactor(cost): modify cost fields and adding cost data * feat(cost): add cost repository and test * refactor(cost): add CostAuthorize type * feat(cost): add payment type cost and modify entity fields * refactor(cost): modify cost authorization management logic * @CostAuthorize annotation hierarchy -> value = Role > type * feat(cost): add CostNotFoundException * refactor(meeting): add @param syntax to named parameter in query * feat(cost): add query for find cost value * test(cost): add credit deduction test * feat(cost): add cost events and change reduction credit logic for cost management --------- Co-authored-by: KAispread <[email protected]>
Kudos, SonarCloud Quality Gate passed! 0 Bugs |
* build(ci): add develop branch to ci workflow * build(gradle): add settings for flyway * feat(error): add exception handler and CustomException (#7) * style(config): move H2Config class to 'config' package * feat(error): add Base Exception Class * feat(error): add sms credential exception * fix(message): file encoding setting to UTF-8 * feat(error): add exception handler class * feat(error): add method to catch unexpected exceptions * style(error): add final syntax * feat(db): add entity (#10) * feat(member): add member entity * test(member): add member entity test cases * feat(profileImage): add profileImage entity * refactor(member): change null option of preference column * refactor(profileImage): change directory name * feat(profileImage): add Member parameter to builder * feat(team): add team entity * feat(code): add groupCode and code entity * feat(memberInterest): add memberInterest entity * feat(memberPreferenceMeetingType): add memberPreferenceMeetingType entity * test(member): change function based on bug vulnerabilities * refactor(memberPreferenceMeetingType): rename entity id * refactor(member): separate columns into collegeInfo and preference class * test(member): delete MemberTest * chore: add eof * refactor: change annotation order * refactor(member): change return value from null to exception * refactor(member): change return value from null to exception for mbti * refactor(message): change file encoding * refactor(member): change the data type of the preferenceMbti column from int to String * chore: add EOF * style(errorCode): change errorCode number following rule * feat(entity): add repository * build(checkstyle): add checkstyle plugin (#13) * chore(checkstyle): add config file * build(gradle): add checkstyle plugin * chore(gradle): change checkstyle directory root * chore(checkstyle): change indent size to 4 from 2 * chore(checkstyle): add checkstyle exception file * style: change arrayInitIndent from 2 to 4 * style: add google code style guide * style(checkstyle): change code format following checkstyle rule (#16) * style: change tab size from 2 to 4 * test(application): remove unused test code * style(package): remove underscore in package name * feat(awsSns): add aws sns config (#17) * build(gradle): add aws-sdk dependency * chore(git): add env.properties to .gitignore * feat(aws): add aws-sns message transfer service * style(checkstyle): add exception case for AbbreviationAsWordInName like AWSCofig * chore(gitignore): add EOF * test(awsSns): add AwsSnsService test * test(awsSns): add CredentialService test * test(awsSns): add failure case to AwsSnsServiceTest * test(awsSns): add EOF * chore(awsSns): change name from aws to awsSns * refactor: rename CredentialService to AwsCredentialService * build(gradle): add configuration processor dependency * refactor(awsSns): change properties used ConfigurationProperties * test(awsSns): change exception verification method from assertThrows to assertThatThrownBy * test(awsSns): change initialization method from setUp function to annotation * feat(submodule): add submodule and separate profile (#20) Co-authored-by: KAispread <[email protected]> * chore(application.yml): separate env to submodule * chore(ci): checkout with submodules (#21) * chore(application.yml): separate env to submodule * chore(ci): checkout with submodules --------- Co-authored-by: chaerim <[email protected]> * chore(ci): checkout with submodules (#21) * chore(ci): checkout with submodules (#21) * chore(ci): checkout with submodules (#21) * chore(ci): checkout with submodules (#21) * chore(ci): checkout with submodules (#21) * fix(submodule): checkout with submodules (#21) * chore(application.yml): separate env to submodule * chore(ci): checkout with submodules Co-authored-by: chaerim <[email protected]> * build(ci): add fetch-depth * feat(awsSes): add aws ses config (#22) * refactor(awsSns): separate awsSnsCredential from awsCredential * build(gradle): add awssdk-ses dependency * feat(awsSes): add sendEmail function used awsSes * test(awsSes): add AwsSesService test * chore(awsSes): modify sourceEmail * build(ci): add fetch-depth * build(ci): delete ref config * test(awsSns): add getSnsClient test * test(awsSes): add getSesClient test * feat(config): add WebConfig * feat(awsS3): add S3 config (#24) * build(gradle): add aws s3 dependency * feat(awsS3): add awsS3 config * feat(awsS3): add awsS3 object upload function * feat(awsS3): add awsS3 object delete function * refactor(awsS3): add file conversion exception * refactor(awsS3): refactor convert file function * test(awsS3): add AwsS3CredentialService test * test(awsS3): add AwsS3Service putObject test * test(awsS3): add AwsS3Service deleteObject test * refactor(awsS3): rename variable putObject to putObj * refactor(awsS3): delete fileName from objectKey * test(awsS3): delete fileName from objectKey * chore(submodule): change point to latest commit on the submodule * build(cd): build-cd-pipeline (#30) * E2I-44 build(gradle): add jib plugin * E2I-44 build(cd): add cd pipeline * E2I-44 build(cd): modify image version * E2I-44 refactor(cd): add config scripts * E2I-44 test(cd): add temp branch name * E2I-44 refactor(cd): change branch name to develop * deploy: push container image to ecr * refactor(cd): add change-check job * build(gradle): change project version * build(gradle): change project version and cd pipeline * build(cd): modify push script * [skip actions] deploy: push container image to ecr * feat(awsEcs): add health check controller * [skip actions] deploy: push container image to ecr * build(cd): modify Github Push job script commit message * [skip actions] build(gradle): change project version * feat(auth): Establishing the Authentication/Authorization Process with Spring Security (#11) * chore(auth): add spring security dependency * feat(member): add member entity * test(member): add member entity test cases * style(message): register bean MessageSourceAccessor * feat(auth): register Security Filter chain * feat(auth): add authentication exception handler * feat(error): add exception (DataFormat, HttpRequest) * refactor(auth): Change http status to 405 when Http method is incorrect * feat(auth): Add Custom validator to validate the user's input value format * test(auth): test custom validator * feat(auth): add authentication processing filter * style(auth): add Http Method on requestMatcher * refactor(validator): Change phone number RegExp prevent special characters * refactor(test): apply parameterizedTest * feat(error): add token exception * chore(redis): add redis dependency and connect * style(checkstyle): apply google check style * feat(member): add role property * feat(sms): add SMS credential transfer capability * feat(login): add sns credential number verification function * feat(login): add success handler function when login success * chore(jwt): add java-jwt dependency * chore(jwt): add jwt profile contains key * feat(jwt): add jwt handler & model * feat(jwt): add filter that set authentication principle from access token * test(jwt): test access token function * feat(jwt): add component to store tokens in header & cookie * feat(jwt): add jwt related exception * fix(message): fix exception messages.properties not found * feat(jwt): add token reissue filter with refreshToken * feat(jwt): configuration spring security filter chain and register bean * refactor(auth): separate unexpected exception * feat(member): add query find member by phone number * feat(auth): add controller and model for authentication test * feat(config): disable JSESSIONID * style(checkstyle): apply google check style * feat(log): add log on auth request success * chore(application.yml): separate env to submodule * Merging feat-kai-9/authentication from develop * fix(message): change error messages * refactor(auth): set cookie secure * refactor(auth): change redis key for refresh token * test(auth): test get redis key * style(token): change class name (JwtInfo -> JwtEnv) * refactor(auth): remove not necessary validate function * refactor(auth): change handling token verify exception * chore(token): remove property contains secret value * feat(auth): Add Authorization Process (#29) * chore(submodule): change point to latest commit on the submodule * fix(member): change 'role' property length (from add 'MANAGER' role) * fix(member): override 'toString()' to authentication principal * and change log when login success * refactor(auth): Change to require 'USER' role for all http requests * feat(error): add role & credit exception * refactor error code * refactor(error): remove unused catch method * refactor(error): disable ExceptionTranslationFilter * feat(error): add catch AccessDeniedException in AuthorizationFilter * feat(role): set RoleHierarchy in AuthorizationManager * feat(auth): enable @PreAuthorize & @PostAuthorize annotation * feat(error): add exception handler for @PreAuthorize * feat(auth): add custom annotation verify ROLE * feat(error): add member not found exception * feat(auth): add an annotation-based credit verification logic * feat(auth): CreditAuthorizationManager bean registration * style(auth): rename credit verification annotation * style(auth): rename Credit Authorize annotation * feat(auth): add role verify function on CreditAuthorize annotation * feat(auth): Allow request health check url * style(auth): rename credit exception * test(auth): add controller & service for test test(auth): add controller & service for test test(auth): add controller & service for test * test(auth): add WithCustomMockUser for test code * test(auth): add member Fixture * feat(member): add credit function * test(auth): test authorization logic * style(test): rename test component * refactor(token): separate inject function * fix(auth): add path for ignore security * feat(auth): add access token injection api for develop * refactor(auth): remove component post constructor for test * refactor(auth): add duration time in redis value * style(auth): rename Login Filter in spring security * refactor(auth): delete exist refreshToken in redis * test(auth): add abstract integration test module * test(auth): add filter & credit controller test --------- Co-authored-by: chaerim <[email protected]> * chore(env): Separate environment variable databases by profile (#35) * refactor(env): separate environment variable by profile * chore(submodule): change point to latest commit on the submodule * chore(env): add mariaDB dependency * chore(submodule): change point commit * fix(test): add preference fixture for admin test * chore(submodule): set submodule commit point * fix(fixture): add preference column * chore(flyway): add flyway-mysql dependency * fix(flyway): fix database create table sql * fix(flyway): rollback create table sql * refactor(test): make rising application context at once * test(redis): add EmbeddedRedis component for Test can run any environment * feat(fixture): set member's preference for test * test(fixture): add fixture test --------- Co-authored-by: KAispread <[email protected]> * feat(docs): add OpenApi specification for api documentation (#39) * feat(openapi): add OpenApi static resources * chore(openapi): set pattern static resource * build(openapi): add dependency & settings for OpenApi Specification * feat(openapi): add security template * feat(openapi): add Resource Handler 설정 * feat(openapi): permit all related openApi resources * feat(openapi): add swagger ui controller * refactor(credential): change login request credential type * fix(credential): add catch method MissingServletRequestParameterException * fix(refreshToken): fix 404 NotFound Exceptions in RefreshToken API * test(docs): add test for api docs with MockMvcRestDocumentationWrapper component * test(docs): add OAS file from openApi Specification * refactor(docs): remove unused Annotation * style(docs): remove unused import statement * style(line): reduce line * refactor(error): refactor return http method 200 * test(exceptionHandler): add exception handler test --------- Co-authored-by: KAispread <[email protected]> * chore(submodule): change submodule commit pointer * feat(member): add member crud api (#37) * build(gradle): add queryDsl settings (#42) * build(gradle): add queryDsl settings * feat(jpa): add jpaConfig * feat(profileImage): add profile image api (#36) * refactor(token): Change Token Reissuance Logic Using Refresh Token (#46) * refactor(token): change response refresh token in header * feat(token): add function get payload from expired access token * refactor(token): change refresh token reissue logic * chore(dependency): add access token handler dependency * style(encrypt): change encryption logic location * fix(encrypt): add encryption on fixture phone number * feat(decode): add decode hash data * chore(submodule): change submodule commit pointer * test(fix): fix test failed * refactor(member): append prefix +82 to phone data * test(encrypt): add encryption test --------- Co-authored-by: KAispread <[email protected]> * test(member): add member api test (#43) * test(unit): add AbstractUnitTest class * refactor(member): rename getMemberInfo function * refactor(member): change mbti type to String * refactor(member): add builder to dto * refactor(member): add mbti data to MemberDetailResponseDto * test(member): add controller test * refactor(member): delete unused function * refactor(member): transfer memberDto to fixture * test(member): add memberService test * refactor(member): change hard-coded PhoneNumber * refactor(member): delete the default value of verify time(1) * refactor(member): change phoneNumber to hashData * refactor(code): separate find code funtion to code servie (#47) * refactor(code): separate findCode function to codeService * test(code): add codeService test * test(code): add fail test case to codeServiceTest * refactor(api-docs): change api docs tag (#51) * feat(encrypt): add Two-Way encryption module (#53) * feat(submodule): change submodule commit pointer to recent commit * chore(env): import encrypt properties * feat(encrypt): add two-way Encryption interface * feat(error): add decryption error & error message * feat(encrypt): add two-way Encryption module * feat(encrypt): enable Encryption Module - configuration properties * test(encrypt): add test encryption & decryption * feat(encrypt): change encryption logic for member check * feat(encrypt): add converter that performs encryption and decryption * cryptoConverter on email & phone column * refactor(encrypt): remove encryption method * refactor(encrypt): remove unnecessary two-way encryption component * fix(test): change controller type * test(converter): add converter encryption test --------- Co-authored-by: KAispread <[email protected]> * feat(team): add cru api (#50) * feat(team): add region and teamCode column * feat(team): add TeamPreferenceMeetingType entity * feat(team): add AdditionalActivity column * refactor(code): separate findCode function to codeService * test(code): add codeService test * test(code): add fail test case to codeServiceTest * feat(code): add data sql to insert preferenceMeetingType code * feat(team): add additionalActivity column * feat(team): add team custom exception * feat(team): add create-team api * feat(team): add modify-team api * feat(team): add code to change member's role when member create team * test(team): add create-team test case * test(team): add modify-team test case * refactor(team): change api-docs tag * test(team): add createTeam() test case * test(team): add modifyTeam() test case * test(team): member set team null after test * test(team): member set valid email after test * feat(member): add imageAuth column * feat(team): add get-my-team api * test(member): add imageAuth column * test(team): add getMyTeam api test * test(team): add getMyTeam service test * refactor(team): separate findMember function * feat(team): add token injection code to createTeam * feat(member): add get member role api (#54) * feat(member): add getMemberRole api * test(member): add getMemberRole api test case * feat(team): add team invitation api (#55) * feat(team): add TeamInvitation entity * feat(team): add isActive column to team entity * feat(team): add postInvitation api * feat(team): add members data * feat(team): add accepted ot rejected invitation api * feat(team): add team member management api * test(team): add findByNicknameAndMemberCode function to MemberRepositoryImpl * test(team): add inviteMember service test case * test(team): add takeAcceptStatus service test case * test(team): add getTeamMemberList service test case * test(team): add team controller test case * refactor(team): modify code smell following java:S5778 * refactor(team): modify code line * refactor(team): modify getMemberList service api test case * refactor(team): move member and team validation to invitation builder * test(team): modify test code for service * refactor(team): change annotation from Param to RequestParam * feat(team): add team delete api (#56) * feat(team): add baseTimeEntity inheritance * feat(team): add cascade setting to member table fk * feat(team): add deleteTeam api * test(team): add deleteTeam service test case * test(team): add deleteTeam controller test case * feat(team): add deleteTeamMember api * test(team): add deleteTeamMember controller test case * test(team): add deleteTeamMember service test case * refactor(team): change teamCode format (#66) * refactor(team): change teamCode format * test(team): delete managerId from getTeamMember api response * refactor(profileImage): set profile image file extension to jpg (#63) * build(gradle): modify container image tag (#58) * build(gradle): delete dipien:semantic plugin and change jib image tag * build(.github): modify ECR image tag * chore(gradle): change double quotation marks to single * chore(gradle): move latest tag * refactor(gradle): move def inputTag into jib block * refactor(workflow): add ecr_repository settings * refactor(gradle): delete latest tag * refactor(workflow): delete pull request trigger * refactor(team): refactoring TeamService (#67) * refactor(team): separate TeamInvitationService from TeamService * refactor(team): add team activation function * refactor(team): separate TeamInvitationServiceTest from TeamServiceTest * refactor(team): add activateTeam condition * refactor(team): rename function validateMember to validateIsAbleManager * refactor(invitation): rename function validateMember and Team to validateInvitationMember and Team * refactor(member): modify createMember api (#71) * refactor(member): delete preference data to CreateMemberRequestDto and add token to createMember api response header * refactor(member): change member mbti NOTHING to XXXX * refactor(member): add mail validation * refactor(token): add TokenInjectionAspect * refactor(member): delete memberInterest * test(token): add TokenInjectionAspectTest * feat(token): add persist login api & change login api response (#72) * feat(member): add registrationType field * refactor(member): change response after phone authentication success - add NOT_REGISTERED type - change SmsCredentialResponse * feat(member): add a method to determine if a user has completed email authentication * fix(member): fix bug caused by adding registrationType to member * feat(member): add sql to add field 'registration_type' * style(error): Line up ErrorCode * feat(error): add access token not found exception * feat(resolver): add argument resolver getting memberId * feat(persist): add persist login query with querydsl * refactor(fixture): change fixture create method able to modify column value * feat(repo): add persistLoginRepository to memberRepository * style(team): change field name 'member' to 'teamLeader' * refactor(profileImage): change boolean field primitive type to wrapper class * style(test): change class name 'AbstractUnitTest' to 'AbstractControllerUnitTest' * style(member): remove unnecessary annotation * feat(member): add a method to determine preference information to enter * test: add DataJpaTest configuration components * test: test persist login query * feat(persist): add token service * test: test persistLogin method * feat: add token controller for persist login * refactor(token): Change not to perform access token validation for persist login * test(token): test controller perform persist login * refactor(phone): remove emailAuthenticated field on phone authentication response * refactor(aws): add was resource component bean configuration * style(test): rename test class name * style: accept comments checkstyle code smells --------- Co-authored-by: KAispread <[email protected]> * build(cd): build cd pipeline (#73) * add deployment settings * chore: change active properties * build(cd): add deploy workflow * feat(docker): add docker-compose.yml * build(cd): modify cd workflow * build(cd): modify appleboy version * build(cd): add job to get github actions ip * chore(cd): change application.yml active profiles from dev to local * build(cd): add step to replace application.yml profiles * build(cd): add application.tml path * build(cd): add aws ecr access script * build(cd): add script to delete images * build(cd): delete trigger * refactor(entity): change entity fields type and add delete column (#75) * chore(submodule): update submodule commit pointer * refactor(entity): change type primitive type to wrapper class * refactor(response): add static factory method in response dto * refactor(controller): change generating response dto instance * feat(member, team): add deleteAt field to mark delete data * style: change name delete column and add flyway sql file * refactor(team): refactoring team delete logic * feat(member, team): add member team deleted exception * feat(member): add delete member api * feat(team): add check method after find entity from database * feat(aspect): add token inject AOP for USER, MANAGER * fix(test): fix test fail:: verify token injection * refactor(member, team): remove id field in constructor --------- Co-authored-by: KAispread <[email protected]> * refactor(member): refactory the member registration api (#77) * refactor(member): add registrationType to create member api * refactor(member): create memberCode used RandomCodeUtils * refactor(token): use final object for token inject * refactor(member): add credit to MemberBuilder * test: change junit to assertj (#79) * fix(security): fix 401 HTTP response code were returned for non-existent requests (#78) * fix(member): add basic credit to member created dto * style(security): move security package to root * feat(security): add endpoint check component * feat(error): add exception caused by http request & database * feat(filter): Add a filter to check the endpoints of the request * feat(filter): Add ExceptionHandler to handle SQL-related exceptions * style: accept google checkstyle comments * test: add authentication exception test * test: add endpoint checker test --------- Co-authored-by: KAispread <[email protected]> * refactor(entity): modify entity & tables (#85) * refactor: modify entity * refactor: modify create table query * fix: fix compile error * refactor(base): separate createAt modifiedAt column * feat(entity): add entity cost, cost_history, heart, meeting, meeting_request, team_member * feat(enum): Apply JPA Attribute Converter to Enum field of entity (#86) * feat(code): add initialize code sql on local envirionment (#87) * feat(codeFixture): add getter methods * feat(sql): add code insert sql to submodule * feat(code): add find code by code_value query & test * refactor(repository): change code setUp method in AbstractRepositoryUnitTest --------- Co-authored-by: KAispread <[email protected]> * refactor(image): change api request&response data (#88) * refactor(s3): add s3Service * refactor(member): add profileImage upload api * refactor(profileImage): delete unused controller * chore(application.yml): add multipart file and request size option * test(member): add test case for profileImage upload API * refactor(s3): add bucket parameter to upload function * chore(member): change request url from underbar to dash * refactor(member): move function for profileImage upload from MemberService to MemberImageService * refactor(team): modify data type from Integer to DrinkRate Enum * refactor(member): modify nickname length from 20 to 10 * refactor(member): change api request&response data (#89) * refactor(error): change class name TeamAlreadyExistsException -> TeamExistsException * feat(member): add Member Delete Method & team field & setting team * feat(team): add setting teamLeader method * feat(member): add member delete * test(member): test member delete method * refactor(member): change member api classification * feat(code): add initialize code sql on local envirionment (#87) * feat(codeFixture): add getter methods * feat(sql): add code insert sql to submodule * feat(code): add find code by code_value query & test * refactor(repository): change code setUp method in AbstractRepositoryUnitTest --------- Co-authored-by: KAispread <[email protected]> * feat(valid): add bean validator for create Member RequestDto * test(valid): test bean validator * feat(error): add error messages for validator * refactor(member): refactor CreateMemberRequestDto * feat(code): add query findByCodePk and CodePk static factory method * test(code): test query * refactor(member): create member api refactoring * test(member): test create member service method * test(member): test create member api * test(member): read member detail api test refactoring * refactor(member): change MemberDetailResponseDto specification * refactor(fixture): change MemberDetailResponseDto specification * refactor(member): modify memberService specification * feat(member): add find member with fetch join & test * refactor(member): modify member spec * refactor(member): change member api controller & test * refactor(member): refactor read member service code * test(member): test read member * fix(member): fix compile error * refactor(team): modify data type from Integer to DrinkRate Enum * refactor(member): add Member update method and change nickname length * feat(member): add MBTI exception * refactor(team): remove unnecessary field on team constructor * test(member): test member nickname length validation * test(member): test update member * feat(member): add update member (nickname, mbti) * refactor(member): remove unused dto * style(member): change number controller parameter * refactor(member): change nickname length validation 3 -> 2 * feat(member): add nickname format validation * refactor(validate): change CustomFormatValidator static REGX instance * feat(member): add update value validation logic * feat(member): add bean valid annotation that validate nickname format --------- Co-authored-by: KAispread <[email protected]> Co-authored-by: chaerim <[email protected]> * fix(test): make test red to green (#91) * test: fix test authorization to green * test: fix test red to green * refactor(auth): make load Member code clean * test(auth): add findByPhoneNumber query test * fix(auth): fix bug MemberPrincipal-toString() * feat(code): add CodePk format validator * test(code): test validateCodePkFormat method * feat(code): add query find Code list by CodePk list * refactor(code): refactoring findCodeList and test * style(test): change display name --------- Co-authored-by: KAispread <[email protected]> * refactor(persist): refactor persist login (#92) * refactor(member): move imageAuth field into ProfileImage * refactor(persist): change PersistResponseDto field * refactor(persist): remove PersistRepository from MemberRepository * refactor(test): change PersistLoginRepository bean type * test: add test before query refactoring * fix(test): make test red to green (#91) * test: fix test authorization to green * test: fix test red to green * refactor(auth): make load Member code clean * test(auth): add findByPhoneNumber query test * fix(auth): fix bug MemberPrincipal-toString() * feat(code): add CodePk format validator * test(code): test validateCodePkFormat method * feat(code): add query find Code list by CodePk list * refactor(code): refactoring findCodeList and test * style(test): change display name --------- Co-authored-by: KAispread <[email protected]> * feat(persist): implement persist login * fix(persist): fix compile error * feat(profileImage): Add a method that returns boolean value --------- Co-authored-by: KAispread <[email protected]> * refactor(member): change input data validation logic * refactor(team): change api request&response data (#90) * refactor(s3): add s3Service * refactor(member): add profileImage upload api * feat(teamImage): add teamImage entity * refactor(member): change member api classification * refactor(team): change team api classification * chore: do cherry-pick f73a733 * chore: do cherry-pick 73a07da * feat(team): add setting teamLeader method * refactor(team): add parameter to createTeam * refactor(member): delete unused service function * Merge into E2I-80-rim/modify-team-api from refactor-kai-83/modify-entity * refactor(team): modify CreateTeamRequestDto field * refactor(teamImage): change column name from order to sequence * chore(member): change collegeType description * feat(team): add api to create team * feat(team): add api to update team * feat(team): add api to delete team * chore: change spring max-request-size * feat(team): add api to read team * refactor(team): add validation to create team * refactor(team): add orphanRemoval = true option to teamMembers * refactor(dto): delete builder annotation * refactor(dto): change parameter to TeamMember for TeamMemberResponseDto --------- Co-authored-by: KAispread <[email protected]> * fix: Add exception handler and EndPointcheckfilter to security (#93) * test: add RequestEndPointChecker to AbstractIntegrationTest * feat(filter): add RequestEndPointChecker to filter * test(filter): add api test for endpoint check filter * feat(error): add exception handler caused by controller * fix(member): Add handling null from profile image instance --------- Co-authored-by: KAispread <[email protected]> * chore(test): change collegeType data description * fix: change test code error * feat(log): add logging filter & AOP module (#94) * feat(member): add DynamicUpdate to Member Entity for optimize query * test: change test type to DynamicTest * chore(log): add log4j2 dependency & configuration file * cherry-pick: fix: Add exception handler and EndPointcheckfilter to security (#93) * feat(log): add module counting query invocation in one http request * feat(log): add filter logging request and response information * feat(log): add logging filter to spring security * feat(log): add memberId to MDC after authenticated * feat(log): add Controller, Service Log AOP module * refactor(log): change log format * style: change error message and resolver logic * refactor: change Aspect getMemberId() logic * fix: fix compile error in Integration Test * test: combine Test environment to reduce rising Spring Boot Server * refactor(log): change log framework (#97) * chore: change log framework log4j2 to logback * refactor: change log module log4j2 to slf4j --------- Co-authored-by: KAispread <[email protected]> --------- Co-authored-by: KAispread <[email protected]> Co-authored-by: chaerim <[email protected]> * test(team): add controller, service test (#96) * test(team): add test case for TeamService * test(team): add test case for TeamController --------- Co-authored-by: LeeKiWoo <[email protected]> * feat(phone): phone validate response * fix: change test code error * refactor(member): change nickname length * test(fix): fix member test fali --------- Co-authored-by: KAispread <[email protected]> Co-authored-by: Chaerim1001 <[email protected]> Co-authored-by: chaerim <[email protected]> * fix(profileImage): add constructor to profileImage * chore(profileImage): delete / from version prefix * chore(collegeType): change description * test(member): change collegeType description * chore(profileImage): change profileImage objectKey format * feat(meeting): Implementation of features related to meeting requests (#105) * fix: fix error entrance h2-console * feat(meeting): add dto for request, response meeting api * feat(valid): add custom bean validator for meeting request * test(valid): add kakao open chat link format validator * feat(meeting): add repository specification * feat(meeting): add service specification * feat(meeting): add controller specification * style(test): change directory Integration Abstract module * test: add AbstractServiceTest for Service Integration Test * test: add test sendRequest() * feat: add TeamNotFoundException * feat(meeting): change default status to PENDING * feat(meeting): implement sendRequest service method * feat(meeting): add method loading team proxy * test(meeting): add test loading team proxy * refactor(meeting): sendRequest method refactoring * feat(error): Add custom exception that might occur in the MeetingHandleService * feat(valid): Add custom validator that checking expiration given date * refactor(meeting): change chatLink field to NOT NULL * refactor(meeting): add validateOpenChatLinkFormat method to CustomFormatValidator * refactor(meeting): Detach Meeting Accept And Reject API * feat(meeting): rename MeetingReadRepository and add find query for Team Entity * feat(meeting): rename MeetingReadRepository and add find query for Team Entity * feat(user): add use credit method and validate message format * refactor(meeting): Seperate Meeting Service Components * refactor(meeting): change search Meeting List specification * fix(test): fix test error * test: add fixture for Meeting, Team Image * style(dto): add postfix "Dto" to dto classes * refactor(meeting): add parameter find date to search meeting information method * refactor(meeting): add validate method before handle MeetingRequest Entity * test(meeting): add test for searching meeting information query * feat(meeting): add dto to find Meeting Information from query directly * feat(meeting): add feature to find personal accepted meeting information * test: modify fixture for test * feat(meeting): add dto to find MeetingRequest Information from query directly * feat(meeting): add feature find sent & received meeting request * test feature * modify dto * refactor(test): change location set authentication method * feat(meeting): add update & find query and test * feat(meeting): add feature getting accepted meeting list * fix(meeting): fix find request related deleted team * feat(meeting): add feature update request's accept status to EXPIRED * refactor(meeting): change hierarchy MeetingRequestResponseDto * feat(meeting): add get list methods that sent & received request to member's team * test(meeting): add get list methods test * refactor(meeting): remove duplicate 'v1' word in url * fix(meeting): fix tests and change syntax generate NPE * fix(resolver): throw AccessTokenNotFoundException when principal not founded * test(meeting): add testing class MeetingController * refactor(meeting): Tie up to common path '/meeting' * feat(cost): add cost event (#104) * style(cost): rename files credit to cost * refactor(cost): modify cost fields and adding cost data * feat(cost): add cost repository and test * refactor(cost): add CostAuthorize type * feat(cost): add payment type cost and modify entity fields * refactor(cost): modify cost authorization management logic * @CostAuthorize annotation hierarchy -> value = Role > type * feat(cost): add CostNotFoundException * refactor(meeting): add @Param syntax to named parameter in query * feat(cost): add query for find cost value * test(cost): add credit deduction test * feat(cost): add cost events and change reduction credit logic for cost management --------- Co-authored-by: KAispread <[email protected]> * feat(suggestion): add suggestion api (#99) * feat(history): add History entity * fix: fix error entrance h2-console * feat(meeting): add dto for request, response meeting api * feat(valid): add custom bean validator for meeting request * test(valid): add kakao open chat link format validator * feat(meeting): add repository specification * feat(meeting): add service specification * feat(meeting): add controller specification * style(test): change directory Integration Abstract module * test: add AbstractServiceTest for Service Integration Test * test: add test sendRequest() * feat(suggestion): add readSuggestion api * chore(history): change column name * feat: add TeamNotFoundException * feat(meeting): change default status to PENDING * feat(meeting): implement sendRequest service method * feat(suggestion): add checkSuggestionHistory api * feat(meeting): add method loading team proxy * test(meeting): add test loading team proxy * refactor(meeting): sendRequest method refactoring * feat(error): Add custom exception that might occur in the MeetingHandleService * feat(valid): Add custom validator that checking expiration given date * refactor(meeting): change chatLink field to NOT NULL * refactor(meeting): add validateOpenChatLinkFormat method to CustomFormatValidator * refactor(meeting): Detach Meeting Accept And Reject API * feat(meeting): rename MeetingReadRepository and add find query for Team Entity * feat(meeting): rename MeetingReadRepository and add find query for Team Entity * feat(user): add use credit method and validate message format * refactor(meeting): Seperate Meeting Service Components * test(suggestion): add suggestionController test cases * refactor(meeting): change search Meeting List specification * fix(test): fix test error * test: add fixture for Meeting, Team Image * style(dto): add postfix "Dto" to dto classes * refactor(meeting): add parameter find date to search meeting information method * refactor(meeting): add validate method before handle MeetingRequest Entity * test(meeting): add test for searching meeting information query * feat(meeting): add dto to find Meeting Information from query directly * feat(meeting): add feature to find personal accepted meeting information * test: modify fixture for test * feat(meeting): add dto to find MeetingRequest Information from query directly * feat(meeting): add feature find sent & received meeting request * test feature * modify dto * refactor(test): change location set authentication method * feat(meeting): add update & find query and test * feat(meeting): add feature getting accepted meeting list * fix(meeting): fix find request related deleted team * feat(meeting): add feature update request's accept status to EXPIRED * refactor(meeting): change hierarchy MeetingRequestResponseDto * feat(meeting): add get list methods that sent & received request to member's team * test(meeting): add get list methods test * refactor(meeting): remove duplicate 'v1' word in url * fix(meeting): fix tests and change syntax generate NPE * fix(resolver): throw AccessTokenNotFoundException when principal not founded * test(meeting): add testing class MeetingController * refactor(suggestion): subtract request time data from service function parameters --------- Co-authored-by: KAispread <[email protected]> * fix(code): change CodeFixture data * change code number * chore(git): add QType path to .gitignore * refactor(team): add chatLink to team creation request data (#108) * refactor(team): add chatLink to team creation request data * refactor(team): use validation to chatLink data * test(team): modify chatLink data to TeamFixture * refactor(team): modify api response for get team data * test(team): change dto field name to team from data * test(team): modify TeamServiceTest * chore(teamImage): add aws domain address to teamImage url * chore(teamImage): change teamImageUrl max length to 150 from 100 * fix(suggestion): modify query function name to rand from random * refactor(meeting): remove chatLink when accept meeting request (#109) * refactor(team): add chatLink to team creation request data * refactor(meeting): remove chatLink when accept meeting request --------- Co-authored-by: chaerim <[email protected]> Co-authored-by: KAispread <[email protected]> * feat(team): Add an API that can look up team details by team ID (#112) * refactor(meeting): add leader information to LeaderResponseDto * style(leader): change LeaderResponseDto location * feat(entity): add check status methods * refactor(dto): override toString and modify static factory * refactor(dto): add getCollegeName method * feat(team): add find team details query & tests * feat(team): add readByTeamId by team ID * test(team): add read team detail controller test * fix(test): fix querydsl execution error --------- Co-authored-by: KAispread <[email protected]> * chore: increase max request size * chore(teamImage): add amazonUrl to teamImageUrl * chore(h2): change h2-console url to regular expression * chore: increase max size for file and request * feat(hear): add heart api (#111) * refactor(heart): rename entity and package to heart from like * feat(heart): add api to send heart * feat(heart): add api to get sent&received heart * test(heart): add controller test * test(heart): add service test * test(heart): add repository test * refactor(team): add team leader data to api response (#114) * refactor(team): add teamLeader data to api response * test(team): add teamLeader data to api response * refactor(suggestion): change teamLeader profileImage data from basicUrl to lowUrl * Merge branch E2I-110-KAI/find-team-detail into develop * refactor(meeting): remove chatLink when accept meeting request (#109) * refactor(team): add chatLink to team creation request data * refactor(meeting): remove chatLink when accept meeting request --------- Co-authored-by: chaerim <[email protected]> Co-authored-by: KAispread <[email protected]> * fix: fix merge conflict * docs: Add an open spec specification for the swagger ui (#115) * feat(log): add exception log list to skip logging when called swagger-ui * docs: fix-up restdocs specification * refactor(docs): register bean when spring profile is not 'prod' * style: add explanation * docs: add API documentation * Cherry-picking in E2I-110-KAI/swagger-ui * feat(team): Add an API that can look up team details by team ID (#112) * refactor(meeting): add leader information to LeaderResponseDto * style(leader): change LeaderResponseDto location * feat(entity): add check status methods * refactor(dto): override toString and modify static factory * refactor(dto): add getCollegeName method * feat(team): add find team details query & tests * feat(team): add readByTeamId by team ID * test(team): add read team detail controller test * fix(test): fix querydsl execution error --------- Co-authored-by: KAispread <[email protected]> * Cherry-picking in E2I-110-KAI/swagger-ui * docs: add API documentation * refactor(team): add isLiked field to findTeam API * test(team): add isLiked field to findTeam API * fix: fix api docs specification * refactor(team): change exception when user's team does not exist * refactor(team): change exception when user's team does not exist --------- Co-authored-by: KAispread <[email protected]> Co-authored-by: Chaerim1001 <[email protected]> * refactor(token): change token refresh logic (#116) * refactor(token): change isManager annotation logic * refactor(refresh): add logic to check saved member role * refactor(auth): add query to get member role * test: fix fail test * chore(sms): change message format for sms credential * refactor(team): add some fields to find team detail query response (#117) * refactor(team): add hasTeam & acceptStatus fields to findTeamInformationByTeamId query * test(team): test findTeamInformationByTeamId contains hasTeam, meetingRequest response data * docs(team): modify team details specification --------- Co-authored-by: KAispread <[email protected]> * chore(submodule): change commit pointer * add prod/application-db.yml * chore: change sub module commit * refactor(image): change image url from s3 to cloudFront (#121) * refactor(heart): change api response to list (#122) * refactor(heart): change api response to List for getSentHeart api * test(heart): change api response to List for getSentHeart api * chore(h2): add h2-console path pattern * chore: change submodule commit pointer * refactor(email, sns): modify email validation & sent sms (#123) * chore(submodule): change commit pointer * chore(aws): remove unused test & module * feat(sns): add event that send messages to user's phone * feat(sns): test findLeaderPhoneNumber and exclude AwsSnsService bean * style(sns): change class name, message * refactor(email): change email validation * feat(credit): get User's Credit logic * feat(credit): add controller handling credit * fix: fix dispatcher checker error call h2-console * chore: change submodule commit pointer * docs: add api specification * docs: modify write restdocs and develop url --------- Co-authored-by: KAispread <[email protected]> * chore(profileImage): change imageUrl from low to basic * refactor(heart): change time conditions when getting heart history (#125) * refactor(meeting): Change meeting subscriptions to prevent duplicate (#126) * feat(exception): add duplicate exception related meeting * feat(meeting): add query that find another meeting time with same team & test * feat(meeting): add meeting application history query * feat(meeting): add validation logic when meeting request & accept --------- Co-authored-by: KAispread <[email protected]> * refactor(team): add chatlink to read team detail api (#127) * feat(meeting): add chatLink to team readByTeamId api * docs(meeting): add chatLink specification --------- Co-authored-by: KAispread <[email protected]> * feat(member): change init credit amount * fix(meeting): fix an error when querying a list of successful meetings & refresh api (#129) * fix(meeting): add result that meeting list from my request to find accepted meeting list query * refactor(auth): change RefreshToken key name * test(auth): fix refresh test and add API specification * test(auth): fix refresh test and add API specification * test(auth): fix refresh test and add API specification * fix(meeting): fix test fail in workflow CI --------- Co-authored-by: KAispread <[email protected]> * fix(persist): add team deletion to query condition * fix(persist): separate join condition to on and where * E2 i 131 rim/added function to save service aggrement data to api that create member (#132) * fix(auth): add deleted_at check condition to get member when phone number authentication is successful * refactor(member): add allowMarketing column to member * test(member): add allowMarketing column to member * fix(auth): fix an error related authenticate and getting team detail (#133) * refactor(meeting): add filtering logic when check meeting request duplicated * refactor(meeting): modify the logic of inquiring about likes and meeting request data * fix(meeting): fix an error when querying a list of successful meetings & refresh api (#129) * fix(meeting): add result that meeting list from my request to find accepted meeting list query * refactor(auth): change RefreshToken key name * test(auth): fix refresh test and add API specification * test(auth): fix refresh test and add API specification * test(auth): fix refresh test and add API specification * fix(meeting): fix test fail in workflow CI --------- Co-authored-by: KAispread <[email protected]> * refactor(auth): modify refresh api * fix(jib): add timezone setting to script * chore(master): add master account (#134) * fix: fix an error read team details * fix(member): add Transactional annotation to SmsUserDetailsService * E2 i 135 kai/fix deleted at (#136) * refactor(member): change query find member by id * style(heart): change querydsl code style * refactor: add condition to filtering deleted entity * test(team): add request to deleted team test --------- Co-authored-by: KAispread <[email protected]> * fix(member): add delete attribute to fk associated with member * fix(meeting): modify used credit when request meeting with message * fix(db): add constraint for fk * chore: add prod directory * refactor(ses): change source email and template name * chore: remove validation from chatLink in CreateTeamRequestDto * feat(suggestion): change the suggestion function during the pre-scheduled period --------- Co-authored-by: LeeKiWoo <[email protected]> Co-authored-by: KAispread <[email protected]> Co-authored-by: LeeKiWoo <[email protected]>
Related Issue
#100
Description
Checklist: