Skip to content

Commit 6e4268f

Browse files
fix random queries (#85)
1 parent 1dcd057 commit 6e4268f

File tree

7 files changed

+49
-50
lines changed

7 files changed

+49
-50
lines changed

lessons/day_01/python/resolvers.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
from ariadne import QueryType, ObjectType
2-
from random import randint
2+
from random import choice
33
from models import Skill
44
from data import session
55
from datetime import datetime
@@ -14,9 +14,8 @@
1414
# Top level resolver
1515
@query.field("randomSkill")
1616
def resolve_random_skill(_, info):
17-
records = session.query(Skill).count()
18-
random_id = str(randint(1, records))
19-
return session.query(Skill).get(random_id)
17+
records = [skill.id for skill in session.query(Skill.id)]
18+
return session.query(Skill).get(choice(records))
2019

2120

2221
# Field level resolvers

lessons/day_02/python/resolvers.py

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
from ariadne import QueryType, ObjectType
2-
from random import randint
2+
from random import choice
33
from models import Skill, Person
44
from data import session
55
from datetime import datetime
@@ -15,16 +15,14 @@
1515
# Top level resolvers
1616
@query.field("randomSkill")
1717
def resolve_random_skill(_, info):
18-
records = session.query(Skill).count()
19-
random_id = str(randint(1, records))
20-
return session.query(Skill).get(random_id)
18+
records = [skill.id for skill in session.query(Skill.id)]
19+
return session.query(Skill).get(choice(records))
2120

2221

2322
@query.field("randomPerson")
2423
def resolve_random_person(_, info):
25-
records = session.query(Person).count()
26-
random_id = str(randint(1, records))
27-
return session.query(Person).get(random_id)
24+
records = [person.id for person in session.query(Person.id)]
25+
return session.query(Person).get(choice(records))
2826

2927

3028
@query.field("persons")

lessons/day_03/python/resolvers.py

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
from ariadne import QueryType, ObjectType
2-
from random import randint
2+
from random import choice
33
from models import Skill, Person
44
from data import session
55
from datetime import datetime
@@ -15,16 +15,14 @@
1515
# Top level resolvers
1616
@query.field("randomSkill")
1717
def resolve_random_skill(_, info):
18-
records = session.query(Skill).count()
19-
random_id = str(randint(1, records))
20-
return session.query(Skill).get(random_id)
18+
records = [skill.id for skill in session.query(Skill.id)]
19+
return session.query(Skill).get(choice(records))
2120

2221

2322
@query.field("randomPerson")
2423
def resolve_random_person(_, info):
25-
records = session.query(Person).count()
26-
random_id = str(randint(1, records))
27-
return session.query(Person).get(random_id)
24+
records = [person.id for person in session.query(Person.id)]
25+
return session.query(Person).get(choice(records))
2826

2927

3028
@query.field("persons")

lessons/day_04/python/resolvers.py

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
from ariadne import QueryType, ObjectType, EnumType
2-
from random import randint
2+
from random import choice
33
from models import Skill, Person
44
from data import session
55
from datetime import datetime
@@ -24,16 +24,14 @@
2424
# Top level resolvers
2525
@query.field("randomSkill")
2626
def resolve_random_skill(_, info):
27-
records = session.query(Skill).count()
28-
random_id = str(randint(1, records))
29-
return session.query(Skill).get(random_id)
27+
records = [skill.id for skill in session.query(Skill.id)]
28+
return session.query(Skill).get(choice(records))
3029

3130

3231
@query.field("randomPerson")
3332
def resolve_random_person(_, info):
34-
records = session.query(Person).count()
35-
random_id = str(randint(1, records))
36-
return session.query(Person).get(random_id)
33+
records = [person.id for person in session.query(Person.id)]
34+
return session.query(Person).get(choice(records))
3735

3836

3937
@query.field("person")

lessons/day_05/python/resolvers.py

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
from ariadne import QueryType, ObjectType, EnumType, MutationType
2-
from random import randint
2+
from random import choice
33
from models import Skill, Person
44
from data import session
55
from datetime import datetime
@@ -26,16 +26,14 @@
2626
# Top level resolvers
2727
@query.field("randomSkill")
2828
def resolve_random_skill(_, info):
29-
records = session.query(Skill).count()
30-
random_id = str(randint(1, records))
31-
return session.query(Skill).get(random_id)
29+
records = [skill.id for skill in session.query(Skill.id)]
30+
return session.query(Skill).get(choice(records))
3231

3332

3433
@query.field("randomPerson")
3534
def resolve_random_person(_, info):
36-
records = session.query(Person).count()
37-
random_id = str(randint(1, records))
38-
return session.query(Person).get(random_id)
35+
records = [person.id for person in session.query(Person.id)]
36+
return session.query(Person).get(choice(records))
3937

4038

4139
@query.field("person")

lessons/day_06/python/resolvers.py

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
1-
from ariadne import QueryType, ObjectType, EnumType, MutationType, \
2-
InterfaceType, UnionType
3-
from random import randint
1+
from ariadne import (
2+
QueryType,
3+
ObjectType,
4+
EnumType,
5+
MutationType,
6+
InterfaceType,
7+
UnionType
8+
)
9+
from random import choice
410
from models import Skill, Person
511
from data import session
612
from datetime import datetime
@@ -74,16 +80,14 @@ def resolve_global_search_type(obj, *_):
7480
# Top level resolvers
7581
@query.field("randomSkill")
7682
def resolve_random_skill(_, info):
77-
records = session.query(Skill).count()
78-
random_id = str(randint(1, records))
79-
return session.query(Skill).get(random_id)
83+
records = [skill.id for skill in session.query(Skill.id)]
84+
return session.query(Skill).get(choice(records))
8085

8186

8287
@query.field("randomPerson")
8388
def resolve_random_person(_, info):
84-
records = session.query(Person).count()
85-
random_id = str(randint(1, records))
86-
return session.query(Person).get(random_id)
89+
records = [person.id for person in session.query(Person.id)]
90+
return session.query(Person).get(choice(records))
8791

8892

8993
@query.field("person")

lessons/day_07/python/resolvers.py

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
1-
from ariadne import QueryType, ObjectType, EnumType, MutationType, \
2-
InterfaceType, UnionType
3-
from random import randint
1+
from ariadne import (
2+
QueryType,
3+
ObjectType,
4+
EnumType,
5+
MutationType,
6+
InterfaceType,
7+
UnionType
8+
)
9+
from random import choice
410
from models import Skill, Person
511
from data import session
612
from datetime import datetime
@@ -74,16 +80,14 @@ def resolve_global_search_type(obj, *_):
7480
# Top level resolvers
7581
@query.field("randomSkill")
7682
def resolve_random_skill(_, info):
77-
records = session.query(Skill).count()
78-
random_id = str(randint(1, records))
79-
return session.query(Skill).get(random_id)
83+
records = [skill.id for skill in session.query(Skill.id)]
84+
return session.query(Skill).get(choice(records))
8085

8186

8287
@query.field("randomPerson")
8388
def resolve_random_person(_, info):
84-
records = session.query(Person).count()
85-
random_id = str(randint(1, records))
86-
return session.query(Person).get(random_id)
89+
records = [person.id for person in session.query(Person.id)]
90+
return session.query(Person).get(choice(records))
8791

8892

8993
@query.field("person")

0 commit comments

Comments
 (0)