package com.example.tampopotest.service;
import com.example.tampopotest.model.Activity;
import com.example.tampopotest.repository.ActivityRepository;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.UUID;
@Service
public class ActivityService {
private final ActivityRepository activityRepository;
private final UserService userService;
public ActivityService(ActivityRepository activityRepository, UserService userService) {
this.activityRepository = activityRepository;
this.userService = userService;
}
public List<Activity> getActivitiesByUserId(String userId) {
return activityRepository.findByUserId(userId);
}
public Activity getLatestActivity(String userId) {
return activityRepository.findLatestByUserId(userId).orElse(null);
}
public Activity getActivityById(String activityId) {
return activityRepository.findByActivityId(activityId).orElse(null);
}
public Activity createActivity(String userId, String token, String text) {
if (!userService.verifyToken(userId, token)) {
return null;
}
String activityId = UUID.randomUUID().toString().substring(0, 8);
Activity activity = new Activity(activityId, userId, text);
return activityRepository.save(activity);
}
public boolean deleteActivity(String userId, String activityId, String token) {
if (!userService.verifyToken(userId, token)) {
return false;
}
Activity activity = activityRepository.findByActivityId(activityId).orElse(null);
if (activity == null || !activity.getUserId().equals(userId)) {
return false;
}
activityRepository.delete(activityId);
return true;
}
}