Send compat-msgid to compat clients (BF old android client)
This commit is contained in:
@@ -68,7 +68,7 @@ func Wrap(rlacc RequestLogAcceptor, fn WHandlerFunc) gin.HandlerFunc {
|
||||
if scn.Conf.ReqLogEnabled {
|
||||
rlacc.InsertRequestLog(createRequestLog(g, t0, ctr, wrap, nil))
|
||||
}
|
||||
|
||||
|
||||
statuscode := wrap.Statuscode()
|
||||
if statuscode/100 != 2 {
|
||||
log.Warn().Str("url", g.Request.Method+"::"+g.Request.URL.String()).Msg(fmt.Sprintf("Request failed with statuscode %d", statuscode))
|
||||
|
@@ -9,7 +9,6 @@ import (
|
||||
"blackforestbytes.com/simplecloudnotifier/logic"
|
||||
"blackforestbytes.com/simplecloudnotifier/models"
|
||||
"database/sql"
|
||||
"fmt"
|
||||
"github.com/gin-gonic/gin"
|
||||
"gogs.mikescher.com/BlackForestBytes/goext/dataext"
|
||||
"gogs.mikescher.com/BlackForestBytes/goext/langext"
|
||||
@@ -524,7 +523,7 @@ func (h CompatHandler) Requery(g *gin.Context) ginresp.HTTPResponse {
|
||||
}
|
||||
|
||||
compMsgs = append(compMsgs, models.CompatMessage{
|
||||
Title: compatizeMessageTitle(ctx, h.app, v),
|
||||
Title: h.app.CompatizeMessageTitle(ctx, v),
|
||||
Body: v.Content,
|
||||
Priority: v.Priority,
|
||||
Timestamp: v.Timestamp().Unix(),
|
||||
@@ -772,7 +771,7 @@ func (h CompatHandler) Expand(g *gin.Context) ginresp.HTTPResponse {
|
||||
Success: true,
|
||||
Message: "ok",
|
||||
Data: models.CompatMessage{
|
||||
Title: compatizeMessageTitle(ctx, h.app, msg),
|
||||
Title: h.app.CompatizeMessageTitle(ctx, msg),
|
||||
Body: msg.Content,
|
||||
Trimmed: langext.Ptr(false),
|
||||
Priority: msg.Priority,
|
||||
@@ -919,16 +918,3 @@ func (h CompatHandler) Upgrade(g *gin.Context) ginresp.HTTPResponse {
|
||||
IsPro: user.IsPro,
|
||||
}))
|
||||
}
|
||||
|
||||
func compatizeMessageTitle(ctx *logic.AppContext, app *logic.Application, msg models.Message) string {
|
||||
if msg.ChannelInternalName == "main" {
|
||||
return msg.Title
|
||||
}
|
||||
|
||||
channel, err := app.Database.Primary.GetChannelByID(ctx, msg.ChannelID)
|
||||
if err != nil {
|
||||
return fmt.Sprintf("[%s] %s", "%SCN-ERR%", msg.Title)
|
||||
}
|
||||
|
||||
return fmt.Sprintf("[%s] %s", channel.DisplayName, msg.Title)
|
||||
}
|
||||
|
@@ -239,7 +239,7 @@ func (h MessageHandler) sendMessageInternal(g *gin.Context, ctx *logic.AppContex
|
||||
return nil, langext.Ptr(ginresp.SendAPIError(g, 500, apierr.DATABASE_ERROR, hl.NONE, "Failed to create message in db", err))
|
||||
}
|
||||
|
||||
cid, err := h.database.CreateCompatID(ctx, "messageid", msg.MessageID.String())
|
||||
compatMsgID, err := h.database.CreateCompatID(ctx, "messageid", msg.MessageID.String())
|
||||
if err != nil {
|
||||
return nil, langext.Ptr(ginresp.SendAPIError(g, 500, apierr.DATABASE_ERROR, hl.NONE, "Failed to create compat-id", err))
|
||||
}
|
||||
@@ -284,11 +284,13 @@ func (h MessageHandler) sendMessageInternal(g *gin.Context, ctx *logic.AppContex
|
||||
}
|
||||
|
||||
var titleOverride *string = nil
|
||||
var msgidOverride *string = nil
|
||||
if isCompatClient {
|
||||
titleOverride = langext.Ptr(compatizeMessageTitle(ctx, h.app, msg))
|
||||
titleOverride = langext.Ptr(h.app.CompatizeMessageTitle(ctx, msg))
|
||||
msgidOverride = langext.Ptr(fmt.Sprintf("%d", compatMsgID))
|
||||
}
|
||||
|
||||
fcmDelivID, err := h.app.DeliverMessage(ctx, client, msg, titleOverride)
|
||||
fcmDelivID, err := h.app.DeliverMessage(ctx, client, msg, titleOverride, msgidOverride)
|
||||
if err != nil {
|
||||
_, err = h.database.CreateRetryDelivery(ctx, client, msg)
|
||||
if err != nil {
|
||||
@@ -308,6 +310,6 @@ func (h MessageHandler) sendMessageInternal(g *gin.Context, ctx *logic.AppContex
|
||||
User: user,
|
||||
Message: msg,
|
||||
MessageIsOld: false,
|
||||
CompatMessageID: cid,
|
||||
CompatMessageID: compatMsgID,
|
||||
}, nil
|
||||
}
|
||||
|
Reference in New Issue
Block a user