Skip to content

Commit 052c054

Browse files
susilnemtnagorra
authored andcommitted
feat(project): Set default filtering on project and tutorial
1 parent 26d511a commit 052c054

File tree

4 files changed

+17
-4
lines changed

4 files changed

+17
-4
lines changed

apps/contributor/graphql/queries.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ async def contributor_user_by_user_id(self, user_id: strawberry.ID) -> Contribut
5050
order=ContributorUserGroupOrder,
5151
filters=ContributorUserGroupFilter,
5252
)
53+
# TODO: We need attribute description `include_all` visible in graphiql
5354
def contributor_user_groups(
5455
self,
5556
include_all: bool = False,
@@ -68,6 +69,7 @@ def contributor_user_groups(
6869
order=ContributorUserGroupMembershipOrder,
6970
filters=ContributorUserGroupMembershipFilter,
7071
)
72+
# TODO: We need attribute description `include_all` visible in graphiql
7173
def contributor_user_group_members(
7274
self,
7375
include_all: bool = False,
@@ -85,6 +87,7 @@ def contributor_user_group_members(
8587
filters=ContributorTeamFilter,
8688
extensions=[IsAuthenticated()],
8789
)
90+
# TODO: We need attribute description `include_all` visible in graphiql
8891
def contributor_teams(
8992
self,
9093
include_all: bool = False,

apps/project/graphql/queries.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ class Query:
7777
filters=OrganizationFilter,
7878
extensions=[IsAuthenticated()],
7979
)
80+
# TODO: We need attribute description `include_all` visible in graphiql
8081
def organizations(
8182
self,
8283
include_all: bool = False,
@@ -92,10 +93,17 @@ def organizations(
9293
filters=ProjectFilter,
9394
extensions=[IsAuthenticated()],
9495
)
96+
# TODO: We need attribute description `include_all` visible in graphiql
9597
def projects(
9698
self,
9799
include_all: bool = False,
98100
) -> QuerySet[Project]:
99101
if include_all:
100102
return Project.objects.all()
101-
return Project.objects.exclude(status__in=[Project.Status.ARCHIVED, Project.Status.DISCARDED]).all()
103+
return Project.objects.filter(
104+
status__in=[
105+
Project.Status.READY,
106+
Project.Status.PUBLISHED,
107+
Project.Status.PAUSED,
108+
],
109+
).all()

apps/project/tests/query_test.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,8 @@ class Query:
5757
credits
5858
}
5959
}
60-
query Projects($pagination: OffsetPaginationInput) {
61-
projects(order: {id: ASC}, pagination: $pagination) {
60+
query Projects($pagination: OffsetPaginationInput, $includeAll: Boolean = false) {
61+
projects(order: {id: ASC}, pagination: $pagination, includeAll: $includeAll) {
6262
totalCount
6363
pageInfo {
6464
offset
@@ -305,6 +305,7 @@ def _query():
305305
"limit": 10,
306306
"offset": 0,
307307
},
308+
"includeAll": True,
308309
},
309310
)
310311

apps/tutorial/graphql/queries.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,11 @@ class Query:
2323
filters=TutorialFilter,
2424
extensions=[IsAuthenticated()],
2525
)
26+
# TODO: We need attribute description `include_all` visible in graphiql
2627
def tutorials(
2728
self,
2829
include_all: bool = False,
2930
) -> QuerySet[Tutorial]:
3031
if include_all:
3132
return Tutorial.objects.all()
32-
return Tutorial.objects.exclude(status__in=[Tutorial.Status.ARCHIVED, Tutorial.Status.DISCARDED]).all()
33+
return Tutorial.objects.filter(status=Tutorial.Status.PUBLISHED).all()

0 commit comments

Comments
 (0)