Skip to content
Snippets Groups Projects
Commit 63b9b060 authored by inso's avatar inso
Browse files

Enhance identity entity

parent 7007425b
No related branches found
No related tags found
No related merge requests found
...@@ -10,8 +10,10 @@ class Identity: ...@@ -10,8 +10,10 @@ class Identity:
blockstamp = attr.ib(convert=block_uid, default=BlockUID.empty()) blockstamp = attr.ib(convert=block_uid, default=BlockUID.empty())
signature = attr.ib(convert=str, default="", cmp=False) signature = attr.ib(convert=str, default="", cmp=False)
timestamp = attr.ib(convert=int, default=0, cmp=False) timestamp = attr.ib(convert=int, default=0, cmp=False)
written = attr.ib(validator=attr.validators.instance_of(bool), default=False, cmp=False) written_on = attr.ib(convert=block_uid, default=BlockUID.empty(), cmp=False)
revoked = attr.ib(validator=attr.validators.instance_of(bool), default=False, cmp=False) revoked_on = attr.ib(convert=block_uid, default=BlockUID.empty(), cmp=False)
member = attr.ib(validator=attr.validators.instance_of(bool), default=False, cmp=False) member = attr.ib(validator=attr.validators.instance_of(bool), default=False, cmp=False)
membership_buid = attr.ib(convert=block_uid, default=BlockUID.empty(), cmp=False) membership_buid = attr.ib(convert=block_uid, default=BlockUID.empty(), cmp=False)
membership_timestamp = attr.ib(convert=int, default=0, cmp=False) membership_timestamp = attr.ib(convert=int, default=0, cmp=False)
membership_type = attr.ib(convert=str, default='', validator=lambda s, a, t: t in ('', 'IN', 'OUT'), cmp=False)
membership_written_on = attr.ib(convert=block_uid, default=BlockUID.empty(), cmp=False)
...@@ -31,11 +31,13 @@ class IdentitiesRepo: ...@@ -31,11 +31,13 @@ class IdentitiesRepo:
self._conn.execute("""UPDATE identities SET self._conn.execute("""UPDATE identities SET
signature=?, signature=?,
ts=?, ts=?,
written=?, written_on=?,
revoked=?, revoked_on=?,
member=?, member=?,
ms_buid=?, ms_buid=?,
ms_timestamp=? ms_timestamp=?,
ms_written_on=?,
ms_type=?
WHERE WHERE
currency=? AND currency=? AND
pubkey=? AND pubkey=? AND
......
...@@ -6,11 +6,13 @@ CREATE TABLE IF NOT EXISTS identities( ...@@ -6,11 +6,13 @@ CREATE TABLE IF NOT EXISTS identities(
blockstamp VARCHAR(100), blockstamp VARCHAR(100),
signature VARCHAR(100), signature VARCHAR(100),
ts INT, ts INT,
written BOOLEAN, written_on VARCHAR(100),
revoked BOOLEAN, revoked_on VARCHAR(100),
member BOOLEAN, member BOOLEAN,
ms_buid VARCHAR(100), ms_buid VARCHAR(100),
ms_timestamp INT, ms_timestamp INT,
ms_written_on VARCHAR(100),
ms_type VARCHAR(5),
PRIMARY KEY (currency, pubkey, uid, blockstamp) PRIMARY KEY (currency, pubkey, uid, blockstamp)
); );
......
...@@ -25,11 +25,13 @@ class TestIdentitiesRepo(unittest.TestCase): ...@@ -25,11 +25,13 @@ class TestIdentitiesRepo(unittest.TestCase):
"20-7518C700E78B56CC21FB1DDC6CBAB24E0FACC9A798F5ED8736EA007F38617D67", "20-7518C700E78B56CC21FB1DDC6CBAB24E0FACC9A798F5ED8736EA007F38617D67",
"H41/8OGV2W4CLKbE35kk5t1HJQsb3jEM0/QGLUf80CwJvGZf3HvVCcNtHPUFoUBKEDQO9mPK3KJkqOoxHpqHCw==", "H41/8OGV2W4CLKbE35kk5t1HJQsb3jEM0/QGLUf80CwJvGZf3HvVCcNtHPUFoUBKEDQO9mPK3KJkqOoxHpqHCw==",
1473108382, 1473108382,
False, None,
False, None,
False, False,
None, None,
0)) 0,
'',
None))
identity = identities_repo.get_one(currency="testcurrency", identity = identities_repo.get_one(currency="testcurrency",
pubkey="7Aqw6Efa9EzE7gtsc8SveLLrM7gm6NEGoywSv4FJx6pZ", pubkey="7Aqw6Efa9EzE7gtsc8SveLLrM7gm6NEGoywSv4FJx6pZ",
uid="john", uid="john",
...@@ -46,6 +48,7 @@ class TestIdentitiesRepo(unittest.TestCase): ...@@ -46,6 +48,7 @@ class TestIdentitiesRepo(unittest.TestCase):
self.assertEqual(identity.member, False) self.assertEqual(identity.member, False)
self.assertEqual(identity.membership_buid, BlockUID.empty()) self.assertEqual(identity.membership_buid, BlockUID.empty())
self.assertEqual(identity.membership_timestamp, 0) self.assertEqual(identity.membership_timestamp, 0)
self.assertEqual(identity.membership_written_on, BlockUID.empty())
identities_repo.drop(identity) identities_repo.drop(identity)
identity = identities_repo.get_one(currency="testcurrency", identity = identities_repo.get_one(currency="testcurrency",
pubkey="7Aqw6Efa9EzE7gtsc8SveLLrM7gm6NEGoywSv4FJx6pZ", pubkey="7Aqw6Efa9EzE7gtsc8SveLLrM7gm6NEGoywSv4FJx6pZ",
...@@ -65,21 +68,25 @@ class TestIdentitiesRepo(unittest.TestCase): ...@@ -65,21 +68,25 @@ class TestIdentitiesRepo(unittest.TestCase):
"20-7518C700E78B56CC21FB1DDC6CBAB24E0FACC9A798F5ED8736EA007F38617D67", "20-7518C700E78B56CC21FB1DDC6CBAB24E0FACC9A798F5ED8736EA007F38617D67",
"H41/8OGV2W4CLKbE35kk5t1HJQsb3jEM0/QGLUf80CwJvGZf3HvVCcNtHPUFoUBKEDQO9mPK3KJkqOoxHpqHCw==", "H41/8OGV2W4CLKbE35kk5t1HJQsb3jEM0/QGLUf80CwJvGZf3HvVCcNtHPUFoUBKEDQO9mPK3KJkqOoxHpqHCw==",
1473108382, 1473108382,
False, None,
False, None,
False, False,
None, None,
0)) 0,
'',
None))
identities_repo.insert(Identity("testcurrency", "FADxcH5LmXGmGFgdixSes6nWnC4Vb4pRUBYT81zQRhjn", identities_repo.insert(Identity("testcurrency", "FADxcH5LmXGmGFgdixSes6nWnC4Vb4pRUBYT81zQRhjn",
"doe", "doe",
"101-BAD49448A1AD73C978CEDCB8F137D20A5715EBAA739DAEF76B1E28EE67B2C00C", "101-BAD49448A1AD73C978CEDCB8F137D20A5715EBAA739DAEF76B1E28EE67B2C00C",
"H41/8OGV2W4CLKbE35kk5t1HJQsb3jEM0/QGLUf80CwJvGZf3HvVCcNtHPUFoUBKEDQO9mPK3KJkqOoxHpqHCw==", "H41/8OGV2W4CLKbE35kk5t1HJQsb3jEM0/QGLUf80CwJvGZf3HvVCcNtHPUFoUBKEDQO9mPK3KJkqOoxHpqHCw==",
1455433535, 1455433535,
False, None,
False, None,
False, False,
None, None,
0)) 0,
'',
None))
identities = identities_repo.get_all(currency="testcurrency") identities = identities_repo.get_all(currency="testcurrency")
self.assertIn("testcurrency", [i.currency for i in identities]) self.assertIn("testcurrency", [i.currency for i in identities])
self.assertIn("john", [i.uid for i in identities]) self.assertIn("john", [i.uid for i in identities])
...@@ -95,11 +102,13 @@ class TestIdentitiesRepo(unittest.TestCase): ...@@ -95,11 +102,13 @@ class TestIdentitiesRepo(unittest.TestCase):
"20-7518C700E78B56CC21FB1DDC6CBAB24E0FACC9A798F5ED8736EA007F38617D67", "20-7518C700E78B56CC21FB1DDC6CBAB24E0FACC9A798F5ED8736EA007F38617D67",
"H41/8OGV2W4CLKbE35kk5t1HJQsb3jEM0/QGLUf80CwJvGZf3HvVCcNtHPUFoUBKEDQO9mPK3KJkqOoxHpqHCw==", "H41/8OGV2W4CLKbE35kk5t1HJQsb3jEM0/QGLUf80CwJvGZf3HvVCcNtHPUFoUBKEDQO9mPK3KJkqOoxHpqHCw==",
1473108382, 1473108382,
False, None,
False, None,
False, False,
None, None,
0) 0,
'',
None)
identities_repo.insert(identity) identities_repo.insert(identity)
identity.member = True identity.member = True
identities_repo.update(identity) identities_repo.update(identity)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment