mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2025-11-15 20:37:30 -06:00
[chore] The Big Middleware and API Refactor (tm) (#1250)
* interim commit: start refactoring middlewares into package under router * another interim commit, this is becoming a big job * another fucking massive interim commit * refactor bookmarks to new style * ambassador, wiz zeze commits you are spoiling uz * she compiles, we're getting there * we're just normal men; we're just innocent men * apiutil * whoopsie * i'm glad noone reads commit msgs haha :blob_sweat: * use that weirdo go-bytesize library for maxMultipartMemory * fix media module paths
This commit is contained in:
parent
560ff1209d
commit
941893a774
228 changed files with 3188 additions and 3047 deletions
|
|
@ -23,7 +23,7 @@ import (
|
|||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/suite"
|
||||
"github.com/superseriousbusiness/gotosocial/internal/api/model"
|
||||
apimodel "github.com/superseriousbusiness/gotosocial/internal/api/model"
|
||||
"github.com/superseriousbusiness/gotosocial/internal/config"
|
||||
"github.com/superseriousbusiness/gotosocial/internal/db"
|
||||
"github.com/superseriousbusiness/gotosocial/internal/gtsmodel"
|
||||
|
|
@ -39,20 +39,20 @@ func (suite *StatusCreateTestSuite) TestProcessContentWarningWithQuotationMarks(
|
|||
creatingAccount := suite.testAccounts["local_account_1"]
|
||||
creatingApplication := suite.testApplications["application_1"]
|
||||
|
||||
statusCreateForm := &model.AdvancedStatusCreateForm{
|
||||
StatusCreateRequest: model.StatusCreateRequest{
|
||||
statusCreateForm := &apimodel.AdvancedStatusCreateForm{
|
||||
StatusCreateRequest: apimodel.StatusCreateRequest{
|
||||
Status: "poopoo peepee",
|
||||
MediaIDs: []string{},
|
||||
Poll: nil,
|
||||
InReplyToID: "",
|
||||
Sensitive: false,
|
||||
SpoilerText: "\"test\"", // these should not be html-escaped when the final text is rendered
|
||||
Visibility: model.VisibilityPublic,
|
||||
Visibility: apimodel.VisibilityPublic,
|
||||
ScheduledAt: "",
|
||||
Language: "en",
|
||||
Format: model.StatusFormatPlain,
|
||||
Format: apimodel.StatusFormatPlain,
|
||||
},
|
||||
AdvancedVisibilityFlagsForm: model.AdvancedVisibilityFlagsForm{
|
||||
AdvancedVisibilityFlagsForm: apimodel.AdvancedVisibilityFlagsForm{
|
||||
Federated: nil,
|
||||
Boostable: nil,
|
||||
Replyable: nil,
|
||||
|
|
@ -73,20 +73,20 @@ func (suite *StatusCreateTestSuite) TestProcessContentWarningWithHTMLEscapedQuot
|
|||
creatingAccount := suite.testAccounts["local_account_1"]
|
||||
creatingApplication := suite.testApplications["application_1"]
|
||||
|
||||
statusCreateForm := &model.AdvancedStatusCreateForm{
|
||||
StatusCreateRequest: model.StatusCreateRequest{
|
||||
statusCreateForm := &apimodel.AdvancedStatusCreateForm{
|
||||
StatusCreateRequest: apimodel.StatusCreateRequest{
|
||||
Status: "poopoo peepee",
|
||||
MediaIDs: []string{},
|
||||
Poll: nil,
|
||||
InReplyToID: "",
|
||||
Sensitive: false,
|
||||
SpoilerText: ""test"", // the html-escaped quotation marks should appear as normal quotation marks in the finished text
|
||||
Visibility: model.VisibilityPublic,
|
||||
Visibility: apimodel.VisibilityPublic,
|
||||
ScheduledAt: "",
|
||||
Language: "en",
|
||||
Format: model.StatusFormatPlain,
|
||||
Format: apimodel.StatusFormatPlain,
|
||||
},
|
||||
AdvancedVisibilityFlagsForm: model.AdvancedVisibilityFlagsForm{
|
||||
AdvancedVisibilityFlagsForm: apimodel.AdvancedVisibilityFlagsForm{
|
||||
Federated: nil,
|
||||
Boostable: nil,
|
||||
Replyable: nil,
|
||||
|
|
@ -112,19 +112,19 @@ func (suite *StatusCreateTestSuite) TestProcessStatusMarkdownWithUnderscoreEmoji
|
|||
creatingAccount := suite.testAccounts["local_account_1"]
|
||||
creatingApplication := suite.testApplications["application_1"]
|
||||
|
||||
statusCreateForm := &model.AdvancedStatusCreateForm{
|
||||
StatusCreateRequest: model.StatusCreateRequest{
|
||||
statusCreateForm := &apimodel.AdvancedStatusCreateForm{
|
||||
StatusCreateRequest: apimodel.StatusCreateRequest{
|
||||
Status: "poopoo peepee :_rainbow_:",
|
||||
MediaIDs: []string{},
|
||||
Poll: nil,
|
||||
InReplyToID: "",
|
||||
Sensitive: false,
|
||||
Visibility: model.VisibilityPublic,
|
||||
Visibility: apimodel.VisibilityPublic,
|
||||
ScheduledAt: "",
|
||||
Language: "en",
|
||||
Format: model.StatusFormatMarkdown,
|
||||
Format: apimodel.StatusFormatMarkdown,
|
||||
},
|
||||
AdvancedVisibilityFlagsForm: model.AdvancedVisibilityFlagsForm{
|
||||
AdvancedVisibilityFlagsForm: apimodel.AdvancedVisibilityFlagsForm{
|
||||
Federated: nil,
|
||||
Boostable: nil,
|
||||
Replyable: nil,
|
||||
|
|
@ -145,20 +145,20 @@ func (suite *StatusCreateTestSuite) TestProcessStatusMarkdownWithSpoilerTextEmoj
|
|||
creatingAccount := suite.testAccounts["local_account_1"]
|
||||
creatingApplication := suite.testApplications["application_1"]
|
||||
|
||||
statusCreateForm := &model.AdvancedStatusCreateForm{
|
||||
StatusCreateRequest: model.StatusCreateRequest{
|
||||
statusCreateForm := &apimodel.AdvancedStatusCreateForm{
|
||||
StatusCreateRequest: apimodel.StatusCreateRequest{
|
||||
Status: "poopoo peepee",
|
||||
SpoilerText: "testing something :rainbow:",
|
||||
MediaIDs: []string{},
|
||||
Poll: nil,
|
||||
InReplyToID: "",
|
||||
Sensitive: false,
|
||||
Visibility: model.VisibilityPublic,
|
||||
Visibility: apimodel.VisibilityPublic,
|
||||
ScheduledAt: "",
|
||||
Language: "en",
|
||||
Format: model.StatusFormatMarkdown,
|
||||
Format: apimodel.StatusFormatMarkdown,
|
||||
},
|
||||
AdvancedVisibilityFlagsForm: model.AdvancedVisibilityFlagsForm{
|
||||
AdvancedVisibilityFlagsForm: apimodel.AdvancedVisibilityFlagsForm{
|
||||
Federated: nil,
|
||||
Boostable: nil,
|
||||
Replyable: nil,
|
||||
|
|
@ -183,20 +183,20 @@ func (suite *StatusCreateTestSuite) TestProcessMediaDescriptionTooShort() {
|
|||
creatingAccount := suite.testAccounts["local_account_1"]
|
||||
creatingApplication := suite.testApplications["application_1"]
|
||||
|
||||
statusCreateForm := &model.AdvancedStatusCreateForm{
|
||||
StatusCreateRequest: model.StatusCreateRequest{
|
||||
statusCreateForm := &apimodel.AdvancedStatusCreateForm{
|
||||
StatusCreateRequest: apimodel.StatusCreateRequest{
|
||||
Status: "poopoo peepee",
|
||||
MediaIDs: []string{suite.testAttachments["local_account_1_unattached_1"].ID},
|
||||
Poll: nil,
|
||||
InReplyToID: "",
|
||||
Sensitive: false,
|
||||
SpoilerText: "",
|
||||
Visibility: model.VisibilityPublic,
|
||||
Visibility: apimodel.VisibilityPublic,
|
||||
ScheduledAt: "",
|
||||
Language: "en",
|
||||
Format: model.StatusFormatPlain,
|
||||
Format: apimodel.StatusFormatPlain,
|
||||
},
|
||||
AdvancedVisibilityFlagsForm: model.AdvancedVisibilityFlagsForm{
|
||||
AdvancedVisibilityFlagsForm: apimodel.AdvancedVisibilityFlagsForm{
|
||||
Federated: nil,
|
||||
Boostable: nil,
|
||||
Replyable: nil,
|
||||
|
|
|
|||
|
|
@ -23,7 +23,6 @@ import (
|
|||
"errors"
|
||||
"fmt"
|
||||
|
||||
"github.com/superseriousbusiness/gotosocial/internal/api/model"
|
||||
apimodel "github.com/superseriousbusiness/gotosocial/internal/api/model"
|
||||
"github.com/superseriousbusiness/gotosocial/internal/config"
|
||||
"github.com/superseriousbusiness/gotosocial/internal/db"
|
||||
|
|
@ -303,11 +302,11 @@ func (p *processor) ProcessContent(ctx context.Context, form *apimodel.AdvancedS
|
|||
|
||||
switch acct.StatusFormat {
|
||||
case "plain":
|
||||
form.Format = model.StatusFormatPlain
|
||||
form.Format = apimodel.StatusFormatPlain
|
||||
case "markdown":
|
||||
form.Format = model.StatusFormatMarkdown
|
||||
form.Format = apimodel.StatusFormatMarkdown
|
||||
default:
|
||||
form.Format = model.StatusFormatDefault
|
||||
form.Format = apimodel.StatusFormatDefault
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ import (
|
|||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/suite"
|
||||
"github.com/superseriousbusiness/gotosocial/internal/api/model"
|
||||
apimodel "github.com/superseriousbusiness/gotosocial/internal/api/model"
|
||||
"github.com/superseriousbusiness/gotosocial/internal/gtsmodel"
|
||||
)
|
||||
|
||||
|
|
@ -45,20 +45,20 @@ func (suite *UtilTestSuite) TestProcessMentions1() {
|
|||
creatingAccount := suite.testAccounts["local_account_1"]
|
||||
mentionedAccount := suite.testAccounts["remote_account_1"]
|
||||
|
||||
form := &model.AdvancedStatusCreateForm{
|
||||
StatusCreateRequest: model.StatusCreateRequest{
|
||||
form := &apimodel.AdvancedStatusCreateForm{
|
||||
StatusCreateRequest: apimodel.StatusCreateRequest{
|
||||
Status: statusText1,
|
||||
MediaIDs: []string{},
|
||||
Poll: nil,
|
||||
InReplyToID: "",
|
||||
Sensitive: false,
|
||||
SpoilerText: "",
|
||||
Visibility: model.VisibilityPublic,
|
||||
Visibility: apimodel.VisibilityPublic,
|
||||
ScheduledAt: "",
|
||||
Language: "en",
|
||||
Format: model.StatusFormatPlain,
|
||||
Format: apimodel.StatusFormatPlain,
|
||||
},
|
||||
AdvancedVisibilityFlagsForm: model.AdvancedVisibilityFlagsForm{
|
||||
AdvancedVisibilityFlagsForm: apimodel.AdvancedVisibilityFlagsForm{
|
||||
Federated: nil,
|
||||
Boostable: nil,
|
||||
Replyable: nil,
|
||||
|
|
@ -94,20 +94,20 @@ func (suite *UtilTestSuite) TestProcessContentFull1() {
|
|||
*/
|
||||
// we need to partially process the status first since processContent expects a status with some stuff already set on it
|
||||
creatingAccount := suite.testAccounts["local_account_1"]
|
||||
form := &model.AdvancedStatusCreateForm{
|
||||
StatusCreateRequest: model.StatusCreateRequest{
|
||||
form := &apimodel.AdvancedStatusCreateForm{
|
||||
StatusCreateRequest: apimodel.StatusCreateRequest{
|
||||
Status: statusText1,
|
||||
MediaIDs: []string{},
|
||||
Poll: nil,
|
||||
InReplyToID: "",
|
||||
Sensitive: false,
|
||||
SpoilerText: "",
|
||||
Visibility: model.VisibilityPublic,
|
||||
Visibility: apimodel.VisibilityPublic,
|
||||
ScheduledAt: "",
|
||||
Language: "en",
|
||||
Format: model.StatusFormatPlain,
|
||||
Format: apimodel.StatusFormatPlain,
|
||||
},
|
||||
AdvancedVisibilityFlagsForm: model.AdvancedVisibilityFlagsForm{
|
||||
AdvancedVisibilityFlagsForm: apimodel.AdvancedVisibilityFlagsForm{
|
||||
Federated: nil,
|
||||
Boostable: nil,
|
||||
Replyable: nil,
|
||||
|
|
@ -142,20 +142,20 @@ func (suite *UtilTestSuite) TestProcessContentPartial1() {
|
|||
*/
|
||||
// we need to partially process the status first since processContent expects a status with some stuff already set on it
|
||||
creatingAccount := suite.testAccounts["local_account_1"]
|
||||
form := &model.AdvancedStatusCreateForm{
|
||||
StatusCreateRequest: model.StatusCreateRequest{
|
||||
form := &apimodel.AdvancedStatusCreateForm{
|
||||
StatusCreateRequest: apimodel.StatusCreateRequest{
|
||||
Status: statusText1,
|
||||
MediaIDs: []string{},
|
||||
Poll: nil,
|
||||
InReplyToID: "",
|
||||
Sensitive: false,
|
||||
SpoilerText: "",
|
||||
Visibility: model.VisibilityPublic,
|
||||
Visibility: apimodel.VisibilityPublic,
|
||||
ScheduledAt: "",
|
||||
Language: "en",
|
||||
Format: model.StatusFormatPlain,
|
||||
Format: apimodel.StatusFormatPlain,
|
||||
},
|
||||
AdvancedVisibilityFlagsForm: model.AdvancedVisibilityFlagsForm{
|
||||
AdvancedVisibilityFlagsForm: apimodel.AdvancedVisibilityFlagsForm{
|
||||
Federated: nil,
|
||||
Boostable: nil,
|
||||
Replyable: nil,
|
||||
|
|
@ -184,20 +184,20 @@ func (suite *UtilTestSuite) TestProcessMentions2() {
|
|||
creatingAccount := suite.testAccounts["local_account_1"]
|
||||
mentionedAccount := suite.testAccounts["remote_account_1"]
|
||||
|
||||
form := &model.AdvancedStatusCreateForm{
|
||||
StatusCreateRequest: model.StatusCreateRequest{
|
||||
form := &apimodel.AdvancedStatusCreateForm{
|
||||
StatusCreateRequest: apimodel.StatusCreateRequest{
|
||||
Status: statusText2,
|
||||
MediaIDs: []string{},
|
||||
Poll: nil,
|
||||
InReplyToID: "",
|
||||
Sensitive: false,
|
||||
SpoilerText: "",
|
||||
Visibility: model.VisibilityPublic,
|
||||
Visibility: apimodel.VisibilityPublic,
|
||||
ScheduledAt: "",
|
||||
Language: "en",
|
||||
Format: model.StatusFormatPlain,
|
||||
Format: apimodel.StatusFormatPlain,
|
||||
},
|
||||
AdvancedVisibilityFlagsForm: model.AdvancedVisibilityFlagsForm{
|
||||
AdvancedVisibilityFlagsForm: apimodel.AdvancedVisibilityFlagsForm{
|
||||
Federated: nil,
|
||||
Boostable: nil,
|
||||
Replyable: nil,
|
||||
|
|
@ -233,20 +233,20 @@ func (suite *UtilTestSuite) TestProcessContentFull2() {
|
|||
*/
|
||||
// we need to partially process the status first since processContent expects a status with some stuff already set on it
|
||||
creatingAccount := suite.testAccounts["local_account_1"]
|
||||
form := &model.AdvancedStatusCreateForm{
|
||||
StatusCreateRequest: model.StatusCreateRequest{
|
||||
form := &apimodel.AdvancedStatusCreateForm{
|
||||
StatusCreateRequest: apimodel.StatusCreateRequest{
|
||||
Status: statusText2,
|
||||
MediaIDs: []string{},
|
||||
Poll: nil,
|
||||
InReplyToID: "",
|
||||
Sensitive: false,
|
||||
SpoilerText: "",
|
||||
Visibility: model.VisibilityPublic,
|
||||
Visibility: apimodel.VisibilityPublic,
|
||||
ScheduledAt: "",
|
||||
Language: "en",
|
||||
Format: model.StatusFormatPlain,
|
||||
Format: apimodel.StatusFormatPlain,
|
||||
},
|
||||
AdvancedVisibilityFlagsForm: model.AdvancedVisibilityFlagsForm{
|
||||
AdvancedVisibilityFlagsForm: apimodel.AdvancedVisibilityFlagsForm{
|
||||
Federated: nil,
|
||||
Boostable: nil,
|
||||
Replyable: nil,
|
||||
|
|
@ -282,20 +282,20 @@ func (suite *UtilTestSuite) TestProcessContentPartial2() {
|
|||
*/
|
||||
// we need to partially process the status first since processContent expects a status with some stuff already set on it
|
||||
creatingAccount := suite.testAccounts["local_account_1"]
|
||||
form := &model.AdvancedStatusCreateForm{
|
||||
StatusCreateRequest: model.StatusCreateRequest{
|
||||
form := &apimodel.AdvancedStatusCreateForm{
|
||||
StatusCreateRequest: apimodel.StatusCreateRequest{
|
||||
Status: statusText2,
|
||||
MediaIDs: []string{},
|
||||
Poll: nil,
|
||||
InReplyToID: "",
|
||||
Sensitive: false,
|
||||
SpoilerText: "",
|
||||
Visibility: model.VisibilityPublic,
|
||||
Visibility: apimodel.VisibilityPublic,
|
||||
ScheduledAt: "",
|
||||
Language: "en",
|
||||
Format: model.StatusFormatPlain,
|
||||
Format: apimodel.StatusFormatPlain,
|
||||
},
|
||||
AdvancedVisibilityFlagsForm: model.AdvancedVisibilityFlagsForm{
|
||||
AdvancedVisibilityFlagsForm: apimodel.AdvancedVisibilityFlagsForm{
|
||||
Federated: nil,
|
||||
Boostable: nil,
|
||||
Replyable: nil,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue