@ -3,6 +3,7 @@ package integration
import (
import (
"bytes"
"bytes"
"context"
"context"
"encoding/json"
"fmt"
"fmt"
"path/filepath"
"path/filepath"
"strconv"
"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 ) )
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 {
update := store . UpdateMemo {
ID : memoID ,
ID : memoID ,
Visibility : & visibility ,
Visibility : & visibility ,