Locazia: content encryption, indexation, deploy platform
This commit is contained in:
1 parent
0ccbb53135
commit
44abce2aae
18 files changed
+360
-66
No files matched your search
+14
-2
@@ -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)
|
||||
@@ -24,7 +24,7 @@ class Memory:
|
||||
# "status": "no status",
|
||||
# "timestamp": None
|
||||
# },
|
||||
"indexator": {
|
||||
"indexer": {
|
||||
"status": "no status",
|
||||
"timestamp": None
|
||||
},
|
||||
|
||||
@@ -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
|
||||
}
|
||||
Reference in new issue
Block a user