adding-description---server-side #1
5 changed files with 35 additions and 1 deletions
|
@ -61,4 +61,4 @@ $safety-sketchy = #F3D75F
|
|||
$safety-unsafe = #F3985F
|
||||
$scrollbar-thumb-color = $main-color
|
||||
$scrollbar-bg-color = $input-enabled-background-color
|
||||
$transparency-grid-square-color = #00000000
|
||||
$transparency-grid-square-color = #F0F0F0
|
|
@ -103,6 +103,7 @@ privileges:
|
|||
'posts:edit:content': power
|
||||
'posts:edit:flags': regular
|
||||
'posts:edit:notes': regular
|
||||
'posts:edit:desc': regular
|
||||
'posts:edit:relations': regular
|
||||
'posts:edit:safety': power
|
||||
'posts:edit:source': regular
|
||||
|
|
|
@ -72,6 +72,7 @@ def create_post(
|
|||
source = ctx.get_param_as_string("contentUrl", default="")
|
||||
relations = ctx.get_param_as_int_list("relations", default=[])
|
||||
notes = ctx.get_param_as_list("notes", default=[])
|
||||
desc = ctx.get_param_as_string("desc", default="")
|
||||
flags = ctx.get_param_as_string_list(
|
||||
"flags", default=posts.get_default_flags(content)
|
||||
)
|
||||
|
@ -85,6 +86,7 @@ def create_post(
|
|||
posts.update_post_source(post, source)
|
||||
posts.update_post_relations(post, relations)
|
||||
posts.update_post_notes(post, notes)
|
||||
posts.update_post_desc(post, desc)
|
||||
posts.update_post_flags(post, flags)
|
||||
if ctx.has_file("thumbnail"):
|
||||
posts.update_post_thumbnail(post, ctx.get_file("thumbnail"))
|
||||
|
@ -159,6 +161,9 @@ def update_post(ctx: rest.Context, params: Dict[str, str]) -> rest.Response:
|
|||
if ctx.has_param("notes"):
|
||||
auth.verify_privilege(ctx.user, "posts:edit:notes")
|
||||
posts.update_post_notes(post, ctx.get_param_as_list("notes"))
|
||||
if ctx.has_param("desc"):
|
||||
auth.verify_privilege(ctx.user, "posts:edit:desc")
|
||||
posts.update_post_desc(post, ctx.get_param_as_string("desc"))
|
||||
if ctx.has_param("flags"):
|
||||
auth.verify_privilege(ctx.user, "posts:edit:flags")
|
||||
posts.update_post_flags(post, ctx.get_param_as_string_list("flags"))
|
||||
|
|
|
@ -197,6 +197,7 @@ class PostSerializer(serialization.BaseSerializer):
|
|||
"favoritedBy": self.serialize_favorited_by,
|
||||
"hasCustomThumbnail": self.serialize_has_custom_thumbnail,
|
||||
"notes": self.serialize_notes,
|
||||
"desc": self.serialize_desc,
|
||||
"comments": self.serialize_comments,
|
||||
"pools": self.serialize_pools,
|
||||
}
|
||||
|
@ -328,6 +329,9 @@ class PostSerializer(serialization.BaseSerializer):
|
|||
key=lambda x: x["polygon"],
|
||||
)
|
||||
|
||||
def serialize_desc(self) -> Any:
|
||||
return self.post.desc
|
||||
|
||||
def serialize_comments(self) -> Any:
|
||||
return [
|
||||
comments.serialize_comment(comment, self.auth_user)
|
||||
|
@ -779,6 +783,11 @@ def update_post_notes(post: model.Post, notes: Any) -> None:
|
|||
)
|
||||
|
||||
|
||||
def update_post_desc(post: model.Post, desc: str) -> None:
|
||||
assert post
|
||||
post.desc = desc
|
||||
|
||||
|
||||
def update_post_flags(post: model.Post, flags: List[str]) -> None:
|
||||
assert post
|
||||
target_flags = []
|
||||
|
|
|
@ -111,6 +111,22 @@ class PostNote(Base):
|
|||
post = sa.orm.relationship("Post")
|
||||
|
||||
|
||||
class PostDesc(Base):
|
||||
__tablename__ = "post_desc"
|
||||
|
||||
post_desc_id = sa.Column("id", sa.Integer, primary_key=True)
|
||||
post_id = sa.Column(
|
||||
"post_id",
|
||||
sa.Integer,
|
||||
sa.ForeignKey("post.id"),
|
||||
nullable=False,
|
||||
index=True,
|
||||
)
|
||||
text = sa.Column("text", sa.UnicodeText, nullable=False)
|
||||
|
||||
post = sa.orm.relationship("Post")
|
||||
|
||||
|
||||
class PostRelation(Base):
|
||||
__tablename__ = "post_relation"
|
||||
|
||||
|
@ -252,6 +268,9 @@ class Post(Base):
|
|||
notes = sa.orm.relationship(
|
||||
"PostNote", cascade="all, delete-orphan", lazy="joined"
|
||||
)
|
||||
desc = sa.orm.relationship(
|
||||
"PostDesc", cascade="all, delete-orphan", lazy="joined"
|
||||
)
|
||||
comments = sa.orm.relationship("Comment", cascade="all, delete-orphan")
|
||||
_pools = sa.orm.relationship(
|
||||
"PoolPost",
|
||||
|
|
Loading…
Reference in a new issue