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
dev-server.pid
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]
- redis interface updated
- viewed interface updated

View File

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

View File

@ -2,7 +2,7 @@ from datetime import datetime
from sqlalchemy import JSON as JSONType
from sqlalchemy import Boolean, Column, DateTime, ForeignKey, Integer, String
from sqlalchemy.orm import relationship
from services.db import Base, local_session
from services.db import Base
class AuthorRating(Base):
@ -31,37 +31,16 @@ class AuthorFollower(Base):
class Author(Base):
__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
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")
slug = Column(String, unique=True, comment="Author's slug")
muted = Column(Boolean, default=False)
createdAt = Column(DateTime, nullable=False, default=datetime.now)
lastSeen = Column(DateTime, nullable=False, default=datetime.now) # Td se 0e
deletedAt = Column(DateTime, nullable=True, comment="Deleted at")
links = Column(JSONType, nullable=True, comment="Links")
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
class CommunityRole:
__tablename__ = "community_role"
name = Column(String, nullable=False)
class CommunityAuthor(Base):
__tablename__ = "community_author"
@ -19,7 +13,7 @@ class CommunityAuthor(Base):
follower = Column(ForeignKey("author.id"), primary_key=True)
community = Column(ForeignKey("community.id"), primary_key=True)
joinedAt = Column(DateTime, nullable=False, default=datetime.now)
role = Column(ForeignKey("community_role.id"), nullable=False)
role = Column(String, nullable=False)
class Community(Base):

View File

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

View File

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

View File

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