summaryrefslogtreecommitdiff
path: root/service/pixelated/adapter/soledad_querier.py
diff options
context:
space:
mode:
Diffstat (limited to 'service/pixelated/adapter/soledad_querier.py')
-rw-r--r--service/pixelated/adapter/soledad_querier.py15
1 files changed, 13 insertions, 2 deletions
diff --git a/service/pixelated/adapter/soledad_querier.py b/service/pixelated/adapter/soledad_querier.py
index e36f2e1a..c1e0350e 100644
--- a/service/pixelated/adapter/soledad_querier.py
+++ b/service/pixelated/adapter/soledad_querier.py
@@ -13,17 +13,28 @@
#
# You should have received a copy of the GNU Affero General Public License
# along with Pixelated. If not, see <http://www.gnu.org/licenses/>.
-from pixelated.adapter.mail import PixelatedMail
-import re
import base64
import quopri
+from cryptography.fernet import Fernet
+from pixelated.adapter.mail import PixelatedMail
+import re
+
class SoledadQuerier:
def __init__(self, soledad):
self.soledad = soledad
+ @property
+ def get_index_masterkey(self):
+ index_key = self.soledad.get_from_index('by-type', 'index_key')
+ if len(index_key) == 0:
+ index_key = Fernet.generate_key()
+ self.soledad.create_doc(dict(type='index_key', value=index_key))
+ return index_key
+ return str(index_key[0].content['value'])
+
def _remove_many(self, docs):
[self.soledad.delete_doc(doc) for doc in docs]