from xmantissa.sharing import getPrimaryRole


def getModeratorsRole(appStore):
    """
    Get the C{moderators} role.
    """
    return getPrimaryRole(appStore, u'moderators', True)


def getUserRole(appStore, userID):
    """
    Get the role for C{userID}.
    """
    return getPrimaryRole(appStore, userID, True)


def promoteUser(appStore, userID):
    """
    Promote a user to moderator status.
    """
    modRole = getModeratorsRole(appStore)
    userRole = getPrimaryRole(appStore, userID, True)
    userRole.becomeMemberOf(modRole)


def inModerators(role):
    """
    Determine whether C{role} is a member of C{moderators}.
    """
    modRole = getModeratorsRole(role.store)
    return modRole in role.allRoles()
