Skip to content
This repository was archived by the owner on Nov 8, 2022. It is now read-only.

Commit b2e5b23

Browse files
committed
chore: basic thought
1 parent a6128c5 commit b2e5b23

File tree

3 files changed

+69
-0
lines changed

3 files changed

+69
-0
lines changed
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
defmodule GroupherServer.CMS.Model.Embeds.BlockTaskRunner do
2+
@moduledoc """
3+
general article meta info for article-like content, like post, job, works ...
4+
"""
5+
use Ecto.Schema
6+
use Accessible
7+
import Ecto.Changeset
8+
9+
alias GroupherServer.CMS.Model.Embeds
10+
11+
@optional_fields ~w(bi_link_tasks mention_user_tasks)a
12+
13+
@doc "for test usage"
14+
def default_meta() do
15+
%{
16+
bi_link_tasks: [],
17+
mention_user_tasks: []
18+
}
19+
end
20+
21+
embedded_schema do
22+
embeds_many(:cite_tasks, Embeds.CitedTask, on_replace: :delete)
23+
# embeds_many(:mention_user_tasks, Embeds.MentionUserTask, on_replace: :delete)
24+
end
25+
26+
def changeset(struct, params) do
27+
struct
28+
|> cast(params, @optional_fields)
29+
end
30+
end
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
defmodule GroupherServer.CMS.Model.Embeds.CiteTask do
2+
@moduledoc """
3+
general article meta info for article-like content, like post, job, works ...
4+
"""
5+
use Ecto.Schema
6+
use Accessible
7+
import Ecto.Changeset
8+
9+
@optional_fields ~w(bi_link_tasks mention_user_tasks)a
10+
11+
# thread, article_id, block_id, author_id, cite_thread, cite_article_id, cite_block_id, cite_author_id
12+
13+
@doc "for test usage"
14+
def default_meta() do
15+
%{
16+
# bi_link_tasks: [],
17+
# mention_user_tasks: []
18+
}
19+
end
20+
21+
embedded_schema do
22+
field(:article_id, :id)
23+
field(:block_id, :string)
24+
25+
field(:cited_article_id, :id)
26+
# 可选
27+
field(:cited_block_id, :string)
28+
29+
field(:is_finished, :boolean, default: false)
30+
end
31+
32+
def changeset(struct, params) do
33+
struct
34+
|> cast(params, @optional_fields)
35+
end
36+
end

lib/groupher_server/cms/models/post.ex

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,9 @@ defmodule GroupherServer.CMS.Model.Post do
3030
field(:is_solved, :boolean, default: false)
3131
field(:solution_digest, :string)
3232

33+
# TODO: move to general_article_fields
34+
# embeds_one(:block_task_runner, Embeds.BlockTaskRunner, on_replace: :update)
35+
3336
article_tags_field(:post)
3437
article_communities_field(:post)
3538
general_article_fields()

0 commit comments

Comments
 (0)