mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2025-11-24 06:33:34 -06:00
[feature] Add List functionality (#1802)
* start working on lists * further list work * test list db functions nicely * more work on lists * peepoopeepoo * poke * start list timeline func * we're getting there lads * couldn't be me working on stuff... could it? * hook up handlers * fiddling * weeee * woah * screaming, pissing * fix streaming being a whiny baby * lint, small test fix, swagger * tidying up, testing * fucked! by the linter * move timelines to state like a boss * add timeline start to tests using state * invalidate lists
This commit is contained in:
parent
282be6f26d
commit
f5c004d67d
123 changed files with 5654 additions and 970 deletions
|
|
@ -92,6 +92,8 @@ type TypeConverter interface {
|
|||
ReportToAPIReport(ctx context.Context, r *gtsmodel.Report) (*apimodel.Report, error)
|
||||
// ReportToAdminAPIReport converts a gts model report into an admin view report, for serving at /api/v1/admin/reports
|
||||
ReportToAdminAPIReport(ctx context.Context, r *gtsmodel.Report, requestingAccount *gtsmodel.Account) (*apimodel.AdminReport, error)
|
||||
// ListToAPIList converts one gts model list into an api model list, for serving at /api/v1/lists/{id}
|
||||
ListToAPIList(ctx context.Context, l *gtsmodel.List) (*apimodel.List, error)
|
||||
|
||||
/*
|
||||
INTERNAL (gts) MODEL TO FRONTEND (rss) MODEL
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@ import (
|
|||
"github.com/superseriousbusiness/gotosocial/internal/processing"
|
||||
"github.com/superseriousbusiness/gotosocial/internal/state"
|
||||
"github.com/superseriousbusiness/gotosocial/internal/typeutils"
|
||||
"github.com/superseriousbusiness/gotosocial/internal/visibility"
|
||||
"github.com/superseriousbusiness/gotosocial/testrig"
|
||||
)
|
||||
|
||||
|
|
@ -515,6 +516,12 @@ func (suite *TypeUtilsTestSuite) TearDownTest() {
|
|||
// Useful when a test in the test suite needs to change some state.
|
||||
func (suite *TypeUtilsTestSuite) GetProcessor() *processing.Processor {
|
||||
testrig.StartWorkers(&suite.state)
|
||||
testrig.StartTimelines(
|
||||
&suite.state,
|
||||
visibility.NewFilter(&suite.state),
|
||||
testrig.NewTestTypeConverter(suite.db),
|
||||
)
|
||||
|
||||
httpClient := testrig.NewMockHTTPClient(nil, "../../testrig/media")
|
||||
transportController := testrig.NewTestTransportController(&suite.state, httpClient)
|
||||
mediaManager := testrig.NewTestMediaManager(&suite.state)
|
||||
|
|
|
|||
|
|
@ -1142,6 +1142,14 @@ func (c *converter) ReportToAdminAPIReport(ctx context.Context, r *gtsmodel.Repo
|
|||
}, nil
|
||||
}
|
||||
|
||||
func (c *converter) ListToAPIList(ctx context.Context, l *gtsmodel.List) (*apimodel.List, error) {
|
||||
return &apimodel.List{
|
||||
ID: l.ID,
|
||||
Title: l.Title,
|
||||
RepliesPolicy: string(l.RepliesPolicy),
|
||||
}, nil
|
||||
}
|
||||
|
||||
// convertAttachmentsToAPIAttachments will convert a slice of GTS model attachments to frontend API model attachments, falling back to IDs if no GTS models supplied.
|
||||
func (c *converter) convertAttachmentsToAPIAttachments(ctx context.Context, attachments []*gtsmodel.MediaAttachment, attachmentIDs []string) ([]apimodel.Attachment, error) {
|
||||
var errs gtserror.MultiError
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue