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
« 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
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
55class Repository(abc.ABC):
56 """
57 the interface for all data repositories
58 NB: Object ID's should always be > 0
59 """
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