Skip to content

Commit

Permalink
implement get_stargazers_for_repo/2 for #223
Browse files Browse the repository at this point in the history
  • Loading branch information
nelsonic committed Jan 20, 2025
1 parent abadb1d commit 19ed306
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 6 deletions.
13 changes: 7 additions & 6 deletions lib/app/star.ex
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
defmodule App.Star do
alias App.{Repo}
use Ecto.Schema
import Ecto.{Changeset, Query}
import Ecto.Changeset
require Logger
alias __MODULE__

Expand Down Expand Up @@ -30,17 +30,18 @@ defmodule App.Star do
end

@doc """
Get all repositories for an organization and insert them into DB.
`get_stargazers_for_repo/2`
gets the starts for a given `owner` and `repo` inserts any new `users`.
"""
def get_stargazers_for_repo(owner, repo) do
repo_id = App.Repository.get_repo_id_by_full_name("#{owner}/#{repo}")
App.GitHub.repo_stargazers(owner, repo)
|> Enum.map(fn user ->
dbg(user)
# %{
App.User.get_user_from_api(user)

# }
# create(repo)
{:ok, star} = create(%{ user_id: user.id, repo_id: repo_id })

star
end)
end
end
11 changes: 11 additions & 0 deletions test/app/star_test.exs
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,15 @@ defmodule App.StarTest do
assert {:ok, inserted_star} = App.Star.create(star)
assert inserted_star.repo_id == star.repo_id
end

test "App.Star.get_stargazers_for_repo/2 " do
owner = "ideaq"
App.Repository.get_org_repos(owner)
repo = "image-uploads"
list = App.Star.get_stargazers_for_repo(owner, repo)
star = Enum.filter(list, fn(s) -> s.user_id == 194400 end) |> List.first

assert star.user_id == 194400
assert star.repo_id == 35713694
end
end

0 comments on commit 19ed306

Please sign in to comment.