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.

Commit8cd6ee8

Browse files
committed
refactor: move subscribe count & viewer_has logic
1 parent0766085 commit8cd6ee8

File tree

6 files changed

+23
-26
lines changed

6 files changed

+23
-26
lines changed

‎lib/groupher_server/cms/cms.ex‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ defmodule GroupherServer.CMS do
3232

3333
# Community CURD: editors, thread, tag
3434
defdelegateread_community(args),to:CommunityCURD
35+
defdelegateread_community(args,user),to:CommunityCURD
3536
defdelegatecreate_community(args),to:CommunityCURD
3637
defdelegateupdate_community(id,args),to:CommunityCURD
3738
# >> editor ..

‎lib/groupher_server/cms/community.ex‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,8 @@ defmodule GroupherServer.CMS.Community do
4949
field(:editors_count,:integer,default:0)
5050
field(:subscribers_count,:integer,default:0)
5151

52+
field(:viewer_has_subscribed,:boolean,default:false,virtual:true)
53+
5254
has_one(:wiki,CommunityWiki)
5355
has_one(:cheatsheet,CommunityCheatsheet)
5456

‎lib/groupher_server/cms/delegates/community_curd.ex‎

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,22 +27,28 @@ defmodule GroupherServer.CMS.Delegate.CommunityCURD do
2727
@default_metaEmbeds.CommunityMeta.default_meta()
2828
@article_threadsget_config(:article,:article_threads)
2929

30+
defread_community(clauses,user),do:read_community(clauses)|>viewer_has_states(user)
3031
defread_community(%{id:id}),do:ORM.read(Community,id,inc::views)
32+
defread_community(%{raw:raw}=clauses),do:do_read_community(clauses,raw)
33+
defread_community(%{title:title}=clauses),do:do_read_community(clauses,title)
3134

32-
defread_community(%{raw:raw}=clauses)do
35+
defpdo_read_community(clauses,aka)do
3336
caseORM.read_by(Community,clauses,inc::views)do
3437
{:ok,community}->{:ok,community}
35-
{:error,_}->ORM.find_by(Community,aka:raw)
38+
{:error,_}->ORM.find_by(Community,aka:aka)
3639
end
3740
end
3841

39-
defread_community(%{title:title}=clauses)do
40-
caseORM.read_by(Community,clauses,inc::views)do
41-
{:ok,community}->{:ok,community}
42-
{:error,_}->ORM.find_by(Community,aka:title)
43-
end
42+
defpviewer_has_states({:ok,community},%User{id:user_id})do
43+
viewer_has_states=%{
44+
viewer_has_subscribed:user_idincommunity.meta.subscribed_user_ids
45+
}
46+
47+
{:ok,Map.merge(community,viewer_has_states)}
4448
end
4549

50+
defpviewer_has_states({:error,reason},_user),do:{:error,reason}
51+
4652
@doc"""
4753
create a community
4854
"""

‎lib/groupher_server/cms/embeds/community_meta.ex‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,5 @@ defmodule GroupherServer.CMS.Embeds.CommunityMeta do
5555
defchangeset(struct,params)do
5656
struct
5757
|>cast(params,@optional_fields)
58-
|>IO.inspect(label:"community meta casting?")
5958
end
6059
end

‎lib/groupher_server_web/resolvers/cms_resolver.ex‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,13 @@ defmodule GroupherServerWeb.Resolvers.CMS do
1414
# #######################
1515
# community ..
1616
# #######################
17+
defcommunity(_root,args,%{context:%{cur_user:user}})do
18+
caseEnum.empty?(args)do
19+
false->CMS.read_community(args,user)
20+
true->{:error,"please provide community id or title or raw"}
21+
end
22+
end
23+
1724
defcommunity(_root,args,_info)do
1825
caseEnum.empty?(args)do
1926
false->CMS.read_community(args)

‎lib/groupher_server_web/schema/cms/cms_types.ex‎

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -273,24 +273,6 @@ defmodule GroupherServerWeb.Schema.CMS.Types do
273273
resolve(dataloader(CMS,:subscribers))
274274
end
275275

276-
# TODO: remove
277-
field:subscribers_count,:integerdo
278-
arg(:count,:count_type,default_value::count)
279-
arg(:type,:community_type,default_value::community)
280-
resolve(dataloader(CMS,:subscribers))
281-
middleware(M.ConvertToInt)
282-
end
283-
284-
# TODO: remove
285-
field:viewer_has_subscribed,:booleando
286-
arg(:viewer_did,:viewer_did_type,default_value::viewer_did)
287-
288-
middleware(M.Authorize,:login)
289-
middleware(M.PutCurrentUser)
290-
resolve(dataloader(CMS,:subscribers))
291-
middleware(M.ViewerDidConvert)
292-
end
293-
294276
field:editors,list_of(:user)do
295277
arg(:filter,:members_filter)
296278
middleware(M.PageSizeProof)

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp