72 lines
1.7 KiB
Plaintext
72 lines
1.7 KiB
Plaintext
@startuml
|
|
skinparam classAttributeIconSize 0
|
|
|
|
class User {
|
|
+Long id
|
|
+String email
|
|
+String role
|
|
+String uniqueUserId
|
|
+String displayName
|
|
+String fcmToken
|
|
}
|
|
|
|
class PairingRelation {
|
|
+Long id
|
|
+PairingStatus status
|
|
+LocalDateTime invitedAt
|
|
+LocalDateTime respondedAt
|
|
}
|
|
|
|
class LocationHistory
|
|
class ActivityLog
|
|
class ObstacleLog
|
|
class GuardianNotification
|
|
class SosEvent
|
|
class UserSettings
|
|
class AiConfig
|
|
class VoiceCommandConfig
|
|
class HardwareShortcut
|
|
class GeofenceConfig
|
|
class RefreshToken
|
|
|
|
User "1" -- "0..*" LocationHistory
|
|
User "1" -- "0..*" ActivityLog
|
|
User "1" -- "0..*" ObstacleLog
|
|
User "1" -- "0..*" SosEvent
|
|
User "1" -- "0..1" UserSettings
|
|
User "1" -- "0..*" RefreshToken
|
|
User "1" -- "0..*" PairingRelation : guardian
|
|
User "1" -- "0..*" PairingRelation : user
|
|
PairingRelation "1" -- "0..*" GuardianNotification
|
|
PairingRelation "1" -- "0..1" AiConfig
|
|
PairingRelation "1" -- "0..*" VoiceCommandConfig
|
|
PairingRelation "1" -- "0..*" HardwareShortcut
|
|
PairingRelation "1" -- "0..1" GeofenceConfig
|
|
|
|
class AuthController
|
|
class PairingController
|
|
class UserController
|
|
class GuardianController
|
|
class CallController
|
|
class AuthService
|
|
class PairingService
|
|
class LocationService
|
|
class NotificationService
|
|
class SosService
|
|
class AgoraTokenService
|
|
class FcmService
|
|
class LocationBroadcaster
|
|
|
|
AuthController --> AuthService
|
|
PairingController --> PairingService
|
|
UserController --> LocationService
|
|
UserController --> SosService
|
|
GuardianController --> NotificationService
|
|
GuardianController --> SosService
|
|
CallController --> AgoraTokenService
|
|
CallController --> FcmService
|
|
LocationService --> LocationBroadcaster
|
|
NotificationService --> LocationBroadcaster
|
|
SosService --> LocationBroadcaster
|
|
@enduml
|