# Generated by `mix github.gen` from docs/github-api/api.github.com.json. # Do not edit by hand; re-run the task instead. defmodule Noizu.Github.Api.EnterpriseTeamMemberships do @moduledoc """ GitHub `enterprise-team-memberships` API. """ import Noizu.Github @doc """ Add team member @see https://docs.github.com/rest/enterprise-teams/enterprise-team-members#add-team-member """ def add(enterprise, enterprise_team, username, body, options \\ nil) do url = github_base() <> "/enterprises/#{enterprise}/teams/#{enterprise_team}/memberships/#{username}" body = body api_call(:put, url, body, Noizu.Github.SimpleUser, options) end @doc """ Bulk add team members @see https://docs.github.com/rest/enterprise-teams/enterprise-team-members#bulk-add-team-members """ def bulk_add(enterprise, enterprise_team, body, options \\ nil) do url = github_base() <> "/enterprises/#{enterprise}/teams/#{enterprise_team}/memberships/add" body = body api_call(:post, url, body, Noizu.Github.Collection.SimpleUser, options) end @doc """ Bulk remove team members @see https://docs.github.com/rest/enterprise-teams/enterprise-team-members#bulk-remove-team-members """ def bulk_remove(enterprise, enterprise_team, body, options \\ nil) do url = github_base() <> "/enterprises/#{enterprise}/teams/#{enterprise_team}/memberships/remove" body = body api_call(:post, url, body, Noizu.Github.Collection.SimpleUser, options) end @doc """ Get enterprise team membership @see https://docs.github.com/rest/enterprise-teams/enterprise-team-members#get-enterprise-team-membership """ def get(enterprise, enterprise_team, username, options \\ nil) do url = github_base() <> "/enterprises/#{enterprise}/teams/#{enterprise_team}/memberships/#{username}" body = %{} api_call(:get, url, body, Noizu.Github.SimpleUser, options) end @doc """ List members in an enterprise team @see https://docs.github.com/rest/enterprise-teams/enterprise-team-members#list-members-in-an-enterprise-team """ def list(enterprise, enterprise_team, options \\ nil) do url = ( query = [ get_field(:per_page, options, nil), get_field(:page, options, nil) ] |> Enum.filter(& &1) qs = if query == [], do: "", else: "?" <> Enum.join(query, "&") github_base() <> "/enterprises/#{enterprise}/teams/#{enterprise_team}/memberships" <> qs ) body = %{} api_call(:get, url, body, Noizu.Github.Collection.SimpleUser, options) end @doc """ Remove team membership @see https://docs.github.com/rest/enterprise-teams/enterprise-team-members#remove-team-membership """ def remove(enterprise, enterprise_team, username, options \\ nil) do url = github_base() <> "/enterprises/#{enterprise}/teams/#{enterprise_team}/memberships/#{username}" body = %{} api_call(:delete, url, body, Noizu.Github.Raw, options) end end