def addTag_impl(user, tag, category, language): ret, sanitized_tag = verifyAndSanitizeTagOrAlias(tag) log(obj={'tag': sanitized_tag, 'cat': category, 'lang': language}) filterOperation('addTag', user) if not ret: raise UserError('INVALID_TAG') if len(sanitized_tag) > TagsConfig.MAX_TAG_LENGTH: raise UserError('TAG_TOO_LONG') with MongoTransaction(client) as s: tagdb.add_tag(sanitized_tag, category, language, makeUserMeta(user), session=s()) s.mark_succeed()
def renameOrAddAlias(user, old_name_or_tag_name, new_name): ret, sanitized_alias = verifyAndSanitizeTagOrAlias(new_name) log(obj={ 'old_name_or_tag_name': old_name_or_tag_name, 'new_name': sanitized_alias }) filterOperation('renameOrAddAlias', user) if not ret: raise UserError('INVALID_TAG') if len(sanitized_alias) > TagsConfig.MAX_TAG_LENGTH: raise UserError('TAG_TOO_LONG') with MongoTransaction(client) as s: tagdb.add_or_rename_alias(old_name_or_tag_name, sanitized_alias, makeUserMeta(user), session=s()) s.mark_succeed()
def renameTagOrAddTagLanguage(user, tag, new_tag, language): ret, sanitized_tag = verifyAndSanitizeTagOrAlias(new_tag) log(obj={'old_tag_or_id': tag, 'new_tag': sanitized_tag, 'lang': language}) filterOperation('renameTagOrAddTagLanguage', user) if not ret: raise UserError('INVALID_TAG') if len(sanitized_tag) > TagsConfig.MAX_TAG_LENGTH: raise UserError('TAG_TOO_LONG') with MongoTransaction(client) as s: #tag_obj = tagdb.db.tag_alias.find_one({'tag': tag}, session = s()) #if tag_obj and not _is_authorised(tag_obj, user, 'rename') : # raise UserError('UNAUTHORISED_OPERATION') tagdb.add_or_rename_tag(tag, sanitized_tag, language, makeUserMeta(user), session=s()) s.mark_succeed()