don't store local node info in db

This commit is contained in:
j 2019-02-01 11:57:24 +05:30
commit 5a8e08b2c2
5 changed files with 21 additions and 28 deletions

View file

@ -57,8 +57,7 @@ class User(db.Model):
user = cls(id=id, peered=False, online=False)
user.info = {}
if state.nodes and state.nodes.local and id in state.nodes.local:
user.info['local'] = state.nodes.local[id]
user.info['username'] = user.info['local']['username']
user.info['username'] = state.nodes.localo[id]['username']
user.update_name()
user.save()
return user
@ -84,6 +83,8 @@ class User(db.Model):
j = {}
if self.info:
j.update(self.info)
if state.nodes and self.id in state.nodes.local:
j['local'] = state.nodes.local[self.id].copy()
j['id'] = self.id
if self.pending:
j['pending'] = self.pending
@ -603,25 +604,15 @@ def update_user_peering(user_id, peered, username=None):
u.update_peering(peered, username)
def remove_local_info(id):
with db.session():
u = User.get(id, for_update=True)
if u and 'local' in u.info:
del u.info['local']
u.save()
u.trigger_status()
if state.nodes:
trigger_event('status', {
'id': id,
'online': state.nodes.is_online(id)
})
def add_local_info(data):
with db.session():
u = User.get(data['id'], for_update=True)
if u:
if u.info['username'] != data['username']:
u.info['username'] = data['username']
u.update_name()
u.info['local'] = data
u.save()
if state.nodes:
state.nodes.queue('add', u.id)
if state.nodes:
state.nodes.queue('add', data['id'])
def upload(data):
delay = 60