Interface ServerRepository

All Superinterfaces:
org.springframework.data.repository.CrudRepository<ServerEntity,Long>, org.springframework.data.jpa.repository.JpaRepository<ServerEntity,Long>, org.springframework.data.jpa.repository.JpaSpecificationExecutor<ServerEntity>, org.springframework.data.repository.ListCrudRepository<ServerEntity,Long>, org.springframework.data.repository.ListPagingAndSortingRepository<ServerEntity,Long>, org.springframework.data.repository.PagingAndSortingRepository<ServerEntity,Long>, org.springframework.data.repository.query.QueryByExampleExecutor<ServerEntity>, org.springframework.data.repository.Repository<ServerEntity,Long>

public interface ServerRepository extends org.springframework.data.jpa.repository.JpaRepository<ServerEntity,Long>, org.springframework.data.jpa.repository.JpaSpecificationExecutor<ServerEntity>
Repository for ServerEntity Provides database operations for server monitoring data Note: Only super administrators can access server monitoring data
  • Method Details

    • findByUid

      Optional<ServerEntity> findByUid(String uid)
      Find server by UID
      Parameters:
      uid - server UID
      Returns:
      Optional<ServerEntity&amp;gt;
    • findByServerNameAndDeletedFalse

      Optional<ServerEntity> findByServerNameAndDeletedFalse(String serverName)
      Find server by server name
      Parameters:
      serverName - server name
      Returns:
      Optional<ServerEntity>
    • findByDeletedFalseOrderByCreatedAtDesc

      List<ServerEntity> findByDeletedFalseOrderByCreatedAtDesc()
      Find all servers
      Returns:
      List<ServerEntity>
    • findByTypeAndDeletedFalse

      List<ServerEntity> findByTypeAndDeletedFalse(String type)
      Find servers by type
      Parameters:
      type - server type
      Returns:
      List<ServerEntity>
    • findByStatusAndDeletedFalse

      List<ServerEntity> findByStatusAndDeletedFalse(String status)
      Find servers by status
      Parameters:
      status - server status
      Returns:
      List<ServerEntity>
    • findServersWithHighUsage

      @Query("SELECT s FROM ServerEntity s WHERE s.deleted = false AND (s.cpuUsage >= :cpuThreshold OR s.memoryUsage >= :memoryThreshold OR s.diskUsage >= :diskThreshold)") List<ServerEntity> findServersWithHighUsage(@Param("cpuThreshold") Double cpuThreshold, @Param("memoryThreshold") Double memoryThreshold, @Param("diskThreshold") Double diskThreshold)
      Find servers with high resource usage
      Parameters:
      cpuThreshold - CPU usage threshold
      memoryThreshold - memory usage threshold
      diskThreshold - disk usage threshold
      Returns:
      List<ServerEntity>
    • findServersWithoutRecentHeartbeat

      @Query("SELECT s FROM ServerEntity s WHERE s.deleted = false AND (s.lastHeartbeat IS NULL OR s.lastHeartbeat < :cutoffTime)") List<ServerEntity> findServersWithoutRecentHeartbeat(@Param("cutoffTime") ZonedDateTime cutoffTime)
      Find servers that haven't sent heartbeat recently
      Parameters:
      cutoffTime - cutoff time for heartbeat
      Returns:
      List<ServerEntity>
    • countByStatusAndDeletedFalse

      long countByStatusAndDeletedFalse(String status)
      Count servers by status
      Parameters:
      status - server status
      Returns:
      count
    • countByTypeAndDeletedFalse

      long countByTypeAndDeletedFalse(String type)
      Count servers by type
      Parameters:
      type - server type
      Returns:
      count
    • findByEnvironmentAndDeletedFalse

      List<ServerEntity> findByEnvironmentAndDeletedFalse(String environment)
      Find servers by environment
      Parameters:
      environment - environment (DEV, TEST, PROD, etc.)
      Returns:
      List<ServerEntity>
    • findByLocationAndDeletedFalse

      List<ServerEntity> findByLocationAndDeletedFalse(String location)
      Find servers by location
      Parameters:
      location - server location
      Returns:
      List<ServerEntity>