This commit is contained in:
Igor Lobanov
2023-10-26 22:38:31 +02:00
parent 1c49780cd4
commit c2cc428abe
64 changed files with 631 additions and 626 deletions

View File

@@ -1,8 +1,6 @@
from datetime import datetime
from sqlalchemy import Column, DateTime, ForeignKey, String
from base.orm import Base
from datetime import datetime
from sqlalchemy import Column, DateTime, ForeignKey, String
class ShoutCollection(Base):

View File

@@ -1,8 +1,6 @@
from datetime import datetime
from sqlalchemy import Column, DateTime, ForeignKey, String
from base.orm import Base, local_session
from datetime import datetime
from sqlalchemy import Column, DateTime, ForeignKey, String
class CommunityFollower(Base):
@@ -33,4 +31,4 @@ class Community(Base):
session.add(d)
session.commit()
Community.default_community = d
print('[orm] default community id: %s' % d.id)
print("[orm] default community id: %s" % d.id)

View File

@@ -1,11 +1,9 @@
from base.orm import Base
from datetime import datetime
from enum import Enum as Enumeration
from sqlalchemy import Boolean, Column, DateTime, Enum, ForeignKey, Integer
from sqlalchemy.dialects.postgresql import JSONB
from base.orm import Base
class NotificationType(Enumeration):
NEW_COMMENT = 1

View File

@@ -1,9 +1,8 @@
import warnings
from base.orm import Base, local_session, REGISTRY
from sqlalchemy import Column, ForeignKey, String, TypeDecorator, UniqueConstraint
from sqlalchemy.orm import relationship
from base.orm import REGISTRY, Base, engine, local_session
import warnings
# Role Based Access Control #
@@ -165,14 +164,14 @@ class Permission(Base):
)
if __name__ == "__main__":
Base.metadata.create_all(engine)
ops = [
Permission(role=1, operation=1, resource=1),
Permission(role=1, operation=2, resource=1),
Permission(role=1, operation=3, resource=1),
Permission(role=1, operation=4, resource=1),
Permission(role=2, operation=4, resource=1),
]
global_session.add_all(ops)
global_session.commit()
# if __name__ == "__main__":
# Base.metadata.create_all(engine)
# ops = [
# Permission(role=1, operation=1, resource=1),
# Permission(role=1, operation=2, resource=1),
# Permission(role=1, operation=3, resource=1),
# Permission(role=1, operation=4, resource=1),
# Permission(role=2, operation=4, resource=1),
# ]
# global_session.add_all(ops)
# global_session.commit()

View File

@@ -1,10 +1,8 @@
from base.orm import Base
from datetime import datetime
from enum import Enum as Enumeration
from sqlalchemy import Column, DateTime, Enum, ForeignKey, String
from base.orm import Base
class ReactionKind(Enumeration):
AGREE = 1 # +1

View File

@@ -1,12 +1,10 @@
from datetime import datetime
from sqlalchemy import JSON, Boolean, Column, DateTime, ForeignKey, Integer, String
from sqlalchemy.orm import column_property, relationship
from base.orm import Base, local_session
from datetime import datetime
from orm.reaction import Reaction
from orm.topic import Topic
from orm.user import User
from sqlalchemy import Boolean, Column, DateTime, ForeignKey, Integer, JSON, String
from sqlalchemy.orm import column_property, relationship
class ShoutTopic(Base):
@@ -70,7 +68,7 @@ class Shout(Base):
# TODO: these field should be used or modified
community = Column(ForeignKey("community.id"), default=1)
lang = Column(String, nullable=False, default='ru', comment="Language")
lang = Column(String, nullable=False, default="ru", comment="Language")
mainTopic = Column(ForeignKey("topic.slug"), nullable=True)
visibility = Column(String, nullable=True) # owner authors community public
versionOf = Column(ForeignKey("shout.id"), nullable=True)
@@ -81,7 +79,12 @@ class Shout(Base):
with local_session() as session:
s = session.query(Shout).first()
if not s:
entry = {"slug": "genesis-block", "body": "", "title": "Ничего", "lang": "ru"}
entry = {
"slug": "genesis-block",
"body": "",
"title": "Ничего",
"lang": "ru",
}
s = Shout.create(**entry)
session.add(s)
session.commit()

View File

@@ -1,8 +1,6 @@
from datetime import datetime
from sqlalchemy import Boolean, Column, DateTime, ForeignKey, String
from base.orm import Base
from datetime import datetime
from sqlalchemy import Boolean, Column, DateTime, ForeignKey, String
class TopicFollower(Base):

View File

@@ -1,11 +1,10 @@
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 base.orm import Base, local_session
from datetime import datetime
from orm.rbac import Role
from sqlalchemy import Boolean, Column, DateTime, ForeignKey, Integer
from sqlalchemy import JSON as JSONType
from sqlalchemy import String
from sqlalchemy.orm import relationship
class UserRating(Base):