from gm_types.error import ERROR as CODES from gm_types.gaia import REPLYOBJECT from gm_rpcd.all import bind from talos.decorators import list_interface from talos.cache.base import reply_cache as reply_msg_cache from talos.tools.replies_tool import ReplyTool from utils.rpc import gen, get_current_user @bind('mimas/reply/received') @list_interface(offset_name='start_num', limit_name='count') def reply_received(start_num=0, count=10): user = get_current_user() if not user: return gen(CODES.LOGIN_REQUIRED) result = [] reply_tool = ReplyTool(reply_msg_cache, user.id) for r in reply_tool.get_replies_received(start_num, count): _id, _type = r if _type in REPLYOBJECT: result.append((_type, int(_id))) return result