48 lines
1.1 KiB
Python
48 lines
1.1 KiB
Python
# -*- coding: utf-8 -*-
|
|
from oxtornado import actions
|
|
from . import models
|
|
import settings
|
|
import state
|
|
from changelog import add_record
|
|
|
|
import logging
|
|
logger = logging.getLogger(__name__)
|
|
|
|
|
|
def getAnnotations(data):
|
|
response = {}
|
|
response['annotations'] = models.Annotation.get_by_item(data['id'])
|
|
return response
|
|
actions.register(getAnnotations)
|
|
|
|
|
|
def addAnnotation(data):
|
|
item_id = data.pop('item')
|
|
a = models.Annotation.create(item_id, settings.USER_ID, data)
|
|
a.add_record('addannotation')
|
|
response = a.json()
|
|
return response
|
|
actions.register(addAnnotation)
|
|
|
|
|
|
def editNote(data):
|
|
a = models.Annotation.get(state.user(), data['item'], data['annotation'])
|
|
if a:
|
|
a.data['notes'] = data['notes']
|
|
a.add_record('editannotation')
|
|
a.save()
|
|
response = a.json()
|
|
else:
|
|
response = {}
|
|
return response
|
|
actions.register(editNote)
|
|
|
|
|
|
def removeAnnotation(data):
|
|
a = models.Annotation.get(state.user(), data['item'], data['annotation'])
|
|
if a:
|
|
a.add_record('removeannotation')
|
|
a.delete()
|
|
response = {}
|
|
return response
|
|
actions.register(removeAnnotation)
|