class SiteJSResource(BaseResource): dbmodel = SiteJS def __init__(self, request): super(SiteJSResource, self).__init__(request) self.mgr = SiteContentManager(self.db) def collection_get(self): q = self.mgr.js_query() return dict(data=[o.serialize() for o in q]) def collection_post(self): name = self.request.json['name'] content = self.request.json['content'] t = self.mgr.add_js(name, content) data = t.serialize() data['result'] = 'success' return data def put(self): content = self.request.json['content'] id = int(self.request.matchdict['id']) t = self.mgr.update_js(id, content) data = dict(obj=t.serialize(), result='success') return data def delete(self): id = int(self.request.matchdict['id']) db = self.request.db with transaction.manager: t = self.mgr.js_query().get(id) if t is not None: db.delete(t) return dict(result='success')