diff --git a/api/src/main/java/com/sponus/sponusbe/domain/organization/club/controller/ClubController.java b/api/src/main/java/com/sponus/sponusbe/domain/organization/club/controller/ClubController.java index e076cd49..6248c257 100644 --- a/api/src/main/java/com/sponus/sponusbe/domain/organization/club/controller/ClubController.java +++ b/api/src/main/java/com/sponus/sponusbe/domain/organization/club/controller/ClubController.java @@ -10,6 +10,8 @@ import org.springframework.web.bind.annotation.RestController; import com.sponus.coredomain.domain.common.ApiResponse; +import com.sponus.coredomain.domain.organization.Organization; +import com.sponus.coreinfrasecurity.annotation.AuthOrganization; import com.sponus.sponusbe.domain.organization.club.dto.ClubGetResponse; import com.sponus.sponusbe.domain.organization.club.dto.ClubUpdateRequest; import com.sponus.sponusbe.domain.organization.club.service.ClubService; @@ -28,11 +30,11 @@ public ApiResponse getClub(@PathVariable Long clubId) { return ApiResponse.onSuccess(clubService.getClub(clubId)); } - @PatchMapping("/{clubId}") + @PatchMapping("/me") public ApiResponse updateClub( - @PathVariable Long clubId, + @AuthOrganization Organization authOrganization, @Valid @RequestBody ClubUpdateRequest request) { - clubService.updateClub(clubId, request); + clubService.updateClub(authOrganization.getId(), request); return ApiResponse.onSuccess(null); } } diff --git a/api/src/main/java/com/sponus/sponusbe/domain/organization/company/controller/CompanyController.java b/api/src/main/java/com/sponus/sponusbe/domain/organization/company/controller/CompanyController.java index d1aa73d5..2ff898c1 100644 --- a/api/src/main/java/com/sponus/sponusbe/domain/organization/company/controller/CompanyController.java +++ b/api/src/main/java/com/sponus/sponusbe/domain/organization/company/controller/CompanyController.java @@ -10,6 +10,8 @@ import org.springframework.web.bind.annotation.RestController; import com.sponus.coredomain.domain.common.ApiResponse; +import com.sponus.coredomain.domain.organization.Organization; +import com.sponus.coreinfrasecurity.annotation.AuthOrganization; import com.sponus.sponusbe.domain.organization.company.dto.CompanyGetResponse; import com.sponus.sponusbe.domain.organization.company.dto.CompanyUpdateRequest; import com.sponus.sponusbe.domain.organization.company.service.CompanyService; @@ -28,11 +30,12 @@ public ApiResponse getCompany(@PathVariable Long companyId) return ApiResponse.onSuccess(companyService.getCompany(companyId)); } - @PatchMapping("/{companyId}") + @PatchMapping("/me") public ApiResponse updateCompany( - @PathVariable Long companyId, - @Valid @RequestBody CompanyUpdateRequest request) { - companyService.updateCompany(companyId, request); + @AuthOrganization Organization authOrganization, + @Valid @RequestBody CompanyUpdateRequest request + ) { + companyService.updateCompany(authOrganization.getId(), request); return ApiResponse.onSuccess(null); } } diff --git a/api/src/main/java/com/sponus/sponusbe/domain/organization/controller/OrganizationController.java b/api/src/main/java/com/sponus/sponusbe/domain/organization/controller/OrganizationController.java index 3ae9b57e..475c6f0d 100644 --- a/api/src/main/java/com/sponus/sponusbe/domain/organization/controller/OrganizationController.java +++ b/api/src/main/java/com/sponus/sponusbe/domain/organization/controller/OrganizationController.java @@ -20,7 +20,9 @@ import com.sponus.coredomain.domain.organization.Organization; import com.sponus.coredomain.domain.organization.enums.OrganizationType; import com.sponus.coreinfrasecurity.annotation.AuthOrganization; +import com.sponus.sponusbe.domain.organization.club.service.ClubService; import com.sponus.sponusbe.domain.organization.company.dto.OrganizationGetResponse; +import com.sponus.sponusbe.domain.organization.company.service.CompanyService; import com.sponus.sponusbe.domain.organization.dto.request.OrganizationCreateRequest; import com.sponus.sponusbe.domain.organization.dto.request.OrganizationSearchRequest; import com.sponus.sponusbe.domain.organization.dto.request.PageCondition; @@ -37,6 +39,8 @@ @RequiredArgsConstructor public class OrganizationController { private final OrganizationService organizationService; + private final ClubService clubService; + private final CompanyService companyService; @PostMapping("/join") public ApiResponse join(@RequestBody OrganizationCreateRequest request) { @@ -52,11 +56,21 @@ public ApiResponse> getOrganizations( organizationService.getOrganizations(authOrganization, pageCondition, organizationType)); } - @PostMapping(value = "/{organizationId}/profileImage", consumes = "multipart/form-data") + @GetMapping("/me") + public ApiResponse getMyProfile( + @AuthOrganization Organization authOrganization) { + if (authOrganization.isClub()) { + return ApiResponse.onSuccess(clubService.getClub(authOrganization.getId())); + } else { + return ApiResponse.onSuccess(companyService.getCompany(authOrganization.getId())); + } + } + + @PostMapping(value = "/me/profileImage", consumes = "multipart/form-data") public ApiResponse uploadProfileImage( - @PathVariable Long organizationId, + @AuthOrganization Organization organization, @RequestPart(name = "profileImage") MultipartFile file) { - return ApiResponse.onSuccess(organizationService.uploadProfileImage(organizationId, file)); + return ApiResponse.onSuccess(organizationService.uploadProfileImage(organization.getId(), file)); } @GetMapping("/exists") diff --git a/api/src/main/java/com/sponus/sponusbe/domain/organization/service/OrganizationService.java b/api/src/main/java/com/sponus/sponusbe/domain/organization/service/OrganizationService.java index b76634fb..9f9afb10 100644 --- a/api/src/main/java/com/sponus/sponusbe/domain/organization/service/OrganizationService.java +++ b/api/src/main/java/com/sponus/sponusbe/domain/organization/service/OrganizationService.java @@ -72,11 +72,6 @@ public void deleteOrganization(Long organizationId) { organization.delete(); } - private Organization findOrganizationById(Long organizationId) { - return organizationRepository.findById(organizationId) - .orElseThrow(() -> new OrganizationException(OrganizationErrorCode.ORGANIZATION_NOT_FOUND)); - } - public PageResponse getOrganizations( Organization authOrganization, PageCondition pageCondition, @@ -163,4 +158,9 @@ public void deleteAllSearchKeyword(Long organizationId) { searchHistory.getKeywords().clear(); searchHistoryRepository.save(searchHistory); } + + private Organization findOrganizationById(Long organizationId) { + return organizationRepository.findById(organizationId) + .orElseThrow(() -> new OrganizationException(OrganizationErrorCode.ORGANIZATION_NOT_FOUND)); + } } diff --git a/core/core-infra-db/src/main/resources/application-db.yml b/core/core-infra-db/src/main/resources/application-db.yml index 8f76970d..02b6b6d3 100644 --- a/core/core-infra-db/src/main/resources/application-db.yml +++ b/core/core-infra-db/src/main/resources/application-db.yml @@ -9,11 +9,11 @@ spring: jpa: database: mysql hibernate: - ddl-auto: create-drop + ddl-auto: create open-in-view: false show-sql: true -# generate-ddl: true -# defer-datasource-initialization: true +# generate-ddl: false +# defer-datasource-initialization: false # # sql: # init: