Skip to content

Commit cc8e38d

Browse files
authored
Feature/search tag (#101)
* Add tag filter * Update schema graphql file
1 parent 79ba673 commit cc8e38d

File tree

4 files changed

+21
-25
lines changed

4 files changed

+21
-25
lines changed

content/filters.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import strawberry
2+
import strawberry_django
3+
4+
from .models import Tag
5+
6+
7+
@strawberry_django.filters.filter(Tag, lookups=True)
8+
class TagFilter:
9+
name: strawberry.auto

content/queries.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import strawberry
22
import strawberry_django
33

4+
from content.filters import TagFilter
45
from content.types import ContentType, TagType
56
from main.graphql.context import Info
67
from utils.strawberry.paginations import CountList, pagination_field
@@ -18,6 +19,7 @@ async def content(self, info: Info, pk: strawberry.ID) -> ContentType | None:
1819

1920
tags: CountList[TagType] = pagination_field(
2021
pagination=True,
22+
filters=TagFilter,
2123
)
2224

2325
@strawberry_django.field()

schema.graphql

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@ type PrivateQuery {
188188
users(filters: UserFilter, pagination: OffsetPaginationInput): UserTypeCountList!
189189
user(pk: ID!): UserType
190190
contents(pagination: OffsetPaginationInput): ContentTypeCountList!
191-
tags(pagination: OffsetPaginationInput): TagTypeCountList!
191+
tags(filters: TagFilter, pagination: OffsetPaginationInput): TagTypeCountList!
192192

193193
"""Return all content"""
194194
content(pk: ID!): ContentType
@@ -212,7 +212,7 @@ type PublicMutation {
212212
type PublicQuery {
213213
me: UserMeType
214214
contents(pagination: OffsetPaginationInput): ContentTypeCountList!
215-
tags(pagination: OffsetPaginationInput): TagTypeCountList!
215+
tags(filters: TagFilter, pagination: OffsetPaginationInput): TagTypeCountList!
216216

217217
"""Return all content"""
218218
content(pk: ID!): ContentType
@@ -290,6 +290,14 @@ input StrFilterLookup {
290290
iRegex: String
291291
}
292292

293+
input TagFilter {
294+
name: StrFilterLookup
295+
AND: TagFilter
296+
OR: TagFilter
297+
NOT: TagFilter
298+
DISTINCT: Boolean
299+
}
300+
293301
type TagNameType {
294302
id: ID!
295303
name: String!

user/management/commands/generate_schema.py

Lines changed: 0 additions & 23 deletions
This file was deleted.

0 commit comments

Comments
 (0)