core-update
Some checks failed
deploy / deploy (push) Failing after 2m0s

This commit is contained in:
Untone 2023-10-25 19:55:30 +03:00
parent e151034bab
commit 46e684b28d
8 changed files with 17 additions and 39 deletions

1
.gitignore vendored
View File

@ -147,3 +147,4 @@ migration/content/**/*.md
*.csv *.csv
dev-server.pid dev-server.pid
backups/ backups/
poetry.lock

View File

@ -1,3 +1,8 @@
[0.2.12]
- Author.userpic -> Author.pic
- CommunityAuthor.role is string now
- Author.user is string now
[0.2.11] [0.2.11]
- redis interface updated - redis interface updated
- viewed interface updated - viewed interface updated

View File

@ -1,8 +1,9 @@
from services.db import Base, engine from services.db import Base, engine
from orm.shout import Shout from orm.shout import Shout
from orm.community import Community
def init_tables(): def init_tables():
Base.metadata.create_all(engine) Base.metadata.create_all(engine)
Shout.init_table() Shout.init_table()
Community.init_table()
print("[orm] tables initialized") print("[orm] tables initialized")

View File

@ -2,7 +2,7 @@ from datetime import datetime
from sqlalchemy import JSON as JSONType from sqlalchemy import JSON as JSONType
from sqlalchemy import Boolean, Column, DateTime, ForeignKey, Integer, String from sqlalchemy import Boolean, Column, DateTime, ForeignKey, Integer, String
from sqlalchemy.orm import relationship from sqlalchemy.orm import relationship
from services.db import Base, local_session from services.db import Base
class AuthorRating(Base): class AuthorRating(Base):
@ -31,37 +31,16 @@ class AuthorFollower(Base):
class Author(Base): class Author(Base):
__tablename__ = "author" __tablename__ = "author"
user = Column(Integer, nullable=False) # unbounded link with authorizer's User type user = Column(String, nullable=False) # unbounded link with authorizer's User type
bio = Column(String, nullable=True, comment="Bio") # status description bio = Column(String, nullable=True, comment="Bio") # status description
about = Column(String, nullable=True, comment="About") # long and formatted about = Column(String, nullable=True, comment="About") # long and formatted
userpic = Column(String, nullable=True, comment="Userpic") pic = Column(String, nullable=True, comment="Userpic")
name = Column(String, nullable=True, comment="Display name") name = Column(String, nullable=True, comment="Display name")
slug = Column(String, unique=True, comment="Author's slug") slug = Column(String, unique=True, comment="Author's slug")
muted = Column(Boolean, default=False)
createdAt = Column(DateTime, nullable=False, default=datetime.now) createdAt = Column(DateTime, nullable=False, default=datetime.now)
lastSeen = Column(DateTime, nullable=False, default=datetime.now) # Td se 0e lastSeen = Column(DateTime, nullable=False, default=datetime.now) # Td se 0e
deletedAt = Column(DateTime, nullable=True, comment="Deleted at") deletedAt = Column(DateTime, nullable=True, comment="Deleted at")
links = Column(JSONType, nullable=True, comment="Links") links = Column(JSONType, nullable=True, comment="Links")
ratings = relationship(AuthorRating, foreign_keys=AuthorRating.author) ratings = relationship(AuthorRating, foreign_keys=AuthorRating.author)
@staticmethod
def init_table():
with local_session() as session:
default = session.query(Author).filter(Author.slug == "anonymous").first()
if not default:
default_dict = {
"user": 0,
"name": "Аноним",
"slug": "anonymous",
}
default = Author.create(**default_dict)
session.add(default)
discours_dict = {
"user": 1,
"name": "Дискурс",
"slug": "discours",
}
discours = Author.create(**discours_dict)
session.add(discours)
session.commit()
Author.default_author = default

View File

@ -6,12 +6,6 @@ from services.db import Base, local_session
from orm.author import Author from orm.author import Author
class CommunityRole:
__tablename__ = "community_role"
name = Column(String, nullable=False)
class CommunityAuthor(Base): class CommunityAuthor(Base):
__tablename__ = "community_author" __tablename__ = "community_author"
@ -19,7 +13,7 @@ class CommunityAuthor(Base):
follower = Column(ForeignKey("author.id"), primary_key=True) follower = Column(ForeignKey("author.id"), primary_key=True)
community = Column(ForeignKey("community.id"), primary_key=True) community = Column(ForeignKey("community.id"), primary_key=True)
joinedAt = Column(DateTime, nullable=False, default=datetime.now) joinedAt = Column(DateTime, nullable=False, default=datetime.now)
role = Column(ForeignKey("community_role.id"), nullable=False) role = Column(String, nullable=False)
class Community(Base): class Community(Base):

View File

@ -1,6 +1,6 @@
[tool.poetry] [tool.poetry]
name = "discoursio-core" name = "discoursio-core"
version = "0.2.11" version = "0.2.12"
description = "core module for discours.io" description = "core module for discours.io"
authors = ["discoursio devteam"] authors = ["discoursio devteam"]
license = "MIT" license = "MIT"

View File

@ -168,9 +168,7 @@ type Author {
user: Int! user: Int!
slug: String! slug: String!
name: String name: String
communities: [Community] pic: String
userpic: String
caption: String
bio: String bio: String
about: String about: String
links: [String] links: [String]

View File

@ -1,7 +1,7 @@
import asyncio import asyncio
import time import time
from datetime import timedelta, timezone, datetime from datetime import timedelta, timezone, datetime
from os import environ, path from os import environ
from gql import Client, gql from gql import Client, gql
from gql.transport.httpx import HTTPXAsyncTransport from gql.transport.httpx import HTTPXAsyncTransport