diff options
Diffstat (limited to 'internal/api/client')
| -rw-r--r-- | internal/api/client/accounts/lists_test.go | 2 | ||||
| -rw-r--r-- | internal/api/client/lists/listcreate.go | 37 | ||||
| -rw-r--r-- | internal/api/client/lists/listupdate.go | 18 | 
3 files changed, 52 insertions, 5 deletions
diff --git a/internal/api/client/accounts/lists_test.go b/internal/api/client/accounts/lists_test.go index 637babc35..95b50b1d3 100644 --- a/internal/api/client/accounts/lists_test.go +++ b/internal/api/client/accounts/lists_test.go @@ -89,7 +89,7 @@ func (suite *ListsTestSuite) getLists(targetAccountID string, expectedHTTPStatus  func (suite *ListsTestSuite) TestGetListsHit() {  	targetAccount := suite.testAccounts["admin_account"] -	suite.getLists(targetAccount.ID, http.StatusOK, `[{"id":"01H0G8E4Q2J3FE3JDWJVWEDCD1","title":"Cool Ass Posters From This Instance","replies_policy":"followed"}]`) +	suite.getLists(targetAccount.ID, http.StatusOK, `[{"id":"01H0G8E4Q2J3FE3JDWJVWEDCD1","title":"Cool Ass Posters From This Instance","replies_policy":"followed","exclusive":false}]`)  }  func (suite *ListsTestSuite) TestGetListsNoHit() { diff --git a/internal/api/client/lists/listcreate.go b/internal/api/client/lists/listcreate.go index 9046ce34d..c8f547ccc 100644 --- a/internal/api/client/lists/listcreate.go +++ b/internal/api/client/lists/listcreate.go @@ -46,6 +46,35 @@ import (  //	produces:  //	- application/json  // +//	parameters: +//	- +//		name: title +//		type: string +//		description: |- +//			Title of this list. +//			Sample: Cool People +//		in: formData +//	- +//		name: replies_policy +//		type: string +//		description: |- +//		  RepliesPolicy for this list. +//		  followed = Show replies to any followed user +//		  list = Show replies to members of the list +//		  none = Show replies to no one +//		  Sample: list +//		enum: +//			- followed +//			- list +//			- none +//		in: formData +//	- +//		name: exclusive +//		in: formData +//		description: Hide posts from members of this list from your home timeline. +//		type: boolean +//		default: false +//  //	security:  //	- OAuth2 Bearer:  //		- write:lists @@ -101,7 +130,13 @@ func (m *Module) ListCreatePOSTHandler(c *gin.Context) {  		return  	} -	apiList, errWithCode := m.processor.List().Create(c.Request.Context(), authed.Account, form.Title, repliesPolicy) +	apiList, errWithCode := m.processor.List().Create( +		c.Request.Context(), +		authed.Account, +		form.Title, +		repliesPolicy, +		form.Exclusive, +	)  	if errWithCode != nil {  		apiutil.ErrorHandler(c, errWithCode, m.processor.InstanceGetV1)  		return diff --git a/internal/api/client/lists/listupdate.go b/internal/api/client/lists/listupdate.go index 312aa9ec7..38caa9621 100644 --- a/internal/api/client/lists/listupdate.go +++ b/internal/api/client/lists/listupdate.go @@ -75,6 +75,11 @@ import (  //			- list  //			- none  //		in: formData +//	- +//		name: exclusive +//		in: formData +//		description: Hide posts from members of this list from your home timeline. +//		type: boolean  //  //	security:  //	- OAuth2 Bearer: @@ -146,13 +151,20 @@ func (m *Module) ListUpdatePUTHandler(c *gin.Context) {  		repliesPolicy = &rp  	} -	if form.Title == nil && repliesPolicy == nil { -		err = errors.New("neither title nor replies_policy was set; nothing to update") +	if form.Title == nil && repliesPolicy == nil && form.Exclusive == nil { +		err = errors.New("neither title nor replies_policy nor exclusive was set; nothing to update")  		apiutil.ErrorHandler(c, gtserror.NewErrorBadRequest(err, err.Error()), m.processor.InstanceGetV1)  		return  	} -	apiList, errWithCode := m.processor.List().Update(c.Request.Context(), authed.Account, targetListID, form.Title, repliesPolicy) +	apiList, errWithCode := m.processor.List().Update( +		c.Request.Context(), +		authed.Account, +		targetListID, +		form.Title, +		repliesPolicy, +		form.Exclusive, +	)  	if errWithCode != nil {  		apiutil.ErrorHandler(c, errWithCode, m.processor.InstanceGetV1)  		return  | 
