bridge: added methods to let frontends store/retrieve/delete private data
This commit is contained in:
parent
104902f076
commit
d684685e24
1 changed files with 168 additions and 0 deletions
|
|
@ -39,6 +39,7 @@ from sat.memory.disco import Discovery
|
|||
from sat.memory.crypto import BlockCipher
|
||||
from sat.memory.crypto import PasswordHasher
|
||||
from sat.tools import config as tools_config
|
||||
from sat.tools.common import data_format
|
||||
import shortuuid
|
||||
import mimetypes
|
||||
import time
|
||||
|
|
@ -1153,6 +1154,27 @@ class Memory(object):
|
|||
def setDefault(self, name, category, callback, errback=None):
|
||||
return self.params.setDefault(name, category, callback, errback)
|
||||
|
||||
## Private Data ##
|
||||
|
||||
def _privateDataSet(self, namespace, key, data_s, profile_key):
|
||||
client = self.host.getClient(profile_key)
|
||||
# we accept any type
|
||||
data = data_format.deserialise(data_s, type_check=None)
|
||||
return self.storage.setPrivateValue(
|
||||
namespace, key, data, binary=True, profile=client.profile)
|
||||
|
||||
def _privateDataGet(self, namespace, key, profile_key):
|
||||
client = self.host.getClient(profile_key)
|
||||
d = self.storage.getPrivates(
|
||||
namespace, [key], binary=True, profile=client.profile)
|
||||
d.addCallback(lambda data_dict: data_format.serialise(data_dict.get(key)))
|
||||
return d
|
||||
|
||||
def _privateDataDelete(self, namespace, key, profile_key):
|
||||
client = self.host.getClient(profile_key)
|
||||
return self.storage.delPrivateValue(
|
||||
namespace, key, binary=True, profile=client.profile)
|
||||
|
||||
## Files ##
|
||||
|
||||
def checkFilePermission(self, file_data, peer_jid, perms_to_check):
|
||||
|
|
|
|||
Loading…
Reference in a new issue