Ejemplo n.º 1
0
    def list_user_communities(self, request):
        if request.id or request.email:
            user = get_user_from_request(user_id=request.id, user_email=request.email)
        else:
            user = auth_user(self.request_state.headers)

        user_community_list = user_community(user) if user else []
        user_community_message_list = []

        for userrole in user_community_list:
            community = userrole.get("community").get()
            if community:
                community_message = CommunityMessage(id=community.key.id(), name=community.name,
                                                     description=community.description,
                                                     welcome_msg=community.welcome_msg)
                user_community_message = UserCommunityMessage(community=community_message, role=userrole.get("role"))
                user_community_message_list.append(user_community_message)

        pending_invites_list = []

        if request.include_invite and user:
            pending_invites = Invite.list_by_user(user.user_email)
            for pending_invite in pending_invites:
                community = pending_invite.community.get().to_response_message()
                pending_invites_list.append(UserInviteMessage(community=community,
                                                              invite_hash=pending_invite.invite_hash,
                                                              invite_msg=pending_invite.invite_msg))

        return UserCommunityListMessage(community_list=user_community_message_list, invite_list=pending_invites_list)
Ejemplo n.º 2
0
    def user_invite_list(self, request):
        if request.email is None:
            user = auth_user(self.request_state.headers)
            user_email = user.user_email
        else:
            user_email = request.email

        pending_invites = Invite.list_by_user(user_email)
        pending_invites_list = []

        for pending_invite in pending_invites:
            community = pending_invite.community.get().to_response_message()
            pending_invites_list.append(UserInviteMessage(community=community,
                                                          invite_hash=pending_invite.invite_hash,
                                                          invite_msg=pending_invite.invite_msg))

        return UserInviteListMessage(invite_list=pending_invites_list)