Skip to content
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: multiple users matching with multiple group #16

Merged
merged 71 commits into from
Mar 11, 2024

Conversation

ghkdqhrbals
Copy link
Member

@ghkdqhrbals ghkdqhrbals commented Mar 10, 2024

Implements

  • USER_GROUP_JOIN table for join User and Group
    • Now user can join multiple groups, and also group can have multiple user
  • CRUD for DTO, controller, service, repo in user & group
  • Test code
    • Add 22 test code for group service
    • mockMvc will always print req/resp by adding .alwaysDo(print())
    • UserHelper class for create default user and group
  • Additional error code : USER_NOT_IN_GROUP, USER_ALREADY_IN_GROUP
  • Refactoring
    • Package path re-define
  • Service will return DTO
    • So error like JPA session error, persistance error will be prevented

@ghkdqhrbals ghkdqhrbals self-assigned this Mar 10, 2024
@ghkdqhrbals ghkdqhrbals requested a review from LeeJeongGi March 10, 2024 12:39
Copy link

📝 Test code-coverage reports

File Coverage [91.07%] 🍏
UserRegisterDto.java 100% 🍏
UserInfo.java 100% 🍏
GroupRole.java 100% 🍏
ErrorCode.java 100% 🍏
UserGroup.java 100% 🍏
User.java 100% 🍏
UserGroupJoin.java 100% 🍏
DataLoader.java 100% 🍏
JwtTokenProvider.java 93.67% 🍏
Role.java 93.44% 🍏
GroupService.java 90.96% 🍏
UserService.java 87.08% 🍏
UserApiController.java 84.91% 🍏
GroupApiController.java 77.88% 🍏
Total Project Coverage 92.14% 🍏

Copy link
Member

@LeeJeongGi LeeJeongGi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

유저 - 그룹 구현해야 할 양이 많았는데 빠르게 작업해주셔서 감사합니다 :)

noOp() >> 이 부분 정말 참신했어요!! 수고하셨습니다.

Copy link

📝 Test code-coverage reports

File Coverage [90.97%] 🍏
UserRegisterDto.java 100% 🍏
UserInfo.java 100% 🍏
GroupRole.java 100% 🍏
ErrorCode.java 100% 🍏
UserGroup.java 100% 🍏
User.java 100% 🍏
UserGroupJoin.java 100% 🍏
DataLoader.java 100% 🍏
JwtTokenProvider.java 93.67% 🍏
Role.java 93.44% 🍏
GroupService.java 90.96% 🍏
UserService.java 87.08% 🍏
UserApiController.java 84.91% 🍏
GroupApiController.java 77.88% 🍏
Total Project Coverage 91.62% 🍏

@ghkdqhrbals ghkdqhrbals merged commit 19aa01d into develop Mar 11, 2024
1 check passed
@ghkdqhrbals ghkdqhrbals deleted the feature/user-auth branch March 11, 2024 18:33
ghkdqhrbals added a commit that referenced this pull request Mar 17, 2024
* dev: implement join-table for user & group

* dev: implement join-table repo for user & group

* dev: userGroupInfo dto set

* dev: add userInfo test

* dev: implement userUpdateDto

* chore: add some default test consts

* dev: many user can be connected with many groups, also vise versa

* fix: change all test based on changed user & group model

* dev: delete unused test

* dev: UserRegisterDto now return list of group

* dev: UserInfo contain user group list

* dev: eager fetching join table

* dev: dto direct transfer to service layer

* dev: test add based on changed model

* dev: test add based on changed user & group model

* dev: mapping to join table

* dev: add userGroupJoin in initClass

* dev: add userGroupJoin in initial dataloader

* chore: change directory

* chore: remove unused groupInfo

* dev: remove explicit throwing exception

* dev: add deleteByUserId JPA methods

* dev: add join table removal process

* dev: matching pre-define restAPIs resource and add Patch & Delete operation

* dev: restAPIs test with valid url resource

* chore: remove unused test

* dev: initialize admin and defaultgroup

* chore: update comments

* dev: add jsonIgnore

* dev: add role column in group join table

* dev: configure jpql for finding groupJoin

* dev: clarify json property

* chore: remove unused imports

* chore: change package path

* chore: change package path

* dev: add user deletion method

* chore: change package path

* chore: change package path

* dev: add USER_NOT_IN_GROUP errorcode

* dev: add dto for group adding

* dev: implement restApi for create & get group

* dev: add groupRole for managing group

* dev: change admin defaultGroup LEADER role

* dev: add USER_ALREADY_IN_GROUP errorcode

* dev: group info dto set

* dev: group update dto set

* dev: implement group managing service

* dev: implement group delete & post and additional managing process

* dev: user signup and create group as LEADER mem.

* test: group api controller test impl.

* test: user creation for test

* dev: code refactoring

* test: add role for test user

* test: add group service test initializer

* test: refactoring & impl. group restAPIs test

* fix: remove dup. url path like /api/api

* chore: add some comments

* dev: mockMvc alwaysDo print

* dev: group role additional param added

* dev: Modifying deletion method added

* test: user creation helper added

* dev: user deletion

* test: remove unused test

* chore: add comment on each methods

* test: test group service layer

* test: add additional params

* chore: conflict handling

* chore: change Builder pattern
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

2 participants