@@ -48,25 +48,28 @@ defmodule GroupherServerWeb.Schema.Helper.Queries do
4848
4949 post, page_posts ...
5050 """
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 ) )
5759
58- resolve ( & R.CMS . read_article / 3 )
59- end
60+ resolve ( & R.CMS . read_article / 3 )
61+ end
6062
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" ) ) )
6567
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
6871 end
69- end
72+ end )
7073 end
7174
7275 defmacro article_reacted_users_query ( action , resolver ) do
0 commit comments