@@ -2,7 +2,7 @@ defmodule GroupherServerWeb.Schema.Helper.Queries do
22 @ moduledoc """
33 common fields
44 """
5- import Helper.Utils , only: [ get_config: 2 ]
5+ import Helper.Utils , only: [ get_config: 2 , plural: 1 ]
66
77 alias GroupherServerWeb.Middleware , as: M
88 alias GroupherServerWeb.Resolvers , as: R
@@ -14,8 +14,9 @@ defmodule GroupherServerWeb.Schema.Helper.Queries do
1414 @ article_threads
1515 |> Enum . map ( fn thread ->
1616 quote do
17- @ desc unquote ( "paged published #{ thread } s" )
18- field unquote ( :"paged_published_#{ thread } s" ) , unquote ( :"paged_#{ thread } s" ) do
17+ @ desc unquote ( "paged published #{ plural ( thread ) } " )
18+ field unquote ( :"paged_published_#{ plural ( thread ) } " ) ,
19+ unquote ( :"paged_#{ plural ( thread ) } " ) do
1920 arg ( :login , non_null ( :string ) )
2021 arg ( :filter , non_null ( :paged_filter ) )
2122 arg ( :thread , unquote ( :"#{ thread } _thread" ) , default_value: unquote ( thread ) )
@@ -32,7 +33,7 @@ defmodule GroupherServerWeb.Schema.Helper.Queries do
3233 |> Enum . map ( fn thread ->
3334 quote do
3435 @ desc unquote ( "get #{ thread } by id" )
35- field unquote ( :"search_#{ thread } s " ) , unquote ( :"paged_#{ thread } s " ) do
36+ field unquote ( :"search_#{ plural ( thread ) } " ) , unquote ( :"paged_#{ plural ( thread ) } " ) do
3637 arg ( :title , non_null ( :string ) )
3738 arg ( :thread , unquote ( :"#{ thread } _thread" ) , default_value: unquote ( thread ) )
3839
@@ -47,25 +48,28 @@ defmodule GroupherServerWeb.Schema.Helper.Queries do
4748
4849 post, page_posts ...
4950 """
50- defmacro article_queries ( thread ) do
51- quote do
52- @ desc unquote ( "get #{ thread } by id" )
53- field unquote ( thread ) , non_null ( unquote ( thread ) ) do
54- arg ( :id , non_null ( :id ) )
55- 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 ) )
5659
57- resolve ( & R.CMS . read_article / 3 )
58- end
60+ resolve ( & R.CMS . read_article / 3 )
61+ end
5962
60- @ desc unquote ( "get paged #{ thread } s " )
61- field unquote ( :"paged_#{ thread } s " ) , unquote ( :"paged_#{ thread } s " ) do
62- arg ( :thread , unquote ( :"#{ thread } _thread" ) , default_value: unquote ( thread ) )
63- arg ( :filter , non_null ( unquote ( :"paged_#{ thread } s_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 " ) ) )
6467
65- middleware ( M.PageSizeProof , default_sort: :desc_active )
66- resolve ( & R.CMS . paged_articles / 3 )
68+ middleware ( M.PageSizeProof , default_sort: :desc_active )
69+ resolve ( & R.CMS . paged_articles / 3 )
70+ end
6771 end
68- end
72+ end )
6973 end
7074
7175 defmacro article_reacted_users_query ( action , resolver ) do
0 commit comments