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.

Commit1d8331e

Browse files
committed
user has default subscribed_communities
1 parentf428a9c commit1d8331e

File tree

6 files changed

+57
-15
lines changed

6 files changed

+57
-15
lines changed

‎config/config.exs‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,9 @@ config :mastani_server, :general,
3737
inner_page_size:20,
3838
# today is not include
3939
community_contribute_days:7,
40-
user_contribute_months:6
40+
user_contribute_months:6,
41+
default_subscribed_communities:12
42+
4143

4244
import_config"#{Mix.env()}.exs"
4345

‎lib/mastani_server/accounts/accounts.ex‎

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
defmoduleMastaniServer.Accountsdo
22
importEcto.Query,warn:false
3-
importHelper.Utils,only:[done:1]
3+
importHelper.Utils,only:[done:1,get_config:2]
44

55
aliasMastaniServer.Repo
66
aliasEcto.Multi
@@ -9,6 +9,8 @@ defmodule MastaniServer.Accounts do
99
aliasMastaniServer.Accounts.{User,GithubUser}
1010
aliasHelper.{ORM,Guardian,QueryBuilder}
1111

12+
@default_subscribed_communitiesget_config(:general,:default_subscribed_communities)
13+
1214
@doc"""
1315
github_signin steps:
1416
------------------
@@ -31,7 +33,13 @@ defmodule MastaniServer.Accounts do
3133
end
3234
end
3335

36+
defdefault_subscribed_communities(%{page:_,size:_}=filter)do
37+
filter=Map.merge(filter,%{size:@default_subscribed_communities})
38+
CMS.Community|>ORM.find_all(filter)
39+
end
40+
3441
defsubscribed_communities(%User{id:id},%{page:page,size:size}=filter)do
42+
IO.inspect"the fuck ..."
3543
CMS.CommunitySubscriber
3644
|>where([c],c.user_id==^id)
3745
|>join(:inner,[c],ccinassoc(c,:community))

‎lib/mastani_server_web/resolvers/accounts_resolver.ex‎

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
defmoduleMastaniServerWeb.Resolvers.Accountsdo
2-
importShortMaps
2+
#import ShortMaps
33

44
aliasMastaniServer.Accounts
55
aliasHelper.ORM
@@ -13,10 +13,18 @@ defmodule MastaniServerWeb.Resolvers.Accounts do
1313
Accounts.github_signin(github_user)
1414
end
1515

16-
defsubscribed_communities(_root,~m(user_id filter)a,_info)do
16+
defsubscribed_communities(_root,%{user_id:"",filter:filter},_info)do
17+
Accounts.default_subscribed_communities(filter)
18+
end
19+
20+
defsubscribed_communities(_root,%{user_id:user_id,filter:filter},_info)do
1721
Accounts.subscribed_communities(%Accounts.User{id:user_id},filter)
1822
end
1923

24+
defsubscribed_communities(_root,%{filter:filter},_info)do
25+
Accounts.default_subscribed_communities(filter)
26+
end
27+
2028
# def create_user(_root, args, %{context: %{cur_user: %{root: true}}}) do
2129
# Accounts.create_user2(args)
2230
# end

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,8 @@ defmodule MastaniServerWeb.Schema.Account.Queries do
3232

3333
@desc"anyone can get anyone's subscribed communities"
3434
field:subscribed_communities,:paged_communitiesdo
35-
arg(:user_id,non_null(:id))
35+
# arg(:user_id, non_null(:id))
36+
arg(:user_id,:id)
3637
arg(:filter,non_null(:paged_filter))
3738

3839
middleware(M.PageSizeProof)

‎lib/mastani_server_web/schema/account/account_types.ex‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ defmodule MastaniServerWeb.Schema.Account.Types do
4141
field(:inserted_at,:datetime)
4242
field(:updated_at,:datetime)
4343
field(:from_github,:boolean)
44-
field(:github,:github_profile,resolve:dataloader(Accounts,:github_profile))
44+
field(:github_profile,:github_profile,resolve:dataloader(Accounts,:github_profile))
4545

4646
field:subscribed_communities,list_of(:community)do
4747
arg(:filter,:members_filter)

‎test/mastani_server_web/query/account_test.exs‎

Lines changed: 32 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,17 @@
11
defmoduleMastaniServer.Test.Query.AccountTestdo
22
# use MastaniServer.DataCase
33
useMastaniServerWeb.ConnCase,async:true
4+
5+
importHelper.Utils,only:[get_config:2]
46
importMastaniServer.Factory
57
importMastaniServer.Test.ConnSimulator
68
importMastaniServer.Test.AssertHelper
79
importShortMaps
810

911
aliasMastaniServer.{Accounts,CMS}
1012

13+
@default_subscribed_communitiesget_config(:general,:default_subscribed_communities)
14+
1115
setupdo
1216
{:ok,user}=db_insert(:user)
1317
guest_conn=simu_conn(:guest)
@@ -84,8 +88,8 @@ defmodule MastaniServer.Test.Query.AccountTest do
8488
end
8589

8690
@query"""
87-
query subscribedCommunities($userId: ID!, $filter: PagedFilter!) {
88-
subscribedCommunities(userId: $userId,filter: $filter) {
91+
query subscribedCommunities($filter: PagedFilter!) {
92+
subscribedCommunities(filter: $filter) {
8993
entries {
9094
title
9195
}
@@ -96,18 +100,37 @@ defmodule MastaniServer.Test.Query.AccountTest do
96100
}
97101
}
98102
"""
99-
test"gest user can get paged subscrubed communities",~m(guest_conn user)ado
100-
{:ok,communities}=db_insert_multi(:community,25)
103+
test"gest user can get pageddefaultsubscrubed communities",~m(guest_conn)ado
104+
{:ok,_}=db_insert_multi(:community,25)
101105

102-
Enum.each(
103-
communities,
104-
&CMS.subscribe_community(%Accounts.User{id:user.id},%CMS.Community{id:&1.id})
105-
)
106+
variables=%{filter:%{page:1,size:10}}
107+
results=guest_conn|>query_result(@query,variables,"subscribedCommunities")
108+
109+
assertresults|>is_valid_pagination?
110+
assert@default_subscribed_communities==results["pageSize"]
111+
end
112+
113+
@query"""
114+
query subscribedCommunities($userId: String, $filter: PagedFilter!) {
115+
subscribedCommunities(userId: $userId, filter: $filter) {
116+
entries {
117+
title
118+
}
119+
totalCount
120+
totalPages
121+
pageSize
122+
pageNumber
123+
}
124+
}
125+
"""
126+
test"gest user can get paged default subscrubed communities with empty args",~m(guest_conn)ado
127+
{:ok,_}=db_insert_multi(:community,25)
106128

107-
variables=%{userId:user.id,filter:%{page:1,size:10}}
129+
variables=%{userId:"",filter:%{page:1,size:10}}
108130
results=guest_conn|>query_result(@query,variables,"subscribedCommunities")
109131

110132
assertresults|>is_valid_pagination?
133+
assert@default_subscribed_communities==results["pageSize"]
111134
end
112135
end
113136
end

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp