Skip to content

Commit 4232710

Browse files
authored
fix: 프로필 업데이트 시, Id를 토큰으로 대체 (#352)
* chore: local ddl-auto 변경 (create-auto > create) * fix: 단체 프로필 업데이트 엔드포인트 변경(Id > me) * feat: 본인 정보 조회 api 구현
1 parent 29c251d commit 4232710

File tree

5 files changed

+37
-18
lines changed

5 files changed

+37
-18
lines changed

api/src/main/java/com/sponus/sponusbe/domain/organization/club/controller/ClubController.java

+5-3
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010
import org.springframework.web.bind.annotation.RestController;
1111

1212
import com.sponus.coredomain.domain.common.ApiResponse;
13+
import com.sponus.coredomain.domain.organization.Organization;
14+
import com.sponus.coreinfrasecurity.annotation.AuthOrganization;
1315
import com.sponus.sponusbe.domain.organization.club.dto.ClubGetResponse;
1416
import com.sponus.sponusbe.domain.organization.club.dto.ClubUpdateRequest;
1517
import com.sponus.sponusbe.domain.organization.club.service.ClubService;
@@ -28,11 +30,11 @@ public ApiResponse<ClubGetResponse> getClub(@PathVariable Long clubId) {
2830
return ApiResponse.onSuccess(clubService.getClub(clubId));
2931
}
3032

31-
@PatchMapping("/{clubId}")
33+
@PatchMapping("/me")
3234
public ApiResponse<Void> updateClub(
33-
@PathVariable Long clubId,
35+
@AuthOrganization Organization authOrganization,
3436
@Valid @RequestBody ClubUpdateRequest request) {
35-
clubService.updateClub(clubId, request);
37+
clubService.updateClub(authOrganization.getId(), request);
3638
return ApiResponse.onSuccess(null);
3739
}
3840
}

api/src/main/java/com/sponus/sponusbe/domain/organization/company/controller/CompanyController.java

+7-4
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010
import org.springframework.web.bind.annotation.RestController;
1111

1212
import com.sponus.coredomain.domain.common.ApiResponse;
13+
import com.sponus.coredomain.domain.organization.Organization;
14+
import com.sponus.coreinfrasecurity.annotation.AuthOrganization;
1315
import com.sponus.sponusbe.domain.organization.company.dto.CompanyGetResponse;
1416
import com.sponus.sponusbe.domain.organization.company.dto.CompanyUpdateRequest;
1517
import com.sponus.sponusbe.domain.organization.company.service.CompanyService;
@@ -28,11 +30,12 @@ public ApiResponse<CompanyGetResponse> getCompany(@PathVariable Long companyId)
2830
return ApiResponse.onSuccess(companyService.getCompany(companyId));
2931
}
3032

31-
@PatchMapping("/{companyId}")
33+
@PatchMapping("/me")
3234
public ApiResponse<Void> updateCompany(
33-
@PathVariable Long companyId,
34-
@Valid @RequestBody CompanyUpdateRequest request) {
35-
companyService.updateCompany(companyId, request);
35+
@AuthOrganization Organization authOrganization,
36+
@Valid @RequestBody CompanyUpdateRequest request
37+
) {
38+
companyService.updateCompany(authOrganization.getId(), request);
3639
return ApiResponse.onSuccess(null);
3740
}
3841
}

api/src/main/java/com/sponus/sponusbe/domain/organization/controller/OrganizationController.java

+17-3
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,9 @@
2020
import com.sponus.coredomain.domain.organization.Organization;
2121
import com.sponus.coredomain.domain.organization.enums.OrganizationType;
2222
import com.sponus.coreinfrasecurity.annotation.AuthOrganization;
23+
import com.sponus.sponusbe.domain.organization.club.service.ClubService;
2324
import com.sponus.sponusbe.domain.organization.company.dto.OrganizationGetResponse;
25+
import com.sponus.sponusbe.domain.organization.company.service.CompanyService;
2426
import com.sponus.sponusbe.domain.organization.dto.request.OrganizationCreateRequest;
2527
import com.sponus.sponusbe.domain.organization.dto.request.OrganizationSearchRequest;
2628
import com.sponus.sponusbe.domain.organization.dto.request.PageCondition;
@@ -37,6 +39,8 @@
3739
@RequiredArgsConstructor
3840
public class OrganizationController {
3941
private final OrganizationService organizationService;
42+
private final ClubService clubService;
43+
private final CompanyService companyService;
4044

4145
@PostMapping("/join")
4246
public ApiResponse<Long> join(@RequestBody OrganizationCreateRequest request) {
@@ -52,11 +56,21 @@ public ApiResponse<PageResponse<OrganizationGetResponse>> getOrganizations(
5256
organizationService.getOrganizations(authOrganization, pageCondition, organizationType));
5357
}
5458

55-
@PostMapping(value = "/{organizationId}/profileImage", consumes = "multipart/form-data")
59+
@GetMapping("/me")
60+
public ApiResponse<?> getMyProfile(
61+
@AuthOrganization Organization authOrganization) {
62+
if (authOrganization.isClub()) {
63+
return ApiResponse.onSuccess(clubService.getClub(authOrganization.getId()));
64+
} else {
65+
return ApiResponse.onSuccess(companyService.getCompany(authOrganization.getId()));
66+
}
67+
}
68+
69+
@PostMapping(value = "/me/profileImage", consumes = "multipart/form-data")
5670
public ApiResponse<OrganizationImageUploadResponse> uploadProfileImage(
57-
@PathVariable Long organizationId,
71+
@AuthOrganization Organization organization,
5872
@RequestPart(name = "profileImage") MultipartFile file) {
59-
return ApiResponse.onSuccess(organizationService.uploadProfileImage(organizationId, file));
73+
return ApiResponse.onSuccess(organizationService.uploadProfileImage(organization.getId(), file));
6074
}
6175

6276
@GetMapping("/exists")

api/src/main/java/com/sponus/sponusbe/domain/organization/service/OrganizationService.java

+5-5
Original file line numberDiff line numberDiff line change
@@ -72,11 +72,6 @@ public void deleteOrganization(Long organizationId) {
7272
organization.delete();
7373
}
7474

75-
private Organization findOrganizationById(Long organizationId) {
76-
return organizationRepository.findById(organizationId)
77-
.orElseThrow(() -> new OrganizationException(OrganizationErrorCode.ORGANIZATION_NOT_FOUND));
78-
}
79-
8075
public PageResponse<OrganizationGetResponse> getOrganizations(
8176
Organization authOrganization,
8277
PageCondition pageCondition,
@@ -163,4 +158,9 @@ public void deleteAllSearchKeyword(Long organizationId) {
163158
searchHistory.getKeywords().clear();
164159
searchHistoryRepository.save(searchHistory);
165160
}
161+
162+
private Organization findOrganizationById(Long organizationId) {
163+
return organizationRepository.findById(organizationId)
164+
.orElseThrow(() -> new OrganizationException(OrganizationErrorCode.ORGANIZATION_NOT_FOUND));
165+
}
166166
}

core/core-infra-db/src/main/resources/application-db.yml

+3-3
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,11 @@ spring:
99
jpa:
1010
database: mysql
1111
hibernate:
12-
ddl-auto: create-drop
12+
ddl-auto: create
1313
open-in-view: false
1414
show-sql: true
15-
# generate-ddl: true
16-
# defer-datasource-initialization: true
15+
# generate-ddl: false
16+
# defer-datasource-initialization: false
1717
#
1818
# sql:
1919
# init:

0 commit comments

Comments
 (0)