Skip to content

Commit 593367d

Browse files
Merge branch 'qat' into tst/emr-pipeline-testing
2 parents 1e13c9a + eb59915 commit 593367d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+1852
-1068
lines changed

usaspending_api/accounts/v2/views/federal_account_base.py

Lines changed: 1 addition & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,7 @@
11
from django.db.models import Q
2-
from django.utils.functional import cached_property
3-
from rest_framework.request import Request
42
from rest_framework.views import APIView
53

6-
from usaspending_api.common.data_classes import Pagination
7-
from usaspending_api.common.validator import TinyShield, customize_pagination_with_sort_columns
4+
from usaspending_api.common.validator import TinyShield
85

96

107
class FederalAccountBase(APIView):
@@ -75,33 +72,3 @@ def get_program_activity_query(self, validated_data) -> Q:
7572
query &= Q(Q(program_activity_reporting_key__isnull=False) | Q(program_activity__isnull=False))
7673

7774
return query
78-
79-
80-
class PaginationMixin:
81-
request: Request
82-
83-
default_sort_column: str
84-
sortable_columns: list[str]
85-
86-
@cached_property
87-
def pagination(self):
88-
model = customize_pagination_with_sort_columns(self.sortable_columns, self.default_sort_column)
89-
request_data = (
90-
TinyShield(model).block(self.request.data)
91-
if self.request.method == "POST"
92-
else TinyShield(model).block(self.request.query_params)
93-
)
94-
95-
# Use the default sort as a tie-breaker in the case of a different sort provided
96-
primary_sort_key = request_data.get("sort", self.default_sort_column)
97-
secondary_sort_key = self.default_sort_column if primary_sort_key != self.default_sort_column else None
98-
99-
return Pagination(
100-
page=request_data["page"],
101-
limit=request_data["limit"],
102-
lower_limit=(request_data["page"] - 1) * request_data["limit"],
103-
upper_limit=(request_data["page"] * request_data["limit"]),
104-
sort_key=primary_sort_key,
105-
sort_order=request_data["order"],
106-
secondary_sort_key=secondary_sort_key,
107-
)

usaspending_api/accounts/v2/views/federal_account_object_classes_total.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,9 @@
22
from rest_framework.response import Response
33
from rest_framework.request import Request
44

5-
from usaspending_api.accounts.v2.views.federal_account_base import FederalAccountBase, PaginationMixin
5+
from usaspending_api.accounts.v2.views.federal_account_base import FederalAccountBase
66
from usaspending_api.common.helpers.generic_helper import get_pagination_metadata
7+
from usaspending_api.common.helpers.pagination_mixin import PaginationMixin
78
from usaspending_api.financial_activities.models import FinancialAccountsByProgramActivityObjectClass
89

910

usaspending_api/accounts/v2/views/federal_account_program_activities.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@
44
from rest_framework.response import Response
55

66
from usaspending_api.common.helpers.generic_helper import get_pagination_metadata
7-
from usaspending_api.accounts.v2.views.federal_account_base import FederalAccountBase, PaginationMixin
7+
from usaspending_api.common.helpers.pagination_mixin import PaginationMixin
8+
from usaspending_api.accounts.v2.views.federal_account_base import FederalAccountBase
89
from usaspending_api.financial_activities.models import FinancialAccountsByProgramActivityObjectClass
910

1011

usaspending_api/accounts/v2/views/federal_account_program_activities_total.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,9 @@
33
from rest_framework.response import Response
44
from rest_framework.request import Request
55

6-
from usaspending_api.accounts.v2.views.federal_account_base import FederalAccountBase, PaginationMixin
6+
from usaspending_api.accounts.v2.views.federal_account_base import FederalAccountBase
77
from usaspending_api.common.helpers.generic_helper import get_pagination_metadata
8+
from usaspending_api.common.helpers.pagination_mixin import PaginationMixin
89
from usaspending_api.financial_activities.models import FinancialAccountsByProgramActivityObjectClass
910

1011

usaspending_api/agency/v2/views/agency_base.py

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
from rest_framework.views import APIView
99

1010
from usaspending_api.awards.v2.lookups.lookups import award_type_mapping
11-
from usaspending_api.common.data_classes import Pagination
1211
from usaspending_api.common.helpers.date_helper import fy
1312
from usaspending_api.common.helpers.dict_helpers import update_list_of_dictionaries
1413
from usaspending_api.common.helpers.fiscal_year_helpers import (
@@ -17,7 +16,7 @@
1716
current_fiscal_year,
1817
)
1918
from usaspending_api.common.helpers.generic_helper import get_account_data_time_period_message
20-
from usaspending_api.common.validator import TinyShield, customize_pagination_with_sort_columns
19+
from usaspending_api.common.validator import TinyShield
2120
from usaspending_api.references.models import ToptierAgency, Agency
2221
from usaspending_api.submissions.helpers import validate_request_within_revealed_submissions
2322

@@ -181,18 +180,3 @@ def create_assurance_statement_url(result):
181180
+ "-Agency_Comments.txt"
182181
)
183182
return f"{host}/agency_submissions/{file_name}"
184-
185-
186-
class PaginationMixin:
187-
@cached_property
188-
def pagination(self):
189-
model = customize_pagination_with_sort_columns(self.sortable_columns, self.default_sort_column)
190-
request_data = TinyShield(model).block(self.request.query_params)
191-
return Pagination(
192-
page=request_data["page"],
193-
limit=request_data["limit"],
194-
lower_limit=(request_data["page"] - 1) * request_data["limit"],
195-
upper_limit=(request_data["page"] * request_data["limit"]),
196-
sort_key=request_data.get("sort", self.default_sort_column),
197-
sort_order=request_data["order"],
198-
)

usaspending_api/agency/v2/views/award_count.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,11 @@
44

55
from rest_framework.request import Request
66
from rest_framework.response import Response
7-
from usaspending_api.agency.v2.views.agency_base import AgencyBase, PaginationMixin
7+
from usaspending_api.agency.v2.views.agency_base import AgencyBase
88
from usaspending_api.common.cache_decorator import cache_response
99
from usaspending_api.common.elasticsearch.search_wrappers import AwardSearch
1010
from usaspending_api.common.helpers.generic_helper import get_pagination_metadata
11+
from usaspending_api.common.helpers.pagination_mixin import PaginationMixin
1112
from usaspending_api.common.query_with_filters import QueryWithFilters
1213
from usaspending_api.search.filters.elasticsearch.filter import QueryType
1314
from usaspending_api.search.filters.time_period.decorators import NewAwardsOnlyTimePeriod

usaspending_api/agency/v2/views/budget_function.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,11 @@
22
from rest_framework.request import Request
33
from rest_framework.response import Response
44
from typing import Any
5-
from usaspending_api.agency.v2.views.agency_base import AgencyBase, PaginationMixin
5+
from usaspending_api.agency.v2.views.agency_base import AgencyBase
66
from usaspending_api.common.cache_decorator import cache_response
77
from usaspending_api.common.calculations.file_b import FileBCalculations
88
from usaspending_api.common.helpers.generic_helper import get_pagination_metadata
9+
from usaspending_api.common.helpers.pagination_mixin import PaginationMixin
910
from usaspending_api.financial_activities.models import FinancialAccountsByProgramActivityObjectClass
1011
from usaspending_api.submissions.helpers import get_latest_submission_ids_for_fiscal_year
1112

usaspending_api/agency/v2/views/bureau_federal_account.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,12 @@
33
from rest_framework.response import Response
44
from typing import Any, List
55
from usaspending_api.accounts.models.appropriation_account_balances import AppropriationAccountBalances
6-
from usaspending_api.agency.v2.views.agency_base import AgencyBase, PaginationMixin
6+
from usaspending_api.agency.v2.views.agency_base import AgencyBase
77
from usaspending_api.common.cache_decorator import cache_response
88
from usaspending_api.common.calculations.file_b import FileBCalculations
99
from usaspending_api.common.helpers.date_helper import now
1010
from usaspending_api.common.helpers.generic_helper import get_pagination_metadata
11+
from usaspending_api.common.helpers.pagination_mixin import PaginationMixin
1112
from usaspending_api.financial_activities.models import FinancialAccountsByProgramActivityObjectClass
1213
from usaspending_api.references.models import BureauTitleLookup
1314
from usaspending_api.submissions.models import SubmissionAttributes

usaspending_api/agency/v2/views/federal_account_list.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,11 @@
22
from rest_framework.request import Request
33
from rest_framework.response import Response
44
from typing import Any, List
5-
from usaspending_api.agency.v2.views.agency_base import AgencyBase, PaginationMixin
5+
from usaspending_api.agency.v2.views.agency_base import AgencyBase
66
from usaspending_api.common.cache_decorator import cache_response
77
from usaspending_api.common.calculations.file_b import FileBCalculations
88
from usaspending_api.common.helpers.generic_helper import get_pagination_metadata
9+
from usaspending_api.common.helpers.pagination_mixin import PaginationMixin
910
from usaspending_api.financial_activities.models import FinancialAccountsByProgramActivityObjectClass
1011
from usaspending_api.submissions.helpers import get_latest_submission_ids_for_fiscal_year
1112

usaspending_api/agency/v2/views/object_class_list.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,11 @@
22
from rest_framework.request import Request
33
from rest_framework.response import Response
44
from typing import Any, List
5-
from usaspending_api.agency.v2.views.agency_base import AgencyBase, PaginationMixin
5+
from usaspending_api.agency.v2.views.agency_base import AgencyBase
66
from usaspending_api.common.cache_decorator import cache_response
77
from usaspending_api.common.calculations.file_b import FileBCalculations
88
from usaspending_api.common.helpers.generic_helper import get_pagination_metadata
9+
from usaspending_api.common.helpers.pagination_mixin import PaginationMixin
910
from usaspending_api.financial_activities.models import FinancialAccountsByProgramActivityObjectClass
1011
from usaspending_api.submissions.helpers import get_latest_submission_ids_for_fiscal_year
1112

0 commit comments

Comments
 (0)