send untiered new posts to zulip
parent
ff59cdc364
commit
bb82ab1846
|
@ -110,6 +110,18 @@ final class IrcApi(
|
|||
.userLink(user)}"
|
||||
)
|
||||
|
||||
def ublogPost(
|
||||
user: User,
|
||||
id: String,
|
||||
slug: String,
|
||||
title: String
|
||||
): Funit =
|
||||
zulip(_.blog, "non-tiered new posts")(
|
||||
s"${markdown
|
||||
.lichessLink(s"/@/${user.username}/blog/$slug/$id", title)} by ${markdown
|
||||
.userLink(user)}"
|
||||
)
|
||||
|
||||
def userAppeal(user: User, mod: Holder): Funit =
|
||||
zulip
|
||||
.sendAndGetLink(_.mod.adminAppeal, "/" + user.username)(
|
||||
|
|
|
@ -91,6 +91,7 @@ private object ZulipClient {
|
|||
}
|
||||
val general = "general"
|
||||
val broadcast = "content-broadcast"
|
||||
val blog = "content-blog"
|
||||
val image = "mod-comms-image"
|
||||
type Selector = ZulipClient.stream.type => String
|
||||
}
|
||||
|
|
|
@ -44,12 +44,12 @@ final class UblogApi(
|
|||
} >>
|
||||
sendImageToZulip(user, post) >>- {
|
||||
lila.common.Bus.publish(UblogPost.Create(post), "ublogPost")
|
||||
if (blog.visible)
|
||||
timeline ! {
|
||||
Propagate(
|
||||
lila.hub.actorApi.timeline.UblogPost(user.id, post.id.value, post.slug, post.title)
|
||||
) toFollowersOf user.id
|
||||
}
|
||||
if (blog.visible) {
|
||||
timeline ! Propagate(
|
||||
lila.hub.actorApi.timeline.UblogPost(user.id, post.id.value, post.slug, post.title)
|
||||
).toFollowersOf(user.id)
|
||||
if (!blog.modTier.isDefined) sendPostToZulip(user, blog, post).unit
|
||||
}
|
||||
}
|
||||
|
||||
def getUserBlog(user: User, insertMissing: Boolean = false): Fu[UblogBlog] =
|
||||
|
@ -113,6 +113,14 @@ final class UblogApi(
|
|||
)
|
||||
}
|
||||
|
||||
private def sendPostToZulip(user: User, blog: UblogBlog, post: UblogPost): Funit =
|
||||
irc.ublogPost(
|
||||
user,
|
||||
id = post.id.value,
|
||||
slug = post.slug,
|
||||
title = post.title
|
||||
)
|
||||
|
||||
def liveLightsByIds(ids: List[UblogPost.Id]): Fu[List[UblogPost.LightPost]] =
|
||||
colls.post
|
||||
.find($inIds(ids) ++ $doc("live" -> true), lightPostProjection.some)
|
||||
|
|
Loading…
Reference in New Issue