[Improvement] Device External ID (UUID) 도입 #275
Labels
No Label
Priority
High
Priority
Low
Priority
Medium
Priority
Non
Priority
Urgent
Status
Available
Status
Done
Status
In Progress
Type
Bug
Type
Chore
Type
Design
Type
Documentation
Type
Feature
Type
Improvement
Type
Refactor
Type
Research
Type
Task
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: SPMS/SPMS_API#275
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 작업 개요
Device 외부 식별자로 UUID(string) 기반의 ExternalDeviceId를 도입한다.
내부 PK(bigint)는 DB 관계에서만 사용하고, 외부 API에는 UUID만 노출한다.
✅ 체크리스트
Domain / Infrastructure
Device.ExternalDeviceId(string, VARCHAR(36)) 프로퍼티 추가DeviceConfiguration— UNIQUE INDEX (ServiceId, ExternalDeviceId) 추가IDeviceRepository—GetByExternalIdAndServiceAsync추가DeviceRepository— 구현Application / Cache
ITokenCacheService— long deviceId → string deviceId (ExternalDeviceId 기준)TokenCacheService— 구현 동기화DTO
DeviceRegisterRequestDto— device_id (UUID, Required) 필드 추가Service / Worker
DeviceService— ExternalDeviceId 기준 로직 변경PushService— UUID string 배열 직렬화PushWorker— ExternalDeviceId 기준 파싱DeadTokenCleanupWorker— 캐시 무효화 수정PushSendLogRepository— Device Include 추가Migration
AddExternalDeviceId추가📎 참고 사항