From ea06b61d3f1ddc067dc068f52b1879a841529393 Mon Sep 17 00:00:00 2001 From: Untone Date: Tue, 27 Jul 2021 07:58:06 +0300 Subject: [PATCH] shout related todos, schema update --- resolvers/zine.py | 26 ++++++++++++++++++++++++++ schema.graphql | 10 ++++++++-- 2 files changed, 34 insertions(+), 2 deletions(-) create mode 100644 resolvers/zine.py diff --git a/resolvers/zine.py b/resolvers/zine.py new file mode 100644 index 00000000..32af9291 --- /dev/null +++ b/resolvers/zine.py @@ -0,0 +1,26 @@ +from orm import Shout, User +from orm.base import global_session + +from resolvers.base import mutation, query, subscription + +# TODO: debug me +@mutation.field("createShout") +@login_required +async def create_post(_, info, input): + auth = info.context["request"].auth + user_id = auth.user_id + + new_shout = Shout.create( + author = user_id, + body = input["body"], # TODO: add createShoutInput in scheme.graphql + title = input.get("title") + # TODO: generate slug + ) + + return { + "status": True, + "shout" : new_shout + } + + +# TODO: paginate, get, update, delete \ No newline at end of file diff --git a/schema.graphql b/schema.graphql index 2e53b117..d34a3aee 100644 --- a/schema.graphql +++ b/schema.graphql @@ -37,6 +37,12 @@ type createMessagePayload { message: Message } +type createShoutPayload { + status: Boolean! + error: String + shout: Shout +} + ################################### Mutation type Mutation { @@ -55,8 +61,8 @@ type Mutation { registerUser(input: registerUserInput!): User! # shout - createShout(body: String!, replyTo: [Int], title: String, versionOf: [Int], visibleForRoles: [Int], visibleForUsers: [Int]): Message! - deleteShout(shoutId: Int!): Message! + createShout(): Shout! + deleteShout(shoutId: Int!): Boolean! rateShout(value: Int!): Boolean! # profile