@Repository public interface EnvironmentRepository extends SearchRepository<Environment>, org.springframework.data.querydsl.QuerydslPredicateExecutor<Environment>, StorableRepository<Environment>
findByProjectIdcount, exists, findAll, findAll, findAll, findAll, findAll, findBy, findOnefindByParentID, findByParentIDAndName, findByParentNamefindByName, findByNameContainingIgnoreCase, findByNaturalIddeleteAllByIdInBatch, deleteAllInBatch, deleteAllInBatch, deleteInBatch, findAll, findAll, findAll, findAll, findAllById, flush, getById, getOne, getReferenceById, saveAll, saveAllAndFlush, saveAndFlushfindAll@Modifying
@Query(value="update mb_env set state = case when id in (select distinct get_env(id) from mb_configuration where \"type\"=\'trigger\') then \'INACTIVE\' else \'EMPTY\' end; commit;",
nativeQuery=true)
void setInitialEnvStateInactiveOrEmpty()
@Modifying
@Query(value="update mb_configuration set trigger_state = \'INACTIVE\', activation_error_message = null where \"type\"=\'trigger\' and id not in (select get_all_env_triggers(id) from mb_env); commit;",
nativeQuery=true)
void turnOffLostTriggers()
@Query(value="select state from mb_env where id = :envId",
nativeQuery=true)
String getEnvironmentState(@Param(value="envId")
BigInteger envId)
@Query(value="select env from Environment env where env.ecId = :ecId") Environment findEnvironmentByEcId(@Param(value="ecId") String ecId)
@Query(value="select ec_project_id from mb_env where ec_project_id is not null and project_id = :projectId group by ec_project_id",
nativeQuery=true)
Collection<String> getEcProjectIds(@Param(value="projectId")
BigInteger projectId)
@Query(value="select environment from Environment environment where environment.ecProjectId = :ecProjectId") Collection<Environment> getEnvironmentsByEcProject(@Param(value="ecProjectId") String ecProjectId)
@Modifying
@Query(value="update mb_env set ec_project_id = null, ec_id = null where ec_project_id = :ecProjectId",
nativeQuery=true)
void unbindByEcProject(@Param(value="ecProjectId")
String ecProjectId)
@Query(value="select environment_id, mb_env.\"name\" from mb_env_inbound inner join mb_env on environment_id=mb_env.id where systems = :systemId and servers = :serverId",
nativeQuery=true)
List<Object[]> findEnvironmentByServerAndSystemIdPair(@Param(value="systemId")
BigInteger systemId,
@Param(value="serverId")
BigInteger serverId)
@Query(value="with system_info as (select cast(:systemId as BIGINT) as id)\nselect distinct on (t.environment_id) e.ec_id from ( select environment_id from mb_env_inbound where systems in (select id from system_info) union all select environment_id from mb_env_outbound where systems in (select id from system_info) ) t join mb_env e on t.environment_id = e.id where e.ec_id is not null",
nativeQuery=true)
Collection<String> findEnvironmentEcIdsForSystem(@Param(value="systemId")
BigInteger systemId)
@Query(value="with server_info as (select cast(:serverId as BIGINT) as id) select distinct on (t.environment_id) e.ec_id from ( select environment_id from mb_env_inbound where servers in (select id from server_info) union all select environment_id from mb_env_outbound where servers in (select id from server_info) ) t join mb_env e on t.environment_id = e.id where e.ec_id is not null",
nativeQuery=true)
Collection<String> findEnvironmentEcIdsForServer(@Param(value="serverId")
BigInteger serverId)
@Query(value="select env from Environment env where lower(env.name) like concat(\'%\', lower(:name), \'%\') and env.projectId = :projectId") List<Environment> findByPieceOfNameAndProjectId(@Param(value="name") String name, @Param(value="projectId") BigInteger projectId)
List<Environment> findByNameAndProjectId(@Param(value="name") String name, @Param(value="projectId") BigInteger projectId)
findByNameAndProjectId in interface SearchRepository<Environment>@Query(value="select environment_id from mb_env_outbound where servers=:serverId and systems in :systemIds",
nativeQuery=true)
List<BigInteger> findByServerAndSystems(@Param(value="serverId")
BigInteger serverId,
@Param(value="systemIds")
Collection<BigInteger> systemIds)
@Query(value="select jsonb_build_object( \'system_server\', t.system_server, \'transports\', json_agg(t.transports_info) )\\:\\:text from ( select systems.name||\' / \'||servers.name as system_server, jsonb_build_object( \'transport_name\', transport.name, \'triggers\', json_agg( jsonb_build_object( \'trigger_id\', transport_trigger.id, \'trigger_name\', case when transport_trigger.name is not null then transport_trigger.name else \'[ID=\'||transport_trigger.id||\']\' end, \'trigger_state\', transport_trigger.trigger_state ) ) ) as transports_info from mb_env_inbound env_inbound inner join mb_systems systems on systems.id = env_inbound.systems inner join mb_servers servers on servers.id = env_inbound.servers inner join mb_configuration inbound_transport_config on inbound_transport_config.parent_in_server_id = env_inbound.servers inner join mb_configuration transport on transport.id = inbound_transport_config.transport_id and transport.parent_system_id = env_inbound.systems left join mb_configuration transport_trigger on transport_trigger.parent_conf_id = inbound_transport_config.id where env_inbound.environment_id = :envId group by transport.id, systems.name||\' / \'||servers.name ) t group by t.system_server",
nativeQuery=true)
List<String> getInboundInfo(@Param(value="envId")
BigInteger envId)
@Query(value="select env.reportCollectors from Environment env where env.id = :envId") Set<LinkCollectorConfiguration> getLinkCollectorsByEnvId(@Param(value="envId") BigInteger envId)
Copyright © 2025. All rights reserved.