diff --git a/server/rooms/schema.py b/server/rooms/schema.py index dc4f37ba..85a96729 100644 --- a/server/rooms/schema.py +++ b/server/rooms/schema.py @@ -39,12 +39,23 @@ class RoomNode(DjangoObjectType): class RoomsQuery(object): - room = relay.Node.Field(RoomNode) + # room = relay.Node.Field(RoomNode) room_entry = relay.Node.Field(RoomEntryNode) + room = graphene.Field(RoomNode, slug=graphene.String(), id=graphene.Int(), appearance=graphene.String()) all_rooms = DjangoFilterConnectionField(RoomNode) all_room_entries = DjangoFilterConnectionField(RoomEntryNode) + def resolve_room(self, info, **kwargs): + slug = kwargs.get('slug') + room_id = kwargs.get('id') + + if room_id is not None: + return Room.objects.get(pk=room_id) + if slug is not None: + return Room.objects.get(slug=slug) + return None + class RoomMutation(SerializerMutation): class Meta: @@ -52,4 +63,4 @@ class RoomMutation(SerializerMutation): class RoomMutations: - room = RoomMutation.Field() + add_room = RoomMutation.Field()