@@ -11,13 +11,15 @@ defmodule GroupherServer.CMS.Delegate.ArticleCURD do
1111 alias GroupherServer . { Accounts , CMS , Delivery , Email , Repo , Statistics }
1212
1313 alias Accounts.User
14- alias CMS . { Author , Community , Delegate , Tag , Topic }
14+ alias CMS . { Author , Community , Embeds , Delegate , Tag , Topic }
1515
1616 alias Delegate.ArticleOperation
1717 alias Helper . { Later , ORM , QueryBuilder }
1818
1919 alias Ecto.Multi
2020
21+ @ default_article_meta Embeds.ArticleMeta . default_meta ( )
22+
2123 @ doc """
2224 login user read cms content by add views count and viewer record
2325 """
@@ -69,14 +71,11 @@ defmodule GroupherServer.CMS.Delegate.ArticleCURD do
6971 { :ok , community } <- ORM . find ( Community , cid ) do
7072 Multi . new ( )
7173 |> Multi . run ( :create_content , fn _ , _ ->
72- exec_create_content ( action . target , attrs , author , community )
74+ do_create_content ( action . target , attrs , author , community )
7375 end )
7476 |> Multi . run ( :set_community , fn _ , % { create_content: content } ->
7577 ArticleOperation . set_community ( community , thread , content . id )
7678 end )
77- |> Multi . run ( :set_meta , fn _ , % { create_content: content } ->
78- ArticleOperation . set_meta ( thread , content . id )
79- end )
8079 |> Multi . run ( :set_topic , fn _ , % { create_content: content } ->
8180 exec_set_topic ( thread , content . id , attrs )
8281 end )
@@ -130,8 +129,8 @@ defmodule GroupherServer.CMS.Delegate.ArticleCURD do
130129 |> Multi . run ( :update_content , fn _ , _ ->
131130 ORM . update ( content , args )
132131 end )
133- |> Multi . run ( :update_meta , fn _ , % { update_content: update_content } ->
134- ArticleOperation . update_meta ( update_content , :is_edited )
132+ |> Multi . run ( :update_edit_status , fn _ , % { update_content: update_content } ->
133+ ArticleOperation . update_edit_status ( update_content )
135134 end )
136135 |> Multi . run ( :update_tag , fn _ , _ ->
137136 # TODO: move it to ArticleOperation moudel
@@ -400,10 +399,6 @@ defmodule GroupherServer.CMS.Delegate.ArticleCURD do
400399 { :error , [ message: "set community" , code: ecode ( :create_fails ) ] }
401400 end
402401
403- defp create_content_result ( { :error , :set_meta , _result , _steps } ) do
404- { :error , [ message: "set meta info" , code: ecode ( :create_fails ) ] }
405- end
406-
407402 defp create_content_result ( { :error , :set_community_flag , _result , _steps } ) do
408403 { :error , [ message: "set community flag" , code: ecode ( :create_fails ) ] }
409404 end
@@ -420,7 +415,7 @@ defmodule GroupherServer.CMS.Delegate.ArticleCURD do
420415 { :error , [ message: "log action" , code: ecode ( :create_fails ) ] }
421416 end
422417
423- defp update_content_result ( { :ok , % { update_meta : result } } ) , do: { :ok , result }
418+ defp update_content_result ( { :ok , % { update_edit_status : result } } ) , do: { :ok , result }
424419 defp update_content_result ( { :error , :update_content , result , _steps } ) , do: { :error , result }
425420 defp update_content_result ( { :error , :update_tag , result , _steps } ) , do: { :error , result }
426421
@@ -429,12 +424,13 @@ defmodule GroupherServer.CMS.Delegate.ArticleCURD do
429424 defp content_id ( :repo , id ) , do: % { repo_id: id }
430425
431426 # for create content step in Multi.new
432- defp exec_create_content ( target , attrs , % Author { id: aid } , % Community { id: cid } ) do
427+ defp do_create_content ( target , attrs , % Author { id: aid } , % Community { id: cid } ) do
433428 target
434429 |> struct ( )
435430 |> target . changeset ( attrs )
436431 |> Ecto.Changeset . put_change ( :author_id , aid )
437432 |> Ecto.Changeset . put_change ( :origial_community_id , integerfy ( cid ) )
433+ |> Ecto.Changeset . put_embed ( :meta , @ default_article_meta )
438434 |> Repo . insert ( )
439435 end
440436
0 commit comments