add Public list, peers can add items to that list

This commit is contained in:
j 2019-01-17 23:49:23 +05:30
commit f05a212a82
8 changed files with 55 additions and 13 deletions

View file

@ -76,3 +76,14 @@ def api_cancelPeering(user_id, message):
trigger_event('peering.cancel', user.json())
return True
return False
def api_upload(user_id, items):
from user.models import List
peer = User.get(user_id)
if peer:
l = List.get_or_create(':Public')
if l:
l.add_items(items)
return True
return False

View file

@ -86,8 +86,8 @@ def api_call(action, user_id, args):
content = getattr(nodeapi, 'api_' + action)(user_id, *args)
else:
if u and u.pending:
logger.debug('ignore request from pending peer[%s] %s (%s)',
user_id, action, args)
logger.debug('ignore request from pending peer[%s] %s (%s) (pending state: %s)',
user_id, action, args, u.pending)
content = {}
else:
content = None
@ -191,13 +191,13 @@ class Handler(http.server.SimpleHTTPRequestHandler):
u = user.models.User.get(user_id)
if not u:
return self._denied()
if u.pending:
logger.debug('ignore request from pending peer[%s]', user_id)
return self._denied()
if not u.peered and u.pending == 'sent':
u.update_peering(True)
state.nodes.queue('add', u.id, True)
trigger_event('peering.accept', u.json())
if u.pending:
logger.debug('ignore request from pending peer[%s] changelog (pending sate: %s)', user_id, u.pending)
return self._denied()
if not u.peered:
return self._denied()
path = changelog_path()