improvement: 마이페이지 조회 확장 (#249) #250

Merged
seonkyu.kim merged 1 commits from improvement/#249-mypage-profile-extension into develop 2026-02-26 01:03:24 +00:00
Owner

📋 작업 요약

  • Admin 엔티티에 Organization nullable varchar(100) 컬럼 추가
  • 프로필 조회 응답에 last_login_at, organization 필드 추가
  • 프로필 수정 시 organization 변경 지원
  • 활동 내역 조회 API 신규 추가 (POST /v1/in/account/profile/activity/list)
  • SystemLog 테이블 기반 AdminId 필터 + 기간 필터 + 페이징

Closes #249

🛠️ 작업 내용 (Changes)

  • SPMS.Domain/Entities/Admin.cs — Organization 프로퍼티 추가
  • SPMS.Infrastructure/Persistence/Configurations/AdminConfiguration.cs — Organization 컬럼 설정
  • SPMS.Infrastructure/Migrations/20260226005844_AddOrganizationToAdmin.cs — DB Migration
  • SPMS.Application/DTOs/Account/ProfileResponseDto.cs — last_login_at, organization 필드 추가
  • SPMS.Application/DTOs/Account/UpdateProfileRequestDto.cs — organization 필드 추가
  • SPMS.Application/DTOs/Account/ActivityListRequestDto.cs — 활동 내역 요청 DTO 신규
  • SPMS.Application/DTOs/Account/ActivityListResponseDto.cs — 활동 내역 응답 DTO 신규
  • SPMS.Application/Interfaces/IAuthService.cs — GetActivityListAsync 메서드 추가
  • SPMS.Application/Services/AuthService.cs — 프로필 매핑 확장 + 활동 내역 로직
  • SPMS.API/Controllers/ProfileController.cs — activity/list 엔드포인트 추가

📢 리뷰어 참고 사항 (To Reviewers)

  • last_login_at은 Admin 엔티티에 이미 존재하는 LastLoginAt 필드를 매핑한 것
  • Organization은 신규 nullable 컬럼으로 DB Migration 포함
  • 활동 내역은 제네릭 IRepository<SystemLog>를 활용하여 별도 리포지토리 없이 구현

체크리스트 (Self Checklist)

  • 빌드(Build)가 성공적으로 수행되었는가?
  • 모든 단위 테스트(Unit Test)를 통과하였는가?
  • 불필요한 로그나 주석을 제거하였는가?
  • 컨벤션(Clean Architecture, Naming)을 준수하였는가?
  • 기밀 정보(비밀번호, 키 등)가 하드코딩 되어있지 않은가?

📸 스크린샷 / 테스트 로그 (Screenshots/Logs)

빌드했습니다.
    경고 0개
    오류 0개
## 📋 작업 요약 - Admin 엔티티에 `Organization` nullable varchar(100) 컬럼 추가 - 프로필 조회 응답에 `last_login_at`, `organization` 필드 추가 - 프로필 수정 시 `organization` 변경 지원 - 활동 내역 조회 API 신규 추가 (`POST /v1/in/account/profile/activity/list`) - SystemLog 테이블 기반 AdminId 필터 + 기간 필터 + 페이징 ## 🔗 관련 이슈 (Related Issues) Closes #249 ## 🛠️ 작업 내용 (Changes) - [x] `SPMS.Domain/Entities/Admin.cs` — Organization 프로퍼티 추가 - [x] `SPMS.Infrastructure/Persistence/Configurations/AdminConfiguration.cs` — Organization 컬럼 설정 - [x] `SPMS.Infrastructure/Migrations/20260226005844_AddOrganizationToAdmin.cs` — DB Migration - [x] `SPMS.Application/DTOs/Account/ProfileResponseDto.cs` — last_login_at, organization 필드 추가 - [x] `SPMS.Application/DTOs/Account/UpdateProfileRequestDto.cs` — organization 필드 추가 - [x] `SPMS.Application/DTOs/Account/ActivityListRequestDto.cs` — 활동 내역 요청 DTO 신규 - [x] `SPMS.Application/DTOs/Account/ActivityListResponseDto.cs` — 활동 내역 응답 DTO 신규 - [x] `SPMS.Application/Interfaces/IAuthService.cs` — GetActivityListAsync 메서드 추가 - [x] `SPMS.Application/Services/AuthService.cs` — 프로필 매핑 확장 + 활동 내역 로직 - [x] `SPMS.API/Controllers/ProfileController.cs` — activity/list 엔드포인트 추가 ## 📢 리뷰어 참고 사항 (To Reviewers) - `last_login_at`은 Admin 엔티티에 이미 존재하는 `LastLoginAt` 필드를 매핑한 것 - `Organization`은 신규 nullable 컬럼으로 DB Migration 포함 - 활동 내역은 제네릭 `IRepository<SystemLog>`를 활용하여 별도 리포지토리 없이 구현 ## ✅ 체크리스트 (Self Checklist) - [x] 빌드(Build)가 성공적으로 수행되었는가? - [x] 모든 단위 테스트(Unit Test)를 통과하였는가? - [x] 불필요한 로그나 주석을 제거하였는가? - [x] 컨벤션(Clean Architecture, Naming)을 준수하였는가? - [x] 기밀 정보(비밀번호, 키 등)가 하드코딩 되어있지 않은가? ## 📸 스크린샷 / 테스트 로그 (Screenshots/Logs) ``` 빌드했습니다. 경고 0개 오류 0개 ```
seonkyu.kim added 1 commit 2026-02-26 01:02:16 +00:00
- Admin 엔티티에 Organization 컬럼 추가 + Migration
- ProfileResponseDto에 last_login_at, organization 필드 추가
- UpdateProfileRequestDto에 organization 필드 추가
- AuthService 프로필 조회/수정 매핑 확장
- 활동 내역 DTO 및 GetActivityListAsync 메서드 추가
- ProfileController 활동 내역 조회 엔드포인트 추가

Closes #249
seonkyu.kim added the
Priority
Medium
Status
In Progress
Type
Improvement
labels 2026-02-26 01:02:30 +00:00
seonkyu.kim self-assigned this 2026-02-26 01:02:34 +00:00
seonkyu.kim added this to the Phase 3: 운영 기능 milestone 2026-02-26 01:02:39 +00:00
seonkyu.kim requested review from Owners 2026-02-26 01:02:46 +00:00
seonkyu.kim merged commit 335676a282 into develop 2026-02-26 01:03:24 +00:00
seonkyu.kim deleted branch improvement/#249-mypage-profile-extension 2026-02-26 01:03:47 +00:00
seonkyu.kim added
Status
Done
and removed
Status
In Progress
labels 2026-02-26 01:03:55 +00:00
Sign in to join this conversation.
No description provided.