Coverage for middle_layer/common/domain_layer/repositories/repository.py: 100.00%

44 statements  

« prev     ^ index     » next       coverage.py v7.10.5, created at 2026-03-09 06:13 +0000

1# Copyright 2024 Associated Universities, Inc. 

2# 

3# This file is part of Telescope Time Allocation Tools (TTAT). 

4# 

5# TTAT is free software: you can redistribute it and/or modify 

6# it under the terms of the GNU General Public License as published by 

7# the Free Software Foundation, either version 3 of the License, or 

8# any later version. 

9# 

10# TTAT is distributed in the hope that it will be useful, 

11# but WITHOUT ANY WARRANTY; without even the implied warranty of 

12# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 

13# GNU General Public License for more details. 

14# 

15# You should have received a copy of the GNU General Public License 

16# along with TTAT. If not, see <https://www.gnu.org/licenses/>. 

17# 

18import abc 

19 

20from allocate.domain_layer.repositories.allocation_disposition import AllocationDispositionRepository 

21from allocate.domain_layer.repositories.allocation_version import AllocationVersionRepository 

22from allocate.domain_layer.repositories.observation_specification_disposition import ( 

23 ObservationSpecificationDispositionRepository, 

24) 

25from allocate.domain_layer.repositories.proposal_disposition import ProposalDispositionRepository 

26from allocate.domain_layer.repositories.tac_member import TACMemberRepository 

27from closeout.domain_layer.repositories.template import TemplateRepository 

28from propose.domain_layer.repositories.proposal import ( 

29 AllocationRequestRepository, 

30 AuthorRepository, 

31 CapabilityRequestRepository, 

32 ObservationSpecificationRepository, 

33 ProposalCopyRepository, 

34 ProposalRepository, 

35) 

36from review.domain_layer.repositories.conflict_declaration import ConflictDeclarationRepository 

37from review.domain_layer.repositories.individual_science_review import IndividualScienceReviewRepository 

38from review.domain_layer.repositories.osr_proposal_review import OSRProposalReviewRepository 

39from review.domain_layer.repositories.ppr_proposal_review import PPRProposalReviewRepository 

40from review.domain_layer.repositories.science_review_panel import ScienceReviewPanelRepository 

41from review.domain_layer.repositories.science_reviewer import ScienceReviewerRepository 

42from solicit.domain_layer.repositories.solicitation import ( 

43 CapabilityRepository, 

44 FacilityRepository, 

45 NotificationGroupRepository, 

46 ProposalClassRepository, 

47 ProposalProcessRepository, 

48 ScienceCategoryRepository, 

49 SolicitationProposalClassRepository, 

50 SolicitationRepository, 

51) 

52from testdata.domain_layer.repositories.context import ContextRepository 

53 

54 

55class Repository(abc.ABC): 

56 """ 

57 the interface for all data repositories 

58 NB: Object ID's should always be > 0 

59 """ 

60 

61 author_repo: AuthorRepository 

62 allocation_request_repo: AllocationRequestRepository 

63 capability_repo: CapabilityRepository 

64 capability_request_repo: CapabilityRequestRepository 

65 facility_repo: FacilityRepository 

66 notification_group_repo: NotificationGroupRepository 

67 proposal_repo: ProposalRepository 

68 proposal_copy_repo: ProposalCopyRepository 

69 proposal_class_repo: ProposalClassRepository 

70 solicitation_proposal_class_repo: SolicitationProposalClassRepository 

71 proposal_process_repo: ProposalProcessRepository 

72 science_category_repo: ScienceCategoryRepository 

73 solicitation_repo: SolicitationRepository 

74 observation_specification_repo: ObservationSpecificationRepository 

75 osr_proposal_review_repo: OSRProposalReviewRepository 

76 individual_science_review_repo: IndividualScienceReviewRepository 

77 ppr_proposal_review_repo: PPRProposalReviewRepository 

78 science_review_panel_repo: ScienceReviewPanelRepository 

79 science_reviewer_repo: ScienceReviewerRepository 

80 conflict_declaration_repo: ConflictDeclarationRepository 

81 tac_member_repo: TACMemberRepository 

82 allocation_version_repo: AllocationVersionRepository 

83 allocation_disposition_repo: AllocationDispositionRepository 

84 proposal_disposition_repo: ProposalDispositionRepository 

85 observation_specification_disposition_repo: ObservationSpecificationDispositionRepository 

86 template_repo: TemplateRepository 

87 context_repo: ContextRepository