summaryrefslogtreecommitdiff
path: root/internal/processing/status/util.go
diff options
context:
space:
mode:
authorLibravatar tobi <31960611+tsmethurst@users.noreply.github.com>2022-08-06 12:09:21 +0200
committerLibravatar GitHub <noreply@github.com>2022-08-06 12:09:21 +0200
commitf5689a9e5fa5dbcae6c56fa9f393c2fc4686ac19 (patch)
treead66c13bc927e72dd072f1cabace27f9c5bd31b9 /internal/processing/status/util.go
parent[bugfix] Parse source first before checking if empty form (#738) (diff)
downloadgotosocial-f5689a9e5fa5dbcae6c56fa9f393c2fc4686ac19.tar.xz
[feature] Let accounts set default status format, and use this when processing new statuses (#739)
* add post_format to acct & use it when making post * update swagger docs * add status_format updating to frontend * fix up tests * post_format => status_format * add status_format to account validation
Diffstat (limited to 'internal/processing/status/util.go')
-rw-r--r--internal/processing/status/util.go17
1 files changed, 15 insertions, 2 deletions
diff --git a/internal/processing/status/util.go b/internal/processing/status/util.go
index 52214e95f..64b496673 100644
--- a/internal/processing/status/util.go
+++ b/internal/processing/status/util.go
@@ -23,6 +23,7 @@ import (
"errors"
"fmt"
+ "github.com/superseriousbusiness/gotosocial/internal/api/model"
apimodel "github.com/superseriousbusiness/gotosocial/internal/api/model"
"github.com/superseriousbusiness/gotosocial/internal/db"
"github.com/superseriousbusiness/gotosocial/internal/gtserror"
@@ -269,9 +270,21 @@ func (p *processor) ProcessContent(ctx context.Context, form *apimodel.AdvancedS
return nil
}
- // if format wasn't specified we should set the default
+ // if format wasn't specified we should try to figure out what format this user prefers
if form.Format == "" {
- form.Format = apimodel.StatusFormatDefault
+ acct, err := p.db.GetAccountByID(ctx, accountID)
+ if err != nil {
+ return fmt.Errorf("error processing new content: couldn't retrieve account from db to check post format: %s", err)
+ }
+
+ switch acct.StatusFormat {
+ case "plain":
+ form.Format = model.StatusFormatPlain
+ case "markdown":
+ form.Format = model.StatusFormatMarkdown
+ default:
+ form.Format = model.StatusFormatDefault
+ }
}
// parse content out of the status depending on what format has been submitted