async def vote_solution(domain_id: str, psid: document.convert_doc_id, uid: int, value: int): try: await document.capped_inc_status(domain_id, document.TYPE_PROBLEM_SOLUTION, psid, uid, 'vote', value) except errors.DuplicateKeyError: raise error.AlreadyVotedError(domain_id, psid, uid) from None return await document.inc(domain_id, document.TYPE_PROBLEM_SOLUTION, psid, 'vote', value)
async def vote_solution(domain_id: str, psid: document.convert_doc_id, uid: int, value: int): try: pssdoc = await document.capped_inc_status(domain_id, document.TYPE_PROBLEM_SOLUTION, psid, uid, 'vote', value) except errors.DuplicateKeyError: raise error.AlreadyVotedError(domain_id, psid, uid) from None psdoc = await document.inc(domain_id, document.TYPE_PROBLEM_SOLUTION, psid, 'vote', value) await domain.inc_user(domain_id, psdoc['owner_uid'], num_liked=value) return psdoc, pssdoc