Locazia: content encryption, indexation, deploy platform

This commit is contained in:
user committed 2024-03-07 17:15:44 +03:00
1 parent 0ccbb53135
commit 44abce2aae
18 files changed
+360 -66

No files matched your search

+14 -2
View File
@@ -1,5 +1,6 @@
from sqlalchemy import Column, Integer, String, ForeignKey, DateTime, JSON, Boolean
from sqlalchemy.orm import relationship
from base58 import b58decode
from .base import AlchemyBase
@@ -9,14 +10,25 @@ class KnownKey(AlchemyBase):
id = Column(Integer, autoincrement=True, primary_key=True)
type = Column(String(32), nullable=False, default="NOT_SPECIFIED")
seed = Column(String(6144), nullable=True, default=None)
seed_hash = Column(String(64), nullable=True, default=None) # base58
seed = Column(String(6144), nullable=True, default=None, unique=True)
seed_hash = Column(String(64), nullable=True, default=None, unique=True) # base58
public_key = Column(String(6144), nullable=False, unique=True)
public_key_hash = Column(String(64), nullable=False, unique=True) # base58
algo = Column(String(32), nullable=True, default=None)
meta = Column(JSON, nullable=False, default={})
# {
# "I_user_id": TRUSTED_USER_ID,
# }
created = Column(DateTime, nullable=False, default=0)
# stored_content = relationship('StoredContent', back_populates='key')
@property
def seed_bin(self) -> bytes:
return b58decode(self.seed)
@property
def public_key_bin(self) -> bytes:
return b58decode(self.public_key)
+1 -1
View File
@@ -24,7 +24,7 @@ class Memory:
# "status": "no status",
# "timestamp": None
# },
"indexator": {
"indexer": {
"status": "no status",
"timestamp": None
},
+6 -1
View File
@@ -20,19 +20,24 @@ class StoredContent(AlchemyBase):
meta = Column(JSON, nullable=False, default={})
user_id = Column(Integer, ForeignKey('users.id'), nullable=False)
owner_address = Column(String(1024), nullable=True)
btfs_cid = Column(String(1024), nullable=True)
ipfs_cid = Column(String(1024), nullable=True)
telegram_cid = Column(String(1024), nullable=True)
created = Column(DateTime, nullable=False, default=0)
updated = Column(DateTime, nullable=False, default=0)
disabled = Column(DateTime, nullable=False, default=0)
disabled_by = Column(Integer, ForeignKey('users.id'), nullable=True, default=None)
encrypted = Column(Boolean, nullable=False, default=False)
decrypted_content_id = Column(Integer, ForeignKey('node_storage.id'), nullable=True, default=None)
key_id = Column(Integer, ForeignKey('known_keys.id'), nullable=True, default=None)
user = relationship('User', uselist=False, foreign_keys=[user_id])
key = relationship('KnownKey', uselist=False, foreign_keys=[key_id])
decrypted_content = relationship('StoredContent', uselist=False, foreign_keys=[decrypted_content])
@property
def cid(self) -> ContentId:
@@ -56,5 +61,5 @@ class StoredContent(AlchemyBase):
"hash": self.hash,
"cid": self.cid.serialize_v1(),
"status": self.status,
"meta": self.meta,
"meta": self.meta
}