fix: resolve compilation errors, mock signatures, and missing DTO constructors

This commit is contained in:
2026-05-17 08:34:56 +07:00
parent abeb99ed61
commit 9781efeb6c
17 changed files with 58 additions and 10 deletions
@@ -1,8 +1,12 @@
package com.walkguide.dto.response;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class AiConfigResponse {
private Long id;
@@ -1,9 +1,13 @@
package com.walkguide.dto.response;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import java.util.List;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class DashboardResponse {
// Info user yang dipair
@@ -1,8 +1,12 @@
package com.walkguide.dto.response;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class GeofenceResponse {
private Long id;
@@ -1,8 +1,12 @@
package com.walkguide.dto.response;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class HardwareShortcutResponse {
private Long id;
@@ -1,9 +1,13 @@
package com.walkguide.dto.response;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import java.time.LocalDateTime;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class LocationResponse {
private Long id;
@@ -1,9 +1,13 @@
package com.walkguide.dto.response;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import java.time.LocalDateTime;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class NotificationResponse {
private Long id;
@@ -1,9 +1,13 @@
package com.walkguide.dto.response;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import java.time.LocalDateTime;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class ObstacleLogResponse {
private Long id;
@@ -1,8 +1,12 @@
package com.walkguide.dto.response;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class UserSettingsResponse {
private Long id;
@@ -1,8 +1,12 @@
package com.walkguide.dto.response;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class VoiceCommandResponse {
private Long id;
@@ -10,4 +10,5 @@ public interface GuardianNotificationRepository extends JpaRepository<GuardianNo
Page<GuardianNotification> findByUserIdOrderByCreatedAtDesc(Long userId, Pageable pageable);
long countByUserIdAndIsReadFalse(Long userId);
List<GuardianNotification> findByUserIdAndIsReadFalseOrderByCreatedAtAsc(Long userId);
java.util.Optional<GuardianNotification> findByIdAndUserId(Long id, Long userId);
}
@@ -6,5 +6,6 @@ import java.util.List;
@Repository
public interface HardwareShortcutRepository extends JpaRepository<HardwareShortcut, Long> {
List<HardwareShortcut> findByUserId(Long userId);
boolean existsByUserId(Long userId);
void deleteByUserId(Long userId);
}
@@ -9,5 +9,6 @@ import java.util.Optional;
public interface VoiceCommandConfigRepository extends JpaRepository<VoiceCommandConfig, Long> {
List<VoiceCommandConfig> findByUserId(Long userId);
Optional<VoiceCommandConfig> findByUserIdAndCommandKey(Long userId, VoiceCommandKey commandKey);
boolean existsByUserId(Long userId);
void deleteByUserId(Long userId);
}
@@ -90,6 +90,16 @@ public class NotificationService {
notifRepository.saveAll(unread);
}
@Transactional
public void markAsRead(Long userId, Long notifId) {
GuardianNotification notif = notifRepository.findByIdAndUserId(notifId, userId)
.orElseThrow(() -> new com.walkguide.exception.ResourceNotFoundException(
"Notifikasi tidak ditemukan"));
notif.setIsRead(true);
notif.setReadAt(LocalDateTime.now());
notifRepository.save(notif);
}
@Transactional
public void markOneRead(Long notifId) {
notifRepository.findById(notifId).ifPresent(n -> {