From dbb69dbcd5835526a93253d301110dec9f0c2fbe Mon Sep 17 00:00:00 2001 From: inso <insomniak.fr@gmaiL.com> Date: Wed, 7 Sep 2016 07:48:24 +0200 Subject: [PATCH] Fix Identity Primary key An Identity Primary Key should be based on (Currency, Pubkey, Uid, Blockstamp) --- src/sakia/data/entities/identity.py | 2 +- src/sakia/data/repositories/identities.py | 2 +- src/sakia/data/repositories/meta.py | 4 ++-- src/sakia/tests/unit/data/test_identies_repo.py | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/sakia/data/entities/identity.py b/src/sakia/data/entities/identity.py index 8fa1a565..6f28d77c 100644 --- a/src/sakia/data/entities/identity.py +++ b/src/sakia/data/entities/identity.py @@ -7,8 +7,8 @@ class Identity: currency = attr.ib(convert=str) pubkey = attr.ib(convert=str) uid = attr.ib(convert=str) - signature = attr.ib(convert=str) blockstamp = attr.ib(convert=block_uid) + signature = attr.ib(convert=str) timestamp = attr.ib(convert=int) member = attr.ib(validator=attr.validators.instance_of(bool)) membership_buid = attr.ib(convert=block_uid) diff --git a/src/sakia/data/repositories/identities.py b/src/sakia/data/repositories/identities.py index c9615450..8b5783d7 100644 --- a/src/sakia/data/repositories/identities.py +++ b/src/sakia/data/repositories/identities.py @@ -24,8 +24,8 @@ class IdentitiesRepo: with self._conn: self.conn.execute("UPDATE identities SET " "UID=?, " - "SIGNATURE=?, " "BLOCKSTAMP=?," + "SIGNATURE=?, " "TS=?," "MEMBER=?," "MS_BUID=?," diff --git a/src/sakia/data/repositories/meta.py b/src/sakia/data/repositories/meta.py index 1d831c5c..7e664782 100644 --- a/src/sakia/data/repositories/meta.py +++ b/src/sakia/data/repositories/meta.py @@ -48,13 +48,13 @@ class MetaDatabase: "CURRENCY varchar(30), " "PUBKEY varchar(50)," "UID varchar(255)," - "SIGNATURE varchar(100)," "BLOCKSTAMP varchar(100)," + "SIGNATURE varchar(100)," "TS int," "MEMBER boolean," "MS_BUID varchar(100)," "MS_TIMESTAMP int," - "PRIMARY KEY (CURRENCY, PUBKEY)" + "PRIMARY KEY (CURRENCY, PUBKEY, UID, BLOCKSTAMP)" ")" ) diff --git a/src/sakia/tests/unit/data/test_identies_repo.py b/src/sakia/tests/unit/data/test_identies_repo.py index c33059fd..ca91bd6d 100644 --- a/src/sakia/tests/unit/data/test_identies_repo.py +++ b/src/sakia/tests/unit/data/test_identies_repo.py @@ -22,8 +22,8 @@ class TestIdentitiesRepo(unittest.TestCase): identities_repo = IdentitiesRepo(self.con) identities_repo.insert(Identity("testcurrency", "7Aqw6Efa9EzE7gtsc8SveLLrM7gm6NEGoywSv4FJx6pZ", "john", - "H41/8OGV2W4CLKbE35kk5t1HJQsb3jEM0/QGLUf80CwJvGZf3HvVCcNtHPUFoUBKEDQO9mPK3KJkqOoxHpqHCw==", "20-7518C700E78B56CC21FB1DDC6CBAB24E0FACC9A798F5ED8736EA007F38617D67", + "H41/8OGV2W4CLKbE35kk5t1HJQsb3jEM0/QGLUf80CwJvGZf3HvVCcNtHPUFoUBKEDQO9mPK3KJkqOoxHpqHCw==", 1473108382, False, None, -- GitLab