Big Feature and Beautifying Package

This commit is contained in:
Tim Zöller 2026-01-13 12:53:18 +01:00
parent 87da2a3861
commit 1f2ff67f38
171 changed files with 1286 additions and 663 deletions

View file

@ -237,7 +237,7 @@ fitpub:
logging:
level:
org.operaton.fitpub: DEBUG
net.javahippie.fitpub: DEBUG
```
#### `application-instance2.yml`
@ -261,7 +261,7 @@ fitpub:
logging:
level:
org.operaton.fitpub: DEBUG
net.javahippie.fitpub: DEBUG
```
### Step 3: Build the Application

74
pom.xml
View file

@ -11,7 +11,7 @@
<relativePath/>
</parent>
<groupId>org.operaton</groupId>
<groupId>net.javahippie</groupId>
<artifactId>feditrack</artifactId>
<version>1.0-SNAPSHOT</version>
<name>FitPub</name>
@ -23,6 +23,7 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>17</java.version>
<jjwt.version>0.12.3</jjwt.version>
<testcontainers.version>2.0.3</testcontainers.version>
</properties>
<dependencies>
@ -77,16 +78,6 @@
<artifactId>flyway-core</artifactId>
</dependency>
<!-- Testcontainers for Dev Services -->
<!-- These are excluded from production builds via Maven profile -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-testcontainers</artifactId>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>postgresql</artifactId>
</dependency>
<dependency>
<groupId>io.hypersistence</groupId>
<artifactId>hypersistence-utils-hibernate-63</artifactId>
@ -155,6 +146,7 @@
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-test</artifactId>
@ -168,45 +160,29 @@
<scope>runtime</scope>
<optional>true</optional>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<excludes>
<exclude>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</exclude>
<!-- Exclude Testcontainers from production JAR -->
<exclude>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-testcontainers</artifactId>
</exclude>
<exclude>
<groupId>org.testcontainers</groupId>
<artifactId>testcontainers</artifactId>
</exclude>
<exclude>
<groupId>org.testcontainers</groupId>
<artifactId>postgresql</artifactId>
</exclude>
<exclude>
<groupId>org.testcontainers</groupId>
<artifactId>jdbc</artifactId>
</exclude>
<exclude>
<groupId>org.testcontainers</groupId>
<artifactId>database-commons</artifactId>
</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-testcontainers</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>testcontainers-junit-jupiter</artifactId>
<version>2.0.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>testcontainers-postgresql</artifactId>
<version>2.0.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<profiles>
<!-- Profile to skip integration tests (useful when Docker is not available) -->

View file

@ -1,4 +1,4 @@
package org.operaton.fitpub;
package net.javahippie.fitpub;
import lombok.extern.slf4j.Slf4j;
import org.apache.hc.client5.http.classic.HttpClient;

View file

@ -1,4 +1,4 @@
package org.operaton.fitpub.config;
package net.javahippie.fitpub.config;
import lombok.extern.slf4j.Slf4j;
import org.springframework.aop.interceptor.AsyncUncaughtExceptionHandler;

View file

@ -1,4 +1,4 @@
package org.operaton.fitpub.config;
package net.javahippie.fitpub.config;
import org.apache.hc.core5.http.EntityDetails;
import org.apache.hc.core5.http.HttpRequest;

View file

@ -1,7 +1,7 @@
package org.operaton.fitpub.config;
package net.javahippie.fitpub.config;
import lombok.RequiredArgsConstructor;
import org.operaton.fitpub.security.JwtAuthenticationFilter;
import net.javahippie.fitpub.security.JwtAuthenticationFilter;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.HttpMethod;
@ -36,7 +36,7 @@ public class SecurityConfig {
private final JwtAuthenticationFilter jwtAuthenticationFilter;
private final UserDetailsService userDetailsService;
private final org.operaton.fitpub.security.CustomAuthenticationEntryPoint customAuthenticationEntryPoint;
private final net.javahippie.fitpub.security.CustomAuthenticationEntryPoint customAuthenticationEntryPoint;
/**
* Configures the security filter chain.
@ -62,6 +62,7 @@ public class SecurityConfig {
// Public endpoints - Web UI pages
.requestMatchers("/", "/login", "/register", "/timeline", "/timeline/**").permitAll()
.requestMatchers("/discover").permitAll() // User discovery page
.requestMatchers("/terms").permitAll() // Terms of Service page
// Protected view pages - require authentication
.requestMatchers("/activities", "/activities/upload").authenticated()

View file

@ -1,4 +1,4 @@
package org.operaton.fitpub.config;
package net.javahippie.fitpub.config;
import nz.net.ultraq.thymeleaf.layoutdialect.LayoutDialect;
import org.springframework.context.annotation.Bean;

View file

@ -1,4 +1,4 @@
package org.operaton.fitpub.controller;
package net.javahippie.fitpub.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;

View file

@ -1,22 +1,23 @@
package org.operaton.fitpub.controller;
package net.javahippie.fitpub.controller;
import jakarta.validation.Valid;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.operaton.fitpub.model.dto.ActivityDTO;
import org.operaton.fitpub.model.dto.ActivityUpdateRequest;
import org.operaton.fitpub.model.dto.ActivityUploadRequest;
import org.operaton.fitpub.model.entity.Activity;
import org.operaton.fitpub.model.entity.PrivacyZone;
import org.operaton.fitpub.model.entity.User;
import org.operaton.fitpub.repository.UserRepository;
import org.operaton.fitpub.service.ActivityFileService;
import org.operaton.fitpub.service.ActivityImageService;
import org.operaton.fitpub.service.ActivityPostProcessingService;
import org.operaton.fitpub.service.FederationService;
import org.operaton.fitpub.service.FitFileService;
import org.operaton.fitpub.service.PrivacyZoneService;
import org.operaton.fitpub.service.TrackPrivacyFilter;
import net.javahippie.fitpub.model.dto.ActivityDTO;
import net.javahippie.fitpub.model.dto.ActivityUpdateRequest;
import net.javahippie.fitpub.model.dto.ActivityUploadRequest;
import net.javahippie.fitpub.model.entity.Activity;
import net.javahippie.fitpub.model.entity.PrivacyZone;
import net.javahippie.fitpub.model.entity.User;
import net.javahippie.fitpub.repository.UserRepository;
import net.javahippie.fitpub.service.ActivityFileService;
import net.javahippie.fitpub.service.ActivityImageService;
import net.javahippie.fitpub.service.ActivityPostProcessingService;
import net.javahippie.fitpub.service.FederationService;
import net.javahippie.fitpub.service.WeatherService;
import net.javahippie.fitpub.service.FitFileService;
import net.javahippie.fitpub.service.PrivacyZoneService;
import net.javahippie.fitpub.service.TrackPrivacyFilter;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
@ -46,7 +47,7 @@ public class ActivityController {
private final ActivityPostProcessingService activityPostProcessingService;
private final FederationService federationService;
private final ActivityImageService activityImageService;
private final org.operaton.fitpub.service.WeatherService weatherService;
private final WeatherService weatherService;
private final PrivacyZoneService privacyZoneService;
private final TrackPrivacyFilter trackPrivacyFilter;
@ -250,7 +251,8 @@ public class ActivityController {
userId,
request.getTitle(),
request.getDescription(),
request.getVisibility()
request.getVisibility(),
request.getRace()
);
ActivityDTO dto = ActivityDTO.fromEntity(updated);

View file

@ -1,15 +1,17 @@
package org.operaton.fitpub.controller;
package net.javahippie.fitpub.controller;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.operaton.fitpub.model.activitypub.Actor;
import org.operaton.fitpub.model.activitypub.OrderedCollection;
import org.operaton.fitpub.model.entity.Activity;
import org.operaton.fitpub.model.entity.User;
import org.operaton.fitpub.repository.ActivityRepository;
import org.operaton.fitpub.repository.UserRepository;
import org.operaton.fitpub.service.ActivityImageService;
import org.operaton.fitpub.util.ActivityFormatter;
import net.javahippie.fitpub.model.activitypub.Actor;
import net.javahippie.fitpub.model.activitypub.OrderedCollection;
import net.javahippie.fitpub.model.entity.Activity;
import net.javahippie.fitpub.model.entity.User;
import net.javahippie.fitpub.repository.FollowRepository;
import net.javahippie.fitpub.repository.ActivityRepository;
import net.javahippie.fitpub.repository.UserRepository;
import net.javahippie.fitpub.service.ActivityImageService;
import net.javahippie.fitpub.service.InboxProcessor;
import net.javahippie.fitpub.util.ActivityFormatter;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
@ -33,8 +35,8 @@ public class ActivityPubController {
private final UserRepository userRepository;
private final ActivityRepository activityRepository;
private final ActivityImageService activityImageService;
private final org.operaton.fitpub.service.InboxProcessor inboxProcessor;
private final org.operaton.fitpub.repository.FollowRepository followRepository;
private final InboxProcessor inboxProcessor;
private final FollowRepository followRepository;
@Value("${fitpub.base-url}")
private String baseUrl;

View file

@ -1,10 +1,19 @@
package org.operaton.fitpub.controller;
package net.javahippie.fitpub.controller;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.operaton.fitpub.model.entity.*;
import org.operaton.fitpub.repository.UserRepository;
import org.operaton.fitpub.service.*;
import net.javahippie.fitpub.model.entity.Achievement;
import net.javahippie.fitpub.model.entity.ActivitySummary;
import net.javahippie.fitpub.model.entity.PersonalRecord;
import net.javahippie.fitpub.model.entity.TrainingLoad;
import net.javahippie.fitpub.model.entity.User;
import net.javahippie.fitpub.service.AchievementService;
import net.javahippie.fitpub.service.ActivitySummaryService;
import net.javahippie.fitpub.service.PersonalRecordService;
import net.javahippie.fitpub.service.TrainingLoadService;
import net.javahippie.fitpub.model.entity.*;
import net.javahippie.fitpub.repository.UserRepository;
import net.javahippie.fitpub.service.*;
import org.springframework.http.ResponseEntity;
import org.springframework.security.core.annotation.AuthenticationPrincipal;
import org.springframework.security.core.userdetails.UserDetails;

View file

@ -1,4 +1,4 @@
package org.operaton.fitpub.controller;
package net.javahippie.fitpub.controller;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Controller;

View file

@ -1,14 +1,14 @@
package org.operaton.fitpub.controller;
package net.javahippie.fitpub.controller;
import jakarta.servlet.http.Cookie;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.Valid;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.operaton.fitpub.model.dto.AuthResponse;
import org.operaton.fitpub.model.dto.LoginRequest;
import org.operaton.fitpub.model.dto.RegisterRequest;
import org.operaton.fitpub.service.UserService;
import net.javahippie.fitpub.model.dto.AuthResponse;
import net.javahippie.fitpub.model.dto.LoginRequest;
import net.javahippie.fitpub.model.dto.RegisterRequest;
import net.javahippie.fitpub.service.UserService;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;

View file

@ -1,4 +1,4 @@
package org.operaton.fitpub.controller;
package net.javahippie.fitpub.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;

View file

@ -1,14 +1,14 @@
package org.operaton.fitpub.controller;
package net.javahippie.fitpub.controller;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.operaton.fitpub.model.entity.BatchImportFileResult;
import org.operaton.fitpub.model.entity.BatchImportJob;
import org.operaton.fitpub.model.entity.User;
import org.operaton.fitpub.repository.BatchImportFileResultRepository;
import org.operaton.fitpub.repository.BatchImportJobRepository;
import org.operaton.fitpub.repository.UserRepository;
import org.operaton.fitpub.service.BatchImportService;
import net.javahippie.fitpub.model.entity.BatchImportFileResult;
import net.javahippie.fitpub.model.entity.BatchImportJob;
import net.javahippie.fitpub.model.entity.User;
import net.javahippie.fitpub.repository.BatchImportFileResultRepository;
import net.javahippie.fitpub.repository.BatchImportJobRepository;
import net.javahippie.fitpub.repository.UserRepository;
import net.javahippie.fitpub.service.BatchImportService;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;

View file

@ -1,4 +1,4 @@
package org.operaton.fitpub.controller;
package net.javahippie.fitpub.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;

View file

@ -1,18 +1,18 @@
package org.operaton.fitpub.controller;
package net.javahippie.fitpub.controller;
import jakarta.validation.Valid;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.operaton.fitpub.model.dto.CommentCreateRequest;
import org.operaton.fitpub.model.dto.CommentDTO;
import org.operaton.fitpub.model.entity.Activity;
import org.operaton.fitpub.model.entity.Comment;
import org.operaton.fitpub.model.entity.User;
import org.operaton.fitpub.repository.ActivityRepository;
import org.operaton.fitpub.repository.CommentRepository;
import org.operaton.fitpub.repository.UserRepository;
import org.operaton.fitpub.service.FederationService;
import org.operaton.fitpub.service.NotificationService;
import net.javahippie.fitpub.model.dto.CommentCreateRequest;
import net.javahippie.fitpub.model.dto.CommentDTO;
import net.javahippie.fitpub.model.entity.Activity;
import net.javahippie.fitpub.model.entity.Comment;
import net.javahippie.fitpub.model.entity.User;
import net.javahippie.fitpub.repository.ActivityRepository;
import net.javahippie.fitpub.repository.CommentRepository;
import net.javahippie.fitpub.repository.UserRepository;
import net.javahippie.fitpub.service.FederationService;
import net.javahippie.fitpub.service.NotificationService;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;

View file

@ -1,9 +1,9 @@
package org.operaton.fitpub.controller;
package net.javahippie.fitpub.controller;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.operaton.fitpub.model.entity.User;
import org.operaton.fitpub.repository.UserRepository;
import net.javahippie.fitpub.model.entity.User;
import net.javahippie.fitpub.repository.UserRepository;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

View file

@ -1,13 +1,13 @@
package org.operaton.fitpub.controller;
package net.javahippie.fitpub.controller;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.operaton.fitpub.model.dto.HeatmapDataDTO;
import org.operaton.fitpub.model.entity.User;
import org.operaton.fitpub.model.entity.UserHeatmapGrid;
import org.operaton.fitpub.repository.ActivityRepository;
import org.operaton.fitpub.repository.UserRepository;
import org.operaton.fitpub.service.HeatmapGridService;
import net.javahippie.fitpub.model.dto.HeatmapDataDTO;
import net.javahippie.fitpub.model.entity.User;
import net.javahippie.fitpub.model.entity.UserHeatmapGrid;
import net.javahippie.fitpub.repository.ActivityRepository;
import net.javahippie.fitpub.repository.UserRepository;
import net.javahippie.fitpub.service.HeatmapGridService;
import org.springframework.http.ResponseEntity;
import org.springframework.security.core.annotation.AuthenticationPrincipal;
import org.springframework.security.core.userdetails.UserDetails;

View file

@ -1,4 +1,4 @@
package org.operaton.fitpub.controller;
package net.javahippie.fitpub.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
@ -18,4 +18,9 @@ public class HomeController {
public String heatmap() {
return "heatmap";
}
@GetMapping("/terms")
public String terms() {
return "terms";
}
}

View file

@ -1,16 +1,16 @@
package org.operaton.fitpub.controller;
package net.javahippie.fitpub.controller;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.operaton.fitpub.model.dto.LikeDTO;
import org.operaton.fitpub.model.entity.Activity;
import org.operaton.fitpub.model.entity.Like;
import org.operaton.fitpub.model.entity.User;
import org.operaton.fitpub.repository.ActivityRepository;
import org.operaton.fitpub.repository.LikeRepository;
import org.operaton.fitpub.repository.UserRepository;
import org.operaton.fitpub.service.FederationService;
import org.operaton.fitpub.service.NotificationService;
import net.javahippie.fitpub.model.dto.LikeDTO;
import net.javahippie.fitpub.model.entity.Activity;
import net.javahippie.fitpub.model.entity.Like;
import net.javahippie.fitpub.model.entity.User;
import net.javahippie.fitpub.repository.ActivityRepository;
import net.javahippie.fitpub.repository.LikeRepository;
import net.javahippie.fitpub.repository.UserRepository;
import net.javahippie.fitpub.service.FederationService;
import net.javahippie.fitpub.service.NotificationService;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
@ -20,7 +20,6 @@ import org.springframework.security.core.userdetails.UsernameNotFoundException;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import java.time.Instant;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

View file

@ -1,12 +1,12 @@
package org.operaton.fitpub.controller;
package net.javahippie.fitpub.controller;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.operaton.fitpub.model.dto.NotificationDTO;
import org.operaton.fitpub.model.entity.Notification;
import org.operaton.fitpub.model.entity.User;
import org.operaton.fitpub.repository.UserRepository;
import org.operaton.fitpub.service.NotificationService;
import net.javahippie.fitpub.model.dto.NotificationDTO;
import net.javahippie.fitpub.model.entity.Notification;
import net.javahippie.fitpub.model.entity.User;
import net.javahippie.fitpub.repository.UserRepository;
import net.javahippie.fitpub.service.NotificationService;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.http.ResponseEntity;

View file

@ -1,4 +1,4 @@
package org.operaton.fitpub.controller;
package net.javahippie.fitpub.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;

View file

@ -1,15 +1,15 @@
package org.operaton.fitpub.controller;
package net.javahippie.fitpub.controller;
import jakarta.validation.Valid;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.operaton.fitpub.model.dto.CreatePrivacyZoneRequest;
import org.operaton.fitpub.model.dto.PrivacyZoneDTO;
import org.operaton.fitpub.model.dto.UpdatePrivacyZoneRequest;
import org.operaton.fitpub.model.entity.PrivacyZone;
import org.operaton.fitpub.model.entity.User;
import org.operaton.fitpub.repository.UserRepository;
import org.operaton.fitpub.service.PrivacyZoneService;
import net.javahippie.fitpub.model.dto.CreatePrivacyZoneRequest;
import net.javahippie.fitpub.model.dto.PrivacyZoneDTO;
import net.javahippie.fitpub.model.dto.UpdatePrivacyZoneRequest;
import net.javahippie.fitpub.model.entity.PrivacyZone;
import net.javahippie.fitpub.model.entity.User;
import net.javahippie.fitpub.repository.UserRepository;
import net.javahippie.fitpub.service.PrivacyZoneService;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.security.core.annotation.AuthenticationPrincipal;

View file

@ -1,4 +1,4 @@
package org.operaton.fitpub.controller;
package net.javahippie.fitpub.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;

View file

@ -1,11 +1,11 @@
package org.operaton.fitpub.controller;
package net.javahippie.fitpub.controller;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.operaton.fitpub.model.dto.TimelineActivityDTO;
import org.operaton.fitpub.model.entity.User;
import org.operaton.fitpub.repository.UserRepository;
import org.operaton.fitpub.service.TimelineService;
import net.javahippie.fitpub.model.dto.TimelineActivityDTO;
import net.javahippie.fitpub.model.entity.User;
import net.javahippie.fitpub.repository.UserRepository;
import net.javahippie.fitpub.service.TimelineService;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;

View file

@ -1,4 +1,4 @@
package org.operaton.fitpub.controller;
package net.javahippie.fitpub.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;

View file

@ -1,19 +1,21 @@
package org.operaton.fitpub.controller;
package net.javahippie.fitpub.controller;
import jakarta.validation.Valid;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.operaton.fitpub.model.dto.AccountDeletionRequest;
import org.operaton.fitpub.model.dto.ActorDTO;
import org.operaton.fitpub.model.dto.UserDTO;
import org.operaton.fitpub.model.dto.UserUpdateRequest;
import org.operaton.fitpub.model.entity.Follow;
import org.operaton.fitpub.model.entity.RemoteActor;
import org.operaton.fitpub.model.entity.User;
import org.operaton.fitpub.repository.FollowRepository;
import org.operaton.fitpub.repository.RemoteActorRepository;
import org.operaton.fitpub.repository.UserRepository;
import org.operaton.fitpub.service.UserService;
import net.javahippie.fitpub.model.dto.AccountDeletionRequest;
import net.javahippie.fitpub.model.dto.ActorDTO;
import net.javahippie.fitpub.model.dto.UserDTO;
import net.javahippie.fitpub.model.dto.UserUpdateRequest;
import net.javahippie.fitpub.model.entity.Follow;
import net.javahippie.fitpub.model.entity.RemoteActor;
import net.javahippie.fitpub.model.entity.User;
import net.javahippie.fitpub.repository.FollowRepository;
import net.javahippie.fitpub.repository.RemoteActorRepository;
import net.javahippie.fitpub.repository.UserRepository;
import net.javahippie.fitpub.service.FederationService;
import net.javahippie.fitpub.service.WebFingerClient;
import net.javahippie.fitpub.service.UserService;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
@ -42,8 +44,8 @@ public class UserController {
private final UserRepository userRepository;
private final FollowRepository followRepository;
private final RemoteActorRepository remoteActorRepository;
private final org.operaton.fitpub.service.WebFingerClient webFingerClient;
private final org.operaton.fitpub.service.FederationService federationService;
private final WebFingerClient webFingerClient;
private final FederationService federationService;
private final UserService userService;
@Value("${fitpub.base-url}")

View file

@ -1,10 +1,10 @@
package org.operaton.fitpub.controller;
package net.javahippie.fitpub.controller;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.operaton.fitpub.model.activitypub.WebFingerResponse;
import org.operaton.fitpub.model.entity.User;
import org.operaton.fitpub.repository.UserRepository;
import net.javahippie.fitpub.model.activitypub.WebFingerResponse;
import net.javahippie.fitpub.model.entity.User;
import net.javahippie.fitpub.repository.UserRepository;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;

View file

@ -1,4 +1,4 @@
package org.operaton.fitpub.exception;
package net.javahippie.fitpub.exception;
/**
* Exception thrown when FIT file processing fails.

View file

@ -1,4 +1,4 @@
package org.operaton.fitpub.exception;
package net.javahippie.fitpub.exception;
/**
* Base exception for GPX file processing errors.

View file

@ -1,4 +1,4 @@
package org.operaton.fitpub.exception;
package net.javahippie.fitpub.exception;
/**
* Exception thrown when a FIT file is invalid or corrupted.

View file

@ -1,4 +1,4 @@
package org.operaton.fitpub.exception;
package net.javahippie.fitpub.exception;
/**
* Exception thrown when a GPX file fails validation.

View file

@ -1,4 +1,4 @@
package org.operaton.fitpub.exception;
package net.javahippie.fitpub.exception;
/**
* Exception thrown when an uploaded file format is not supported.

View file

@ -1,4 +1,4 @@
package org.operaton.fitpub.model.activitypub;
package net.javahippie.fitpub.model.activitypub;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
@ -6,6 +6,7 @@ import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import net.javahippie.fitpub.model.entity.User;
import java.util.List;
@ -41,7 +42,7 @@ public class Actor {
/**
* Creates an Actor from a User entity.
*/
public static Actor fromUser(org.operaton.fitpub.model.entity.User user, String baseUrl) {
public static Actor fromUser(User user, String baseUrl) {
String actorUri = user.getActorUri(baseUrl);
return Actor.builder()

View file

@ -1,4 +1,4 @@
package org.operaton.fitpub.model.activitypub;
package net.javahippie.fitpub.model.activitypub;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;

View file

@ -1,4 +1,4 @@
package org.operaton.fitpub.model.activitypub;
package net.javahippie.fitpub.model.activitypub;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.AllArgsConstructor;

View file

@ -1,4 +1,4 @@
package org.operaton.fitpub.model.activitypub;
package net.javahippie.fitpub.model.activitypub;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.AllArgsConstructor;

View file

@ -1,4 +1,4 @@
package org.operaton.fitpub.model.activitypub;
package net.javahippie.fitpub.model.activitypub;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.AllArgsConstructor;

View file

@ -1,4 +1,4 @@
package org.operaton.fitpub.model.dto;
package net.javahippie.fitpub.model.dto;
import jakarta.validation.constraints.NotBlank;
import lombok.AllArgsConstructor;

View file

@ -1,4 +1,4 @@
package org.operaton.fitpub.model.dto;
package net.javahippie.fitpub.model.dto;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
@ -6,15 +6,13 @@ import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.locationtech.jts.geom.Coordinate;
import org.locationtech.jts.geom.LineString;
import org.operaton.fitpub.model.entity.Activity;
import org.operaton.fitpub.model.entity.PrivacyZone;
import org.operaton.fitpub.service.TrackPrivacyFilter;
import org.operaton.fitpub.util.ActivityFormatter;
import net.javahippie.fitpub.model.entity.Activity;
import net.javahippie.fitpub.model.entity.PrivacyZone;
import net.javahippie.fitpub.service.TrackPrivacyFilter;
import net.javahippie.fitpub.util.ActivityFormatter;
import java.math.BigDecimal;
import java.time.Duration;
import java.time.LocalDateTime;
import java.util.LinkedHashMap;
import java.util.List;
@ -59,6 +57,9 @@ public class ActivityDTO {
private String subSport; // SubSport field from FIT file (e.g., INDOOR_CYCLING, TREADMILL)
private String indoorDetectionMethod; // How indoor flag was determined
// Race/competition flag
private Boolean race; // True if activity is a race/competition (uses total time for pace calculation)
// Social interaction counts (populated separately)
private Long likesCount;
private Long commentsCount;
@ -151,6 +152,9 @@ public class ActivityDTO {
builder.subSport(activity.getSubSport());
builder.indoorDetectionMethod(activity.getIndoorDetectionMethod());
// Race flag
builder.race(activity.getRace() != null ? activity.getRace() : false);
return builder.build();
}
@ -232,6 +236,7 @@ public class ActivityDTO {
.indoor(activity.getIndoor() != null ? activity.getIndoor() : false)
.subSport(activity.getSubSport())
.indoorDetectionMethod(activity.getIndoorDetectionMethod())
.race(activity.getRace() != null ? activity.getRace() : false)
.build();
}
@ -277,6 +282,9 @@ public class ActivityDTO {
builder.subSport(activity.getSubSport());
builder.indoorDetectionMethod(activity.getIndoorDetectionMethod());
// Race flag
builder.race(activity.getRace() != null ? activity.getRace() : false);
return builder.build();
}

View file

@ -1,10 +1,10 @@
package org.operaton.fitpub.model.dto;
package net.javahippie.fitpub.model.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.operaton.fitpub.model.entity.ActivityMetrics;
import net.javahippie.fitpub.model.entity.ActivityMetrics;
import java.math.BigDecimal;

View file

@ -1,4 +1,4 @@
package org.operaton.fitpub.model.dto;
package net.javahippie.fitpub.model.dto;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
@ -6,7 +6,7 @@ import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.operaton.fitpub.model.entity.Activity;
import net.javahippie.fitpub.model.entity.Activity;
/**
* Request DTO for updating activity metadata.
@ -26,4 +26,6 @@ public class ActivityUpdateRequest {
@NotNull(message = "Visibility is required")
private Activity.Visibility visibility;
private Boolean race; // Race/competition flag
}

View file

@ -1,12 +1,11 @@
package org.operaton.fitpub.model.dto;
package net.javahippie.fitpub.model.dto;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.operaton.fitpub.model.entity.Activity;
import net.javahippie.fitpub.model.entity.Activity;
/**
* Request DTO for uploading a new activity.

View file

@ -1,11 +1,11 @@
package org.operaton.fitpub.model.dto;
package net.javahippie.fitpub.model.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.operaton.fitpub.model.entity.RemoteActor;
import org.operaton.fitpub.model.entity.User;
import net.javahippie.fitpub.model.entity.RemoteActor;
import net.javahippie.fitpub.model.entity.User;
import java.time.Instant;

View file

@ -1,4 +1,4 @@
package org.operaton.fitpub.model.dto;
package net.javahippie.fitpub.model.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;

View file

@ -1,4 +1,4 @@
package org.operaton.fitpub.model.dto;
package net.javahippie.fitpub.model.dto;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size;

View file

@ -1,10 +1,10 @@
package org.operaton.fitpub.model.dto;
package net.javahippie.fitpub.model.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.operaton.fitpub.model.entity.Comment;
import net.javahippie.fitpub.model.entity.Comment;
import java.time.LocalDateTime;
import java.util.UUID;

View file

@ -1,4 +1,4 @@
package org.operaton.fitpub.model.dto;
package net.javahippie.fitpub.model.dto;
import jakarta.validation.constraints.*;
import lombok.AllArgsConstructor;

View file

@ -1,10 +1,10 @@
package org.operaton.fitpub.model.dto;
package net.javahippie.fitpub.model.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.operaton.fitpub.model.entity.UserHeatmapGrid;
import net.javahippie.fitpub.model.entity.UserHeatmapGrid;
import java.util.ArrayList;
import java.util.List;

View file

@ -1,10 +1,10 @@
package org.operaton.fitpub.model.dto;
package net.javahippie.fitpub.model.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.operaton.fitpub.model.entity.Like;
import net.javahippie.fitpub.model.entity.Like;
import java.time.LocalDateTime;
import java.util.UUID;

View file

@ -1,4 +1,4 @@
package org.operaton.fitpub.model.dto;
package net.javahippie.fitpub.model.dto;
import jakarta.validation.constraints.NotBlank;
import lombok.AllArgsConstructor;

View file

@ -1,10 +1,10 @@
package org.operaton.fitpub.model.dto;
package net.javahippie.fitpub.model.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.operaton.fitpub.model.entity.Notification;
import net.javahippie.fitpub.model.entity.Notification;
import java.time.LocalDateTime;
import java.util.UUID;

View file

@ -1,10 +1,10 @@
package org.operaton.fitpub.model.dto;
package net.javahippie.fitpub.model.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.operaton.fitpub.model.entity.PrivacyZone;
import net.javahippie.fitpub.model.entity.PrivacyZone;
import java.time.LocalDateTime;
import java.util.UUID;

View file

@ -1,4 +1,4 @@
package org.operaton.fitpub.model.dto;
package net.javahippie.fitpub.model.dto;
import jakarta.validation.constraints.Email;
import jakarta.validation.constraints.NotBlank;

View file

@ -1,13 +1,14 @@
package org.operaton.fitpub.model.dto;
package net.javahippie.fitpub.model.dto;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.operaton.fitpub.model.entity.Activity;
import org.operaton.fitpub.model.entity.RemoteActivity;
import org.operaton.fitpub.model.entity.RemoteActor;
import net.javahippie.fitpub.model.entity.ActivityMetrics;
import net.javahippie.fitpub.model.entity.Activity;
import net.javahippie.fitpub.model.entity.RemoteActivity;
import net.javahippie.fitpub.model.entity.RemoteActor;
import java.time.LocalDateTime;
import java.time.ZoneId;
@ -63,6 +64,9 @@ public class TimelineActivityDTO {
private String subSport; // SubSport field from FIT file (e.g., INDOOR_CYCLING, TREADMILL)
private String indoorDetectionMethod; // How indoor flag was determined
// Race/competition flag
private Boolean race; // True if activity is a race/competition
// Metrics summary
private ActivityMetricsSummary metrics;
@ -93,6 +97,7 @@ public class TimelineActivityDTO {
.indoor(activity.getIndoor() != null ? activity.getIndoor() : false)
.subSport(activity.getSubSport())
.indoorDetectionMethod(activity.getIndoorDetectionMethod())
.race(activity.getRace() != null ? activity.getRace() : false)
.metrics(activity.getMetrics() != null ? ActivityMetricsSummary.fromMetrics(activity.getMetrics()) : null)
.build();
}
@ -155,7 +160,7 @@ public class TimelineActivityDTO {
private Long movingTimeSeconds;
private Long stoppedTimeSeconds;
public static ActivityMetricsSummary fromMetrics(org.operaton.fitpub.model.entity.ActivityMetrics metrics) {
public static ActivityMetricsSummary fromMetrics(ActivityMetrics metrics) {
return ActivityMetricsSummary.builder()
.averageHeartRate(metrics.getAverageHeartRate())
.maxHeartRate(metrics.getMaxHeartRate())

View file

@ -1,4 +1,4 @@
package org.operaton.fitpub.model.dto;
package net.javahippie.fitpub.model.dto;
import jakarta.validation.constraints.*;
import lombok.AllArgsConstructor;

View file

@ -1,10 +1,10 @@
package org.operaton.fitpub.model.dto;
package net.javahippie.fitpub.model.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.operaton.fitpub.model.entity.User;
import net.javahippie.fitpub.model.entity.User;
import java.time.LocalDateTime;
import java.util.UUID;

View file

@ -1,4 +1,4 @@
package org.operaton.fitpub.model.dto;
package net.javahippie.fitpub.model.dto;
import jakarta.validation.constraints.Max;
import jakarta.validation.constraints.Min;

View file

@ -1,4 +1,4 @@
package org.operaton.fitpub.model.entity;
package net.javahippie.fitpub.model.entity;
import jakarta.persistence.*;
import lombok.*;

View file

@ -1,4 +1,4 @@
package org.operaton.fitpub.model.entity;
package net.javahippie.fitpub.model.entity;
import io.hypersistence.utils.hibernate.type.json.JsonBinaryType;
import jakarta.persistence.*;
@ -130,6 +130,14 @@ public class Activity {
@Column(name = "indoor_detection_method", length = 20)
private String indoorDetectionMethod;
/**
* Indicates if this is a race/competition activity.
* Race activities use total time for pace calculation instead of moving time.
*/
@Column(name = "race", nullable = false)
@Builder.Default
private Boolean race = false;
@OneToOne(mappedBy = "activity", cascade = CascadeType.ALL, orphanRemoval = true)
private ActivityMetrics metrics;

View file

@ -1,4 +1,4 @@
package org.operaton.fitpub.model.entity;
package net.javahippie.fitpub.model.entity;
import jakarta.persistence.*;
import lombok.*;

View file

@ -1,4 +1,4 @@
package org.operaton.fitpub.model.entity;
package net.javahippie.fitpub.model.entity;
import jakarta.persistence.*;
import lombok.*;

View file

@ -1,4 +1,4 @@
package org.operaton.fitpub.model.entity;
package net.javahippie.fitpub.model.entity;
import jakarta.persistence.*;
import lombok.*;

View file

@ -1,4 +1,4 @@
package org.operaton.fitpub.model.entity;
package net.javahippie.fitpub.model.entity;
import jakarta.persistence.*;
import lombok.*;

View file

@ -1,4 +1,4 @@
package org.operaton.fitpub.model.entity;
package net.javahippie.fitpub.model.entity;
import jakarta.persistence.*;
import lombok.*;

View file

@ -1,4 +1,4 @@
package org.operaton.fitpub.model.entity;
package net.javahippie.fitpub.model.entity;
import jakarta.persistence.*;
import lombok.AllArgsConstructor;

View file

@ -1,4 +1,4 @@
package org.operaton.fitpub.model.entity;
package net.javahippie.fitpub.model.entity;
import jakarta.persistence.*;
import lombok.*;

View file

@ -1,4 +1,4 @@
package org.operaton.fitpub.model.entity;
package net.javahippie.fitpub.model.entity;
import jakarta.persistence.*;
import lombok.AllArgsConstructor;

View file

@ -1,4 +1,4 @@
package org.operaton.fitpub.model.entity;
package net.javahippie.fitpub.model.entity;
import jakarta.persistence.*;
import lombok.*;

View file

@ -1,4 +1,4 @@
package org.operaton.fitpub.model.entity;
package net.javahippie.fitpub.model.entity;
import jakarta.persistence.*;
import lombok.*;

View file

@ -1,4 +1,4 @@
package org.operaton.fitpub.model.entity;
package net.javahippie.fitpub.model.entity;
import io.hypersistence.utils.hibernate.type.json.JsonBinaryType;
import jakarta.persistence.*;

View file

@ -1,4 +1,4 @@
package org.operaton.fitpub.model.entity;
package net.javahippie.fitpub.model.entity;
import jakarta.persistence.*;
import lombok.AllArgsConstructor;

View file

@ -1,4 +1,4 @@
package org.operaton.fitpub.model.entity;
package net.javahippie.fitpub.model.entity;
import jakarta.persistence.*;
import lombok.*;

View file

@ -1,4 +1,4 @@
package org.operaton.fitpub.model.entity;
package net.javahippie.fitpub.model.entity;
import jakarta.persistence.*;
import lombok.*;

View file

@ -1,4 +1,4 @@
package org.operaton.fitpub.model.entity;
package net.javahippie.fitpub.model.entity;
import jakarta.persistence.*;
import lombok.*;

View file

@ -1,4 +1,4 @@
package org.operaton.fitpub.model.entity;
package net.javahippie.fitpub.model.entity;
import jakarta.persistence.*;
import lombok.AllArgsConstructor;

View file

@ -1,6 +1,6 @@
package org.operaton.fitpub.repository;
package net.javahippie.fitpub.repository;
import org.operaton.fitpub.model.entity.Achievement;
import net.javahippie.fitpub.model.entity.Achievement;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;

View file

@ -1,6 +1,6 @@
package org.operaton.fitpub.repository;
package net.javahippie.fitpub.repository;
import org.operaton.fitpub.model.entity.ActivityMetrics;
import net.javahippie.fitpub.model.entity.ActivityMetrics;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;

View file

@ -1,6 +1,6 @@
package org.operaton.fitpub.repository;
package net.javahippie.fitpub.repository;
import org.operaton.fitpub.model.entity.Activity;
import net.javahippie.fitpub.model.entity.Activity;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;

View file

@ -1,6 +1,6 @@
package org.operaton.fitpub.repository;
package net.javahippie.fitpub.repository;
import org.operaton.fitpub.model.entity.ActivitySummary;
import net.javahippie.fitpub.model.entity.ActivitySummary;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;

View file

@ -1,6 +1,6 @@
package org.operaton.fitpub.repository;
package net.javahippie.fitpub.repository;
import org.operaton.fitpub.model.entity.BatchImportFileResult;
import net.javahippie.fitpub.model.entity.BatchImportFileResult;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

View file

@ -1,6 +1,6 @@
package org.operaton.fitpub.repository;
package net.javahippie.fitpub.repository;
import org.operaton.fitpub.model.entity.BatchImportJob;
import net.javahippie.fitpub.model.entity.BatchImportJob;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;

View file

@ -1,6 +1,6 @@
package org.operaton.fitpub.repository;
package net.javahippie.fitpub.repository;
import org.operaton.fitpub.model.entity.Comment;
import net.javahippie.fitpub.model.entity.Comment;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;

View file

@ -1,6 +1,6 @@
package org.operaton.fitpub.repository;
package net.javahippie.fitpub.repository;
import org.operaton.fitpub.model.entity.Follow;
import net.javahippie.fitpub.model.entity.Follow;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;

View file

@ -1,10 +1,8 @@
package org.operaton.fitpub.repository;
package net.javahippie.fitpub.repository;
import org.operaton.fitpub.model.entity.Like;
import net.javahippie.fitpub.model.entity.Like;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;

View file

@ -1,6 +1,6 @@
package org.operaton.fitpub.repository;
package net.javahippie.fitpub.repository;
import org.operaton.fitpub.model.entity.Notification;
import net.javahippie.fitpub.model.entity.Notification;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;

View file

@ -1,6 +1,6 @@
package org.operaton.fitpub.repository;
package net.javahippie.fitpub.repository;
import org.operaton.fitpub.model.entity.PersonalRecord;
import net.javahippie.fitpub.model.entity.PersonalRecord;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;

View file

@ -1,6 +1,6 @@
package org.operaton.fitpub.repository;
package net.javahippie.fitpub.repository;
import org.operaton.fitpub.model.entity.PrivacyZone;
import net.javahippie.fitpub.model.entity.PrivacyZone;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;

View file

@ -1,6 +1,6 @@
package org.operaton.fitpub.repository;
package net.javahippie.fitpub.repository;
import org.operaton.fitpub.model.entity.RemoteActivity;
import net.javahippie.fitpub.model.entity.RemoteActivity;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;

View file

@ -1,6 +1,6 @@
package org.operaton.fitpub.repository;
package net.javahippie.fitpub.repository;
import org.operaton.fitpub.model.entity.RemoteActor;
import net.javahippie.fitpub.model.entity.RemoteActor;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

View file

@ -1,6 +1,6 @@
package org.operaton.fitpub.repository;
package net.javahippie.fitpub.repository;
import org.operaton.fitpub.model.entity.TrainingLoad;
import net.javahippie.fitpub.model.entity.TrainingLoad;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;

View file

@ -1,7 +1,7 @@
package org.operaton.fitpub.repository;
package net.javahippie.fitpub.repository;
import org.locationtech.jts.geom.Point;
import org.operaton.fitpub.model.entity.UserHeatmapGrid;
import net.javahippie.fitpub.model.entity.UserHeatmapGrid;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;

View file

@ -1,6 +1,6 @@
package org.operaton.fitpub.repository;
package net.javahippie.fitpub.repository;
import org.operaton.fitpub.model.entity.User;
import net.javahippie.fitpub.model.entity.User;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;
@ -8,7 +8,6 @@ import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Optional;
import java.util.UUID;

View file

@ -1,6 +1,6 @@
package org.operaton.fitpub.repository;
package net.javahippie.fitpub.repository;
import org.operaton.fitpub.model.entity.WeatherData;
import net.javahippie.fitpub.model.entity.WeatherData;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

View file

@ -1,8 +1,8 @@
package org.operaton.fitpub.scheduler;
package net.javahippie.fitpub.scheduler;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.operaton.fitpub.service.BatchImportService;
import net.javahippie.fitpub.service.BatchImportService;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

View file

@ -1,4 +1,4 @@
package org.operaton.fitpub.security;
package net.javahippie.fitpub.security;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServletRequest;

View file

@ -1,4 +1,4 @@
package org.operaton.fitpub.security;
package net.javahippie.fitpub.security;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;

View file

@ -1,4 +1,4 @@
package org.operaton.fitpub.security;
package net.javahippie.fitpub.security;
import jakarta.servlet.FilterChain;
import jakarta.servlet.ServletException;

View file

@ -1,4 +1,4 @@
package org.operaton.fitpub.security;
package net.javahippie.fitpub.security;
import io.jsonwebtoken.*;
import io.jsonwebtoken.security.Keys;

Some files were not shown because too many files have changed in this diff Show more