def update_action(self, user_id, action_id, patch_doc): valid_patch = ActionDoc.create_patch(patch_doc) # check that document exists assert (self.action_manager.get(user_id, action_id)) version = self.action_manager.update(action_id, valid_patch) logging.info(_i18n._LI('Action %(id)s updated to version %(version)s' % {'id': action_id, 'version': version})) return version
def replace_action(self, user_id, action_id, doc): # check that no document exists with # same action_id and different user_id try: self.action_manager.get(user_id, action_id) except freezer_api_exc.DocumentNotFound: pass valid_doc = ActionDoc.update(doc, user_id, action_id) (created, version) = self.action_manager.insert(valid_doc, action_id) if created: logging.info(_i18n._LI('Action %s created') % action_id) else: logging.info(_i18n._LI('Action %(id)s replaced with version %(version)s' % {'id': action_id, 'version': version})) return version
def add_action(self, user_id, doc): actiondoc = ActionDoc.create(doc, user_id) action_id = actiondoc['action_id'] self.action_manager.insert(actiondoc, action_id) logging.info(_i18n._LI('Action registered, action id: %s') % action_id) return action_id