Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
This repository was archived by the owner on Nov 8, 2022. It is now read-only.

refactor(user): remove editable_communities in user model#373

Merged
mydearxym merged 1 commit intodevfromremove-editable_communities-in-user
May 29, 2021
Merged
Show file tree
Hide file tree
Changes fromall commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 6 additions & 12 deletionslib/groupher_server_web/resolvers/accounts_resolver.ex
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -197,24 +197,18 @@ defmodule GroupherServerWeb.Resolvers.Accounts do
end

# paged communities which the user it's the editor
def editable_communities(_root, ~m(user_id filter)a, _info) do
Accounts.paged_editable_communities(%User{id: user_id}, filter)
def editable_communities(_root, ~m(login filter)a, _info) do
with {:ok, user_id} <- Accounts.get_userid_and_cache(login) do
Accounts.paged_editable_communities(%User{id: user_id}, filter)
else
_ -> raise_error(:not_exsit, "#{login} not found")
end
end

def editable_communities(_root, ~m(filter)a, %{context: %{cur_user: cur_user}}) do
Accounts.paged_editable_communities(cur_user, filter)
end

# def editable_communities(_root, ~m(filter)a, %{
# context: %{cur_user: %{cur_passport: %{"cms" => %{"root" => true}}} = _cur_user}
# }) do
# CMS.Community |> ORM.find_all(filter)
# end

def editable_communities(root, ~m(filter)a, _info) do
Accounts.paged_editable_communities(%User{id: root.id}, filter)
end

# TODO: refactor
def get_mail_box_status(_root, _args, %{context: %{cur_user: cur_user}}) do
Accounts.mailbox_status(cur_user)
Expand Down
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -129,7 +129,7 @@ defmodule GroupherServerWeb.Schema.Account.Queries do

@desc "paged communities which the user it's the editor"
field :editable_communities, :paged_communities do
arg(:user_id, :id)
arg(:login, :string)
arg(:filter, non_null(:paged_filter))

middleware(M.PageSizeProof)
Expand Down
10 changes: 0 additions & 10 deletionslib/groupher_server_web/schema/account/account_types.ex
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -63,16 +63,6 @@ defmodule GroupherServerWeb.Schema.Account.Types do

field(:subscribed_communities_count, :integer)

@desc "paged communities which the user it's the editor"
field :editable_communities, :paged_communities do
# arg(:filter, non_null(:paged_filter))
arg(:filter, :paged_filter)

# middleware(M.SeeMe)
middleware(M.PageSizeProof)
resolve(&R.Accounts.editable_communities/3)
end

@desc "get follower users count"
field(:followers_count, :integer)

Expand Down
46 changes: 6 additions & 40 deletionstest/groupher_server_web/query/accounts/achievement_test.exs
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -45,8 +45,8 @@ defmodule GroupherServer.Test.Query.Account.Achievement do

describe "[account editable-communities]" do
@query """
query($userId: ID, $filter: PagedFilter!) {
editableCommunities(userId: $userId, filter: $filter) {
query($login: String, $filter: PagedFilter!) {
editableCommunities(login: $login, filter: $filter) {
entries {
id
logo
Expand All@@ -60,13 +60,15 @@ defmodule GroupherServer.Test.Query.Account.Achievement do
}
}
"""
@tag :wip2
test "can get user's empty editable communities list", ~m(guest_conn user)a do
variables = %{userId: user.id, filter: %{page: 1, size: 20}}
variables = %{login: user.login, filter: %{page: 1, size: 20}}
results = guest_conn |> query_result(@query, variables, "editableCommunities")

assert results |> is_valid_pagination?(:empty)
end

@tag :wip2
test "can get user's editable communities list when user is editor", ~m(guest_conn user)a do
{:ok, community} = db_insert(:community)
{:ok, community2} = db_insert(:community)
Expand All@@ -75,49 +77,13 @@ defmodule GroupherServer.Test.Query.Account.Achievement do
{:ok, _} = CMS.set_editor(community, title, user)
{:ok, _} = CMS.set_editor(community2, title, user)

variables = %{userId: user.id, filter: %{page: 1, size: 20}}
variables = %{login: user.login, filter: %{page: 1, size: 20}}
results = guest_conn |> query_result(@query, variables, "editableCommunities")

assert results["totalCount"] == 2
assert results["entries"] |> Enum.any?(&(&1["id"] == to_string(community.id)))
assert results["entries"] |> Enum.any?(&(&1["id"] == to_string(community2.id)))
end

@query """
query($login: String!) {
user(login: $login) {
id
editableCommunities {
entries {
id
logo
title
raw
}
totalCount
}
}
}
"""

test "user can get own editable communities list", ~m(user)a do
user_conn = simu_conn(:user, user)

{:ok, community} = db_insert(:community)
{:ok, community2} = db_insert(:community)

title = "chief editor"
{:ok, _} = CMS.set_editor(community, title, user)
{:ok, _} = CMS.set_editor(community2, title, user)

variables = %{login: user.login, filter: %{page: 1, size: 20}}
results = user_conn |> query_result(@query, variables, "user")
editable_communities = results["editableCommunities"]

assert editable_communities["totalCount"] == 2
assert editable_communities["entries"] |> Enum.any?(&(&1["id"] == to_string(community.id)))
assert editable_communities["entries"] |> Enum.any?(&(&1["id"] == to_string(community2.id)))
end
end

describe "[account follow achieveMent]" do
Expand Down

[8]ページ先頭

©2009-2025 Movatter.jp