コード例 #1
0
def get_project_repositories(auth_user: AuthUser, project_id):
    """
    Get a project's repositories.

    :param project_id: The ID of the project.
    :type project_id: string
    """

    # Load Project
    project = Project()
    try:
        project.load(project_id=str(project_id))
    except DoesNotExist as err:
        return {'valid': False, 'errors': {'errors': {'project_id': str(err)}}}

    # Get SFDC project identifier
    sfid = project.get_project_external_id()

    # Validate user is authorized for this project
    can_access = check_user_authorization(auth_user, sfid)
    if not can_access['valid']:
        return can_access['errors']

    # Obtain repositories
    repositories = project.get_project_repositories()
    return [repository.to_dict() for repository in repositories]
コード例 #2
0
ファイル: project.py プロジェクト: geva/easycla
def get_project_repositories_group_by_organization(auth_user: AuthUser,
                                                   project_id):
    """
    Get a project's repositories.

    :param project_id: The ID of the project.
    :type project_id: string
    """

    # Load Project
    project = Project()
    try:
        project.load(project_id=str(project_id))
    except DoesNotExist as err:
        return {'valid': False, 'errors': {'errors': {'project_id': str(err)}}}

    # Get SFDC project identifier
    sfid = project.get_project_external_id()

    # Validate user is authorized for this project
    can_access = check_user_authorization(auth_user, sfid)
    if not can_access['valid']:
        return can_access['errors']

    # Obtain repositories
    repositories = project.get_project_repositories()
    repositories = [repository.to_dict() for repository in repositories]

    # Group them by organization
    organizations_dict = {}
    for repository in repositories:
        org_name = repository['repository_organization_name']
        if org_name in organizations_dict:
            organizations_dict[org_name].append(repository)
        else:
            organizations_dict[org_name] = [repository]

    organizations = []
    for key, value in organizations_dict.items():
        organizations.append({'name': key, 'repositories': value})

    return organizations