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.

Commitd2c84a3

Browse files
committed
refactor(user): follow queries use login
1 parent916fd52 commitd2c84a3

File tree

7 files changed

+63
-39
lines changed

7 files changed

+63
-39
lines changed

‎lib/groupher_server_web/resolvers/accounts_resolver.ex‎

Lines changed: 31 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,7 @@ defmodule GroupherServerWeb.Resolvers.Accounts do
1717
end
1818

1919
defuser(_root,%{login:login},_info),do:Accounts.read_user(login)
20-
21-
defuser(_root,_args,_info)do
22-
{:error,[message:"need user login name",code:ecode(:account_login)]}
23-
end
20+
defuser(_root,_args,_info),do:raise_error(:account_login,"need user login name")
2421

2522
defpaged_users(_root,~m(filter)a,%{context:%{cur_user:cur_user}})do
2623
Accounts.paged_users(filter,cur_user)
@@ -85,41 +82,59 @@ defmodule GroupherServerWeb.Resolvers.Accounts do
8582
{:error,[message:"need login",code:ecode(:account_login)]}
8683
end
8784

88-
deffollow(_root,~m(user_id)a,%{context:%{cur_user:cur_user}})do
89-
Accounts.follow(cur_user,%User{id:user_id})
85+
deffollow(_root,~m(login)a,%{context:%{cur_user:cur_user}})do
86+
with{:ok,user_id}<-Accounts.get_userid_and_cache(login)do
87+
Accounts.follow(cur_user,%User{id:user_id})
88+
else
89+
_->raise_error(:not_exsit,"#{login} not found")
90+
end
9091
end
9192

92-
defundo_follow(_root,~m(user_id)a,%{context:%{cur_user:cur_user}})do
93-
Accounts.undo_follow(cur_user,%User{id:user_id})
93+
defundo_follow(_root,~m(login)a,%{context:%{cur_user:cur_user}})do
94+
with{:ok,user_id}<-Accounts.get_userid_and_cache(login)do
95+
Accounts.undo_follow(cur_user,%User{id:user_id})
96+
else
97+
_->raise_error(:not_exsit,"#{login} not found")
98+
end
9499
end
95100

96101
defpaged_followers(_root,~m(login filter)a,%{context:%{cur_user:cur_user}})do
97102
with{:ok,user_id}<-Accounts.get_userid_and_cache(login)do
98103
Accounts.paged_followers(%User{id:user_id},filter,cur_user)
104+
else
105+
_->raise_error(:not_exsit,"#{login} not found")
99106
end
100107
end
101108

102109
defpaged_followers(_root,~m(login filter)a,_info)do
103110
with{:ok,user_id}<-Accounts.get_userid_and_cache(login)do
104111
Accounts.paged_followers(%User{id:user_id},filter)
112+
else
113+
_->raise_error(:not_exsit,"#{login} not found")
105114
end
106115
end
107116

108117
defpaged_followings(_root,~m(login filter)a,%{context:%{cur_user:cur_user}})do
109118
with{:ok,user_id}<-Accounts.get_userid_and_cache(login)do
110119
Accounts.paged_followings(%User{id:user_id},filter,cur_user)
120+
else
121+
_->raise_error(:not_exsit,"#{login} not found")
111122
end
112123
end
113124

114125
defpaged_followings(_root,~m(login filter)a,_info)do
115126
with{:ok,user_id}<-Accounts.get_userid_and_cache(login)do
116127
Accounts.paged_followings(%User{id:user_id},filter)
128+
else
129+
_->raise_error(:not_exsit,"#{login} not found")
117130
end
118131
end
119132

120-
defpaged_upvoted_articles(_root,~m(user_login filter)a,_info)do
121-
with{:ok,user_id}<-Accounts.get_userid_and_cache(user_login)do
133+
defpaged_upvoted_articles(_root,~m(login filter)a,_info)do
134+
with{:ok,user_id}<-Accounts.get_userid_and_cache(login)do
122135
Accounts.paged_upvoted_articles(user_id,filter)
136+
else
137+
_->raise_error(:not_exsit,"#{login} not found")
123138
end
124139
end
125140

@@ -145,15 +160,17 @@ defmodule GroupherServerWeb.Resolvers.Accounts do
145160
Accounts.remove_from_collect(thread,article_id,folder_id,cur_user)
146161
end
147162

148-
defpaged_collect_folders(_root,~m(user_login filter)a,%{context:%{cur_user:cur_user}})do
149-
with{:ok,user_id}<-Accounts.get_userid_and_cache(user_login)do
163+
defpaged_collect_folders(_root,~m(login filter)a,%{context:%{cur_user:cur_user}})do
164+
with{:ok,user_id}<-Accounts.get_userid_and_cache(login)do
150165
Accounts.paged_collect_folders(user_id,filter,cur_user)
151166
end
152167
end
153168

154-
defpaged_collect_folders(_root,~m(user_login filter)a,_info)do
155-
with{:ok,user_id}<-Accounts.get_userid_and_cache(user_login)do
169+
defpaged_collect_folders(_root,~m(login filter)a,_info)do
170+
with{:ok,user_id}<-Accounts.get_userid_and_cache(login)do
156171
Accounts.paged_collect_folders(user_id,filter)
172+
else
173+
_->raise_error(:not_exsit,"#{login} not found")
157174
end
158175
end
159176

‎lib/groupher_server_web/schema/account/account_mutations.ex‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,15 +25,15 @@ defmodule GroupherServerWeb.Schema.Account.Mutations do
2525

2626
@doc"follow a user"
2727
field:follow,:userdo
28-
arg(:user_id,non_null(:id))
28+
arg(:login,non_null(:string))
2929

3030
middleware(M.Authorize,:login)
3131
resolve(&R.Accounts.follow/3)
3232
end
3333

3434
@doc"undo follow to a user"
3535
field:undo_follow,:userdo
36-
arg(:user_id,non_null(:id))
36+
arg(:login,non_null(:string))
3737

3838
middleware(M.Authorize,:login)
3939
resolve(&R.Accounts.undo_follow/3)

‎lib/groupher_server_web/schema/account/account_queries.ex‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,15 +63,15 @@ defmodule GroupherServerWeb.Schema.Account.Queries do
6363

6464
@desc"get paged upvoted articles"
6565
field:paged_upvoted_articles,:paged_articlesdo
66-
arg(:user_login,non_null(:string))
66+
arg(:login,non_null(:string))
6767
arg(:filter,:upvoted_articles_filter)
6868

6969
resolve(&R.Accounts.paged_upvoted_articles/3)
7070
end
7171

7272
@desc"get paged collect folders of a user"
7373
field:paged_collect_folders,:paged_collect_foldersdo
74-
arg(:user_login,non_null(:string))
74+
arg(:login,non_null(:string))
7575
arg(:filter,non_null(:collect_folders_filter))
7676

7777
middleware(M.PageSizeProof)

‎test/groupher_server_web/mutation/accounts/fans_test.exs‎

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -17,65 +17,71 @@ defmodule GroupherServer.Test.Mutation.Accounts.Fans do
1717
aliasAccounts.User
1818

1919
@query"""
20-
mutation($userId: ID!) {
21-
follow(userId: $userId) {
20+
mutation($login: String!) {
21+
follow(login: $login) {
2222
id
2323
viewerHasFollowed
2424
}
2525
}
2626
"""
27+
@tag:wip2
2728
test"login user can follow other user",~m(user_conn)ado
2829
{:ok,user2}=db_insert(:user)
2930

30-
variables=%{userId:user2.id}
31+
variables=%{login:user2.login}
3132
followed=user_conn|>mutation_result(@query,variables,"follow")
3233

3334
assertfollowed["id"]==to_string(user2.id)
34-
assertfollowed["viewerHasFollowed"]==true
35+
assertfollowed["viewerHasFollowed"]==false
3536
end
3637

38+
@tag:wip2
3739
test"login user follow other user twice fails",~m(user_conn)ado
3840
{:ok,user2}=db_insert(:user)
3941

40-
variables=%{userId:user2.id}
42+
variables=%{login:user2.login}
4143
followed=user_conn|>mutation_result(@query,variables,"follow")
4244
assertfollowed["id"]==to_string(user2.id)
4345

4446
assertuser_conn|>mutation_get_error?(@query,variables,ecode(:already_did))
4547
end
4648

49+
@tag:wip2
4750
test"login user follow self fails",~m(user_conn user)ado
48-
variables=%{userId:user.id}
51+
variables=%{login:user.login}
4952
assertuser_conn|>mutation_get_error?(@query,variables,ecode(:self_conflict))
5053
end
5154

55+
@tag:wip2
5256
test"login user follow no-exsit cuser fails",~m(user_conn)ado
53-
variables=%{userId:non_exsit_id()}
57+
variables=%{login:non_exsit_login()}
5458

5559
assertuser_conn|>mutation_get_error?(@query,variables,ecode(:not_exsit))
5660
end
5761

62+
@tag:wip2
5863
test"unauth user follow other user fails",~m(guest_conn)ado
5964
{:ok,user2}=db_insert(:user)
60-
variables=%{userId:user2.id}
65+
variables=%{login:user2.login}
6166
assertguest_conn|>mutation_get_error?(@query,variables,ecode(:account_login))
6267
end
6368

6469
@query"""
65-
mutation($userId: ID!) {
66-
undoFollow(userId: $userId) {
70+
mutation($login: String!) {
71+
undoFollow(login: $login) {
6772
id
6873
}
6974
}
7075
"""
76+
@tag:wip2
7177
test"login user can undo follow other user",~m(user_conn user)ado
7278
{:ok,user2}=db_insert(:user)
7379
{:ok,_followeer}=user|>Accounts.follow(user2)
7480

7581
{:ok,found}=User|>ORM.find(user2.id,preload::followers)
7682
assertfound|>Map.get(:followers)|>length==1
7783

78-
variables=%{userId:user2.id}
84+
variables=%{login:user2.login}
7985
result=user_conn|>mutation_result(@query,variables,"undoFollow")
8086

8187
assertresult["id"]==to_string(user2.id)

‎test/groupher_server_web/query/accounts/colleced_articles_test.exs‎

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ defmodule GroupherServer.Test.Query.Accounts.CollectedArticles do
1717
end
1818

1919
@query"""
20-
query($userLogin: String!, $filter: CollectFoldersFilter!) {
21-
pagedCollectFolders(userLogin: $userLogin, filter: $filter) {
20+
query($login: String!, $filter: CollectFoldersFilter!) {
21+
pagedCollectFolders(login: $login, filter: $filter) {
2222
entries {
2323
id
2424
title
@@ -38,7 +38,7 @@ defmodule GroupherServer.Test.Query.Accounts.CollectedArticles do
3838
{:ok,_folder}=Accounts.create_collect_folder(%{title:"test folder"},user)
3939
{:ok,_folder}=Accounts.create_collect_folder(%{title:"test folder2"},user)
4040

41-
variables=%{userLogin:user.login,filter:%{page:1,size:20}}
41+
variables=%{login:user.login,filter:%{page:1,size:20}}
4242
results=user_conn|>query_result(@query,variables,"pagedCollectFolders")
4343
results2=guest_conn|>query_result(@query,variables,"pagedCollectFolders")
4444

@@ -63,11 +63,11 @@ defmodule GroupherServer.Test.Query.Accounts.CollectedArticles do
6363
{:ok,_folder}=Accounts.add_to_collect(:job,job.id,folder_post.id,user)
6464
{:ok,_folder}=Accounts.add_to_collect(:job,job2.id,folder_job.id,user)
6565

66-
variables=%{userLogin:user.login,filter:%{thread:"JOB",page:1,size:20}}
66+
variables=%{login:user.login,filter:%{thread:"JOB",page:1,size:20}}
6767
results=guest_conn|>query_result(@query,variables,"pagedCollectFolders")
6868
assertresults["totalCount"]==2
6969

70-
variables=%{userLogin:user.login,filter:%{thread:"POST",page:1,size:20}}
70+
variables=%{login:user.login,filter:%{thread:"POST",page:1,size:20}}
7171
results=guest_conn|>query_result(@query,variables,"pagedCollectFolders")
7272
assertresults["totalCount"]==1
7373
end
@@ -77,7 +77,7 @@ defmodule GroupherServer.Test.Query.Accounts.CollectedArticles do
7777
{:ok,_folder}=Accounts.create_collect_folder(%{title:"test folder",private:true},user)
7878
{:ok,_folder}=Accounts.create_collect_folder(%{title:"test folder2"},user)
7979

80-
variables=%{userLogin:user.login,filter:%{page:1,size:20}}
80+
variables=%{login:user.login,filter:%{page:1,size:20}}
8181
results=user_conn|>query_result(@query,variables,"pagedCollectFolders")
8282
results2=guest_conn|>query_result(@query,variables,"pagedCollectFolders")
8383

‎test/groupher_server_web/query/accounts/upvoteed_articles_test.exs‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ defmodule GroupherServer.Test.Query.Accounts.UpvotedArticles do
1919

2020
describe"[accounts upvoted posts]"do
2121
@query"""
22-
query($userLogin: String!, $filter: UpvotedArticlesFilter!) {
23-
pagedUpvotedArticles(userLogin: $userLogin, filter: $filter) {
22+
query($login: String!, $filter: UpvotedArticlesFilter!) {
23+
pagedUpvotedArticles(login: $login, filter: $filter) {
2424
entries {
2525
id
2626
title
@@ -40,7 +40,7 @@ defmodule GroupherServer.Test.Query.Accounts.UpvotedArticles do
4040
end)
4141

4242
variables=%{
43-
userLogin:user.login,
43+
login:user.login,
4444
filter:%{thread:"POST",page:1,size:20}
4545
}
4646

@@ -64,7 +64,7 @@ defmodule GroupherServer.Test.Query.Accounts.UpvotedArticles do
6464
end)
6565

6666
variables=%{
67-
userLogin:user.login,
67+
login:user.login,
6868
filter:%{page:1,size:20}
6969
}
7070

‎test/support/assert_helper.ex‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ defmodule GroupherServer.Test.AssertHelper do
1919
used for non exsit id
2020
"""
2121
defnon_exsit_id,do:15_982_398_614
22+
defnon_exsit_login,do:"15_982_398_614"
2223
# def page_size, do: @page_size
2324

2425
defis_error?(reason,code)whenis_list(reason)andis_atom(code)do

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp