# coding=utf-8
from __future__ import unicode_literals, absolute_import

from talos.models.topic import Problem
from rpc.decorators import bind_context

from social.models import UserFollow
from social.consts import SUOZHANG_UID
from social.tasks import create_feed
from social.types import IN_FEED_REASON



@bind_context('social/user/follow')
def user_relation(ctx, user_id, follow_id):
    try:
        relation = UserFollow.objects.get(user_id=user_id, follow_id=follow_id)
        if relation.bond:
            return {"followed":True}
        else:
            return {"followed":False}
    except UserFollow.DoesNotExist:
        return {"followed":False}


@bind_context('social/suozhang/push_topic_in_mailbox')
def push_topic_in_mailbox(ctx, id):
    try:
        p = Problem.objects.get(id=id)
    except:
        return

    if p.user.id != SUOZHANG_UID or not p.is_online:
        return

    create_feed.delay(
        uid=SUOZHANG_UID,
        follow_uid=SUOZHANG_UID,
        topic_id=p.id,
        feed_reason=IN_FEED_REASON.MY_TOPIC
    )
