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.

Commit9be343c

Browse files
committed
chore(clean-up): move domain query to helper
1 parent291fcd7 commit9be343c

File tree

4 files changed

+37
-33
lines changed

4 files changed

+37
-33
lines changed

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

Lines changed: 2 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ defmodule GroupherServer.CMS.Delegate.ArticleCURD do
9090

9191
with{:ok,info}<-match(thread)do
9292
info.model
93-
|>domain_filter_query(filter)
93+
|>QueryBuilder.domain_uery(filter)
9494
|>QueryBuilder.filter_pack(Map.merge(filter,%{mark_delete:false}))
9595
|>ORM.paginater(~m(page size)a)
9696
|>add_pin_articles_ifneed(info.model,filter)
@@ -103,7 +103,7 @@ defmodule GroupherServer.CMS.Delegate.ArticleCURD do
103103

104104
with{:ok,info}<-match(thread)do
105105
info.model
106-
|>domain_filter_query(filter)
106+
|>QueryBuilder.domain_uery(filter)
107107
|>QueryBuilder.filter_pack(Map.merge(filter,%{mark_delete:false}))
108108
|>ORM.paginater(~m(page size)a)
109109
|>add_pin_articles_ifneed(info.model,filter)
@@ -328,30 +328,6 @@ defmodule GroupherServer.CMS.Delegate.ArticleCURD do
328328
ORM.find_by(Author,user_id:changeset.data.user_id)
329329
end
330330

331-
defpdomain_filter_query(CMS.Repo=queryable,filter)do
332-
Enum.reduce(filter,queryable,fn
333-
{:sort,:most_github_star},queryable->
334-
queryable|>order_by(desc::star_count)
335-
336-
{:sort,:most_github_fork},queryable->
337-
queryable|>order_by(desc::fork_count)
338-
339-
{:sort,:most_github_watch},queryable->
340-
queryable|>order_by(desc::watch_count)
341-
342-
{:sort,:most_github_pr},queryable->
343-
queryable|>order_by(desc::prs_count)
344-
345-
{:sort,:most_github_issue},queryable->
346-
queryable|>order_by(desc::issues_count)
347-
348-
{_,_},queryable->
349-
queryable
350-
end)
351-
end
352-
353-
defpdomain_filter_query(queryable,_filter),do:queryable
354-
355331
defpadd_pin_articles_ifneed(articles,querable,%{community:community}=filter)do
356332
thread=module_to_thread(querable)
357333

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -277,7 +277,6 @@ defmodule GroupherServer.CMS.Delegate.CommunityCURD do
277277
|>join(:inner,[member],uinassoc(member,:user))
278278
|>select([member,c,u],u)
279279
|>QueryBuilder.filter_pack(filters)
280-
# |> QueryBuilder.load_inner_users(filters)
281280
|>ORM.paginater(~m(page size)a)
282281
|>done()
283282
end

‎lib/groupher_server/cms/helper/loader.ex‎

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,8 +106,12 @@ defmodule GroupherServer.CMS.Helper.Loader do
106106
end
107107

108108
defquery({"posts_comments_likes",PostCommentLike},%{filter:_filter}=args)do
109-
PostCommentLike
110-
|>QueryBuilder.members_pack(args)
109+
PostCommentLike|>members_pack(args)
110+
end
111+
112+
# TODO: remove it
113+
defmembers_pack(queryable,%{filter:filter})do
114+
queryable|>QueryBuilder.load_inner_users(filter)
111115
end
112116

113117
# def query({"articles_comments_upvotes", ArticleCommentUpvote}, %{

‎lib/helper/query_builder.ex‎

Lines changed: 29 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ defmodule Helper.QueryBuilder do
22
# alias GroupherServer.Repo
33
importEcto.Query,warn:false
44

5+
aliasGroupherServer.CMS
6+
57
@doc"""
68
handle [3] situation:
79
@@ -12,10 +14,6 @@ defmodule Helper.QueryBuilder do
1214
bewteen [THREAD] and [REACT]
1315
[REACT]; upvotes, stars, watchs ...
1416
"""
15-
defmembers_pack(queryable,%{filter:filter})do
16-
queryable|>load_inner_users(filter)
17-
end
18-
1917
defload_inner_users(queryable,filter)do
2018
queryable
2119
|>join(:inner,[f],uinassoc(f,:user))
@@ -199,4 +197,31 @@ defmodule Helper.QueryBuilder do
199197
queryable
200198
end)
201199
end
200+
201+
@doc"""
202+
handle spec needs for CMS query filter
203+
"""
204+
defdomain_query(CMS.Repo=queryable,filter)do
205+
Enum.reduce(filter,queryable,fn
206+
{:sort,:most_github_star},queryable->
207+
queryable|>order_by(desc::star_count)
208+
209+
{:sort,:most_github_fork},queryable->
210+
queryable|>order_by(desc::fork_count)
211+
212+
{:sort,:most_github_watch},queryable->
213+
queryable|>order_by(desc::watch_count)
214+
215+
{:sort,:most_github_pr},queryable->
216+
queryable|>order_by(desc::prs_count)
217+
218+
{:sort,:most_github_issue},queryable->
219+
queryable|>order_by(desc::issues_count)
220+
221+
{_,_},queryable->
222+
queryable
223+
end)
224+
end
225+
226+
defdomain_query(queryable,_filter),do:queryable
202227
end

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp