1414
1515from infrahub import lock
1616from infrahub .context import InfrahubContext
17- from infrahub .core .constants import InfrahubKind , RepositoryInternalStatus , ValidatorConclusion , ValidatorState
17+ from infrahub .core .constants import InfrahubKind , RepositoryInternalStatus , ValidatorConclusion
1818from infrahub .core .registry import registry
1919from infrahub .exceptions import CheckError , RepositoryError
2020from infrahub .message_bus import Meta , messages
2121from infrahub .services import InfrahubServices
22- from infrahub .validators .events import send_start_validator
22+ from infrahub .validators .tasks import start_validator
2323from infrahub .worker import WORKER_IDENTITY
2424
2525from ..core .manager import NodeManager
@@ -530,8 +530,8 @@ async def trigger_repository_user_checks_definitions(
530530 validator_execution_id = str (UUIDT ())
531531 check_execution_ids : list [str ] = []
532532 await proposed_change .validations .fetch ()
533- validator : CoreUserValidator | None = None
534533
534+ previous_validator : CoreUserValidator | None = None
535535 for relationship in proposed_change .validations .peers :
536536 existing_validator = relationship .peer
537537
@@ -540,29 +540,20 @@ async def trigger_repository_user_checks_definitions(
540540 and existing_validator .repository .id == model .repository_id
541541 and existing_validator .check_definition .id == model .check_definition_id
542542 ):
543- validator = existing_validator
544- service .log .info ("Found the same validator" , validator = validator )
545-
546- if validator :
547- validator .conclusion .value = ValidatorConclusion .UNKNOWN .value
548- validator .state .value = ValidatorState .QUEUED .value
549- validator .started_at .value = ""
550- validator .completed_at .value = ""
551- await validator .save ()
552- else :
553- validator = await service .client .create (
554- kind = CoreUserValidator ,
555- data = {
556- "label" : f"Check: { definition .name .value } " ,
557- "proposed_change" : model .proposed_change ,
558- "repository" : model .repository_id ,
559- "check_definition" : model .check_definition_id ,
560- },
561- )
562- await validator .save ()
543+ previous_validator = existing_validator
544+ service .log .info ("Found the same validator" , validator = previous_validator )
563545
564- await send_start_validator (
565- service = service , validator = validator , proposed_change_id = model .proposed_change , context = context
546+ validator = await start_validator (
547+ service = service ,
548+ validator = previous_validator ,
549+ validator_type = CoreUserValidator ,
550+ proposed_change = model .proposed_change ,
551+ data = {
552+ "label" : f"Check: { definition .name .value } " ,
553+ "repository" : model .repository_id ,
554+ "check_definition" : model .check_definition_id ,
555+ },
556+ context = context ,
566557 )
567558
568559 if definition .targets .id :
@@ -695,35 +686,26 @@ async def trigger_internal_checks(
695686 await repository .checks .fetch ()
696687
697688 validator_name = f"Repository Validator: { repository .name .value } "
698- validator : CoreRepositoryValidator | None = None
689+ previous_validator : CoreRepositoryValidator | None = None
699690 for relationship in proposed_change .validations .peers :
700691 existing_validator = relationship .peer
701692
702693 if (
703694 existing_validator .typename == InfrahubKind .REPOSITORYVALIDATOR
704695 and existing_validator .repository .id == model .repository
705696 ):
706- validator = existing_validator
707-
708- if validator :
709- validator .conclusion .value = ValidatorConclusion .UNKNOWN .value
710- validator .state .value = ValidatorState .QUEUED .value
711- validator .started_at .value = ""
712- validator .completed_at .value = ""
713- await validator .save ()
714- else :
715- validator = await service .client .create (
716- kind = CoreRepositoryValidator ,
717- data = {
718- "label" : validator_name ,
719- "proposed_change" : model .proposed_change ,
720- "repository" : model .repository ,
721- },
722- )
723- await validator .save ()
697+ previous_validator = existing_validator
724698
725- await send_start_validator (
726- service = service , validator = validator , proposed_change_id = model .proposed_change , context = context
699+ validator = await start_validator (
700+ service = service ,
701+ validator = previous_validator ,
702+ validator_type = CoreRepositoryValidator ,
703+ proposed_change = model .proposed_change ,
704+ data = {
705+ "label" : validator_name ,
706+ "repository" : model .repository ,
707+ },
708+ context = context ,
727709 )
728710
729711 check_execution_id = str (UUIDT ())
0 commit comments