mirror of
https://github.com/superseriousbusiness/gotosocial
synced 2025-06-05 21:59:39 +02:00
[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
This commit is contained in:
@@ -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
|
||||
|
Reference in New Issue
Block a user