@@ -48,25 +48,28 @@ defmodule GroupherServerWeb.Schema.Helper.Queries do
48
48
49
49
post, page_posts ...
50
50
"""
51
- defmacro article_queries ( thread ) do
52
- quote do
53
- @ desc unquote ( "get#{ thread } by id" )
54
- field unquote ( thread ) , non_null ( unquote ( thread ) ) do
55
- arg ( :id , non_null ( :id ) )
56
- arg ( :thread , unquote ( :"#{ thread } _thread" ) , default_value: unquote ( thread ) )
51
+ defmacro article_queries ( ) do
52
+ @ article_threads
53
+ |> Enum . map ( fn thread ->
54
+ quote do
55
+ @ desc unquote ( "get#{ thread } by id" )
56
+ field unquote ( thread ) , non_null ( unquote ( thread ) ) do
57
+ arg ( :id , non_null ( :id ) )
58
+ arg ( :thread , unquote ( :"#{ thread } _thread" ) , default_value: unquote ( thread ) )
57
59
58
- resolve ( & R.CMS . read_article / 3 )
59
- end
60
+ resolve ( & R.CMS . read_article / 3 )
61
+ end
60
62
61
- @ desc unquote ( "get paged#{ plural ( thread ) } " )
62
- field unquote ( :"paged_#{ plural ( thread ) } " ) , unquote ( :"paged_#{ plural ( thread ) } " ) do
63
- arg ( :thread , unquote ( :"#{ thread } _thread" ) , default_value: unquote ( thread ) )
64
- arg ( :filter , non_null ( unquote ( :"paged_#{ plural ( thread ) } _filter" ) ) )
63
+ @ desc unquote ( "get paged#{ plural ( thread ) } " )
64
+ field unquote ( :"paged_#{ plural ( thread ) } " ) , unquote ( :"paged_#{ plural ( thread ) } " ) do
65
+ arg ( :thread , unquote ( :"#{ thread } _thread" ) , default_value: unquote ( thread ) )
66
+ arg ( :filter , non_null ( unquote ( :"paged_#{ plural ( thread ) } _filter" ) ) )
65
67
66
- middleware ( M.PageSizeProof , default_sort: :desc_active )
67
- resolve ( & R.CMS . paged_articles / 3 )
68
+ middleware ( M.PageSizeProof , default_sort: :desc_active )
69
+ resolve ( & R.CMS . paged_articles / 3 )
70
+ end
68
71
end
69
- end
72
+ end )
70
73
end
71
74
72
75
defmacro article_reacted_users_query ( action , resolver ) do