fix: check disallow public memo in Telegram(#3036) (#3037)

pull/3042/head
WonSeok 1 year ago committed by GitHub
parent 7d5f603482
commit f46b64a17d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -3,6 +3,7 @@ package integration
import (
"bytes"
"context"
"encoding/json"
"fmt"
"path/filepath"
"strconv"
@ -144,6 +145,23 @@ func (t *TelegramHandler) CallbackQueryHandle(ctx context.Context, bot *telegram
return bot.AnswerCallbackQuery(ctx, callbackQuery.ID, fmt.Sprintf("Memo %d not found, possibly deleted elsewhere", memoID))
}
var disablePublicMemo bool
setting, err := t.store.GetWorkspaceSetting(ctx, &store.FindWorkspaceSetting{
Name: apiv1.SystemSettingDisablePublicMemosName.String(),
})
if err != nil {
return bot.AnswerCallbackQuery(ctx, callbackQuery.ID, fmt.Sprintf("Failed to get workspace setting %s", err))
}
err = json.Unmarshal([]byte(setting.Value), &disablePublicMemo)
if err != nil {
return bot.AnswerCallbackQuery(ctx, callbackQuery.ID, fmt.Sprintf("Failed to get workspace setting %s", err))
}
if disablePublicMemo && visibility == store.Public {
return bot.AnswerCallbackQuery(ctx, callbackQuery.ID, fmt.Sprintf("Failed to changing Memo %d to %s\n(workspace disallowed public memo)", memoID, visibility))
}
update := store.UpdateMemo{
ID: memoID,
Visibility: &visibility,

Loading…
Cancel
Save