From 81173f989af1985dcb8ca1a0fbabf13009fce3eb Mon Sep 17 00:00:00 2001 From: Untone Date: Sun, 17 Dec 2023 08:08:35 +0300 Subject: [PATCH] version-upgrade-0.2.18 --- .gitignore | 1 + CHANGELOG.txt | 6 +++ orm/shout.py | 2 + pyproject.toml | 2 +- schemas/core.graphql | 121 +++++++++++++++++++++---------------------- 5 files changed, 68 insertions(+), 64 deletions(-) diff --git a/.gitignore b/.gitignore index 0d114c2d..c172a071 100644 --- a/.gitignore +++ b/.gitignore @@ -149,3 +149,4 @@ dev-server.pid backups/ poetry.lock .venv +.ruff_cache diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 9d3357d7..e28624e0 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -1,3 +1,9 @@ +[0.2.18] +- schema: added Shout.seo string field +- resolvers: added /new-author webhook resolver +- services: auth connector upgraded + + [0.2.17] - schema: enum types workaround, ReactionKind, InviteStatus, ShoutVisibility - schema: Shout.created_by, Shout.updated_by diff --git a/orm/shout.py b/orm/shout.py index 104029e1..a71281e3 100644 --- a/orm/shout.py +++ b/orm/shout.py @@ -87,3 +87,5 @@ class Shout(Base): lang = Column(String, nullable=False, default="ru", comment="Language") version_of = Column(ForeignKey("shout.id"), nullable=True) oid = Column(String, nullable=True) + + seo = Column(String, nullable=True) # JSON diff --git a/pyproject.toml b/pyproject.toml index 62362c3f..50277217 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "discoursio-core" -version = "0.2.17" +version = "0.2.18" description = "core module for discours.io" authors = ["discoursio devteam"] license = "MIT" diff --git a/schemas/core.graphql b/schemas/core.graphql index 7907d37d..5c3bbc48 100644 --- a/schemas/core.graphql +++ b/schemas/core.graphql @@ -13,7 +13,7 @@ enum ReactionStatus { } enum ReactionKind { - # collabs + # collabs AGREE DISAGREE ASK @@ -29,7 +29,6 @@ enum ReactionKind { DISLIKE } - enum FollowingEntity { TOPIC AUTHOR @@ -37,17 +36,14 @@ enum FollowingEntity { REACTIONS } - enum InviteStatus { PENDING ACCEPTED REJECTED } - # Типы - type AuthorFollowings { unread: Int topics: [String] @@ -77,6 +73,7 @@ type Author { last_seen: Int updated_at: Int deleted_at: Int + seo: String # synthetic stat: AuthorStat # ratings inside communities: [Community] @@ -292,81 +289,79 @@ type Result { communities: [Community] } - # Мутации type Mutation { - # author - rate_author(rated_slug: String!, value: Int!): Result! - update_profile(profile: ProfileInput!): Result! + # author + rate_author(rated_slug: String!, value: Int!): Result! + update_profile(profile: ProfileInput!): Result! - # editor - create_shout(inp: ShoutInput!): Result! - update_shout(shout_id: Int!, shout_input: ShoutInput, publish: Boolean): Result! - delete_shout(shout_id: Int!): Result! + # editor + create_shout(inp: ShoutInput!): Result! + update_shout(shout_id: Int!, shout_input: ShoutInput, publish: Boolean): Result! + delete_shout(shout_id: Int!): Result! - # follower - follow(what: FollowingEntity!, slug: String!): Result! - unfollow(what: FollowingEntity!, slug: String!): Result! + # follower + follow(what: FollowingEntity!, slug: String!): Result! + unfollow(what: FollowingEntity!, slug: String!): Result! - # topic - create_topic(input: TopicInput!): Result! - update_topic(input: TopicInput!): Result! - delete_topic(slug: String!): Result! + # topic + create_topic(input: TopicInput!): Result! + update_topic(input: TopicInput!): Result! + delete_topic(slug: String!): Result! - # reaction - create_reaction(reaction: ReactionInput!): Result! - update_reaction(id: Int!, reaction: ReactionInput!): Result! - delete_reaction(id: Int!): Result! + # reaction + create_reaction(reaction: ReactionInput!): Result! + update_reaction(id: Int!, reaction: ReactionInput!): Result! + delete_reaction(id: Int!): Result! - # collab - create_invite(slug: String, author_id: Int): Result! - remove_author(slug: String, author_id: Int): Result! - remove_invite(invite_id: Int!): Result! - accept_invite(invite_id: Int!): Result! - reject_invite(invite_id: Int!): Result! + # collab + create_invite(slug: String, author_id: Int): Result! + remove_author(slug: String, author_id: Int): Result! + remove_invite(invite_id: Int!): Result! + accept_invite(invite_id: Int!): Result! + reject_invite(invite_id: Int!): Result! } - # Запросы type Query { - # author - get_author(slug: String, author_id: Int): Author - get_author_id(user: String!): Author - load_authors_all(limit: Int, offset: Int): [Author] - get_author_followers(slug: String, user: String, author_id: Int): [Author] - get_author_followed(slug: String, user: String, author_id: Int): [Author] - load_authors_by(by: AuthorsBy, limit: Int, offset: Int): [Author] + # author + get_author(slug: String, author_id: Int): Author + get_author_id(user: String!): Author + load_authors_all(limit: Int, offset: Int): [Author] + get_author_followers(slug: String, user: String, author_id: Int): [Author] + get_author_followed(slug: String, user: String, author_id: Int): [Author] + load_authors_by(by: AuthorsBy, limit: Int, offset: Int): [Author] - # community - get_community: Community - get_communities_all: [Community] + # community + get_community: Community + get_communities_all: [Community] - # editor - get_shouts_drafts: [Shout] + # editor + get_shouts_drafts: [Shout] - # follower - get_my_followed: Result # { authors topics communities } - get_shout_followers(slug: String, shout_id: Int): [Author] + # follower + get_my_followed: Result # { authors topics communities } + get_shout_followers(slug: String, shout_id: Int): [Author] - # reaction - load_reactions_by(by: ReactionBy!, limit: Int, offset: Int): [Reaction] + # reaction + load_reactions_by(by: ReactionBy!, limit: Int, offset: Int): [Reaction] - # reader - get_shout(slug: String, shout_id: Int): Shout - load_shouts_followed(follower_id: Int!, limit: Int, offset: Int): [Shout] # userReactedShouts - load_shouts_by(options: LoadShoutsOptions): [Shout] - load_shouts_search(text: String!, limit: Int, offset: Int): [Shout] - load_shouts_feed(options: LoadShoutsOptions): [Shout] - load_shouts_unrated(limit: Int, offset: Int): [Shout] - load_shouts_random_top(options: LoadShoutsOptions): [Shout] - load_shouts_drafts: [Shout] + # reader + get_shout(slug: String, shout_id: Int): Shout + load_shouts_followed(follower_id: Int!, limit: Int, offset: Int): [Shout] # userReactedShouts + load_shouts_by(options: LoadShoutsOptions): [Shout] + load_shouts_search(text: String!, limit: Int, offset: Int): [Shout] + load_shouts_feed(options: LoadShoutsOptions): [Shout] + load_shouts_unrated(limit: Int, offset: Int): [Shout] + load_shouts_random_top(options: LoadShoutsOptions): [Shout] + load_shouts_drafts: [Shout] - # topic - get_topic(slug: String!): Topic - get_topics_all: [Topic] - get_topics_random(amount: Int): [Topic] - get_topics_by_author(slug: String, user: String, author_id: Int): [Topic] - get_topics_by_community(slug: String, community_id: Int): [Topic] + # topic + get_topic(slug: String!): Topic + get_topics_all: [Topic] + get_topics_random(amount: Int): [Topic] + get_topics_by_author(slug: String, user: String, author_id: Int): [Topic] + get_topics_by_community(slug: String, community_id: Int): [Topic] }