mirror of
				https://github.com/superseriousbusiness/gotosocial.git
				synced 2025-10-31 07:42:26 -05:00 
			
		
		
		
	* media manager tidy-up: de-interface and remove unused PostDataFunc Signed-off-by: kim <grufwub@gmail.com> * remove last traces of media.Manager being an interface Signed-off-by: kim <grufwub@gmail.com> * update error to provide caller, allow tuneable via build tags Signed-off-by: kim <grufwub@gmail.com> * remove kim-specific build script changes Signed-off-by: kim <grufwub@gmail.com> * fix merge conflicts Signed-off-by: kim <grufwub@gmail.com> * update build-script to support externally setting build variables Signed-off-by: kim <grufwub@gmail.com> --------- Signed-off-by: kim <grufwub@gmail.com>
		
			
				
	
	
		
			65 lines
		
	
	
	
		
			2.3 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			65 lines
		
	
	
	
		
			2.3 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| // GoToSocial
 | |
| // Copyright (C) GoToSocial Authors admin@gotosocial.org
 | |
| // SPDX-License-Identifier: AGPL-3.0-or-later
 | |
| //
 | |
| // This program is free software: you can redistribute it and/or modify
 | |
| // it under the terms of the GNU Affero General Public License as published by
 | |
| // the Free Software Foundation, either version 3 of the License, or
 | |
| // (at your option) any later version.
 | |
| //
 | |
| // This program is distributed in the hope that it will be useful,
 | |
| // but WITHOUT ANY WARRANTY; without even the implied warranty of
 | |
| // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | |
| // GNU Affero General Public License for more details.
 | |
| //
 | |
| // You should have received a copy of the GNU Affero General Public License
 | |
| // along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | |
| 
 | |
| package account
 | |
| 
 | |
| import (
 | |
| 	"github.com/superseriousbusiness/gotosocial/internal/federation"
 | |
| 	"github.com/superseriousbusiness/gotosocial/internal/gtsmodel"
 | |
| 	"github.com/superseriousbusiness/gotosocial/internal/media"
 | |
| 	"github.com/superseriousbusiness/gotosocial/internal/oauth"
 | |
| 	"github.com/superseriousbusiness/gotosocial/internal/state"
 | |
| 	"github.com/superseriousbusiness/gotosocial/internal/text"
 | |
| 	"github.com/superseriousbusiness/gotosocial/internal/typeutils"
 | |
| 	"github.com/superseriousbusiness/gotosocial/internal/visibility"
 | |
| )
 | |
| 
 | |
| // Processor wraps functionality for updating, creating, and deleting accounts in response to API requests.
 | |
| //
 | |
| // It also contains logic for actions towards accounts such as following, blocking, seeing follows, etc.
 | |
| type Processor struct {
 | |
| 	state        *state.State
 | |
| 	tc           typeutils.TypeConverter
 | |
| 	mediaManager *media.Manager
 | |
| 	oauthServer  oauth.Server
 | |
| 	filter       *visibility.Filter
 | |
| 	formatter    text.Formatter
 | |
| 	federator    federation.Federator
 | |
| 	parseMention gtsmodel.ParseMentionFunc
 | |
| }
 | |
| 
 | |
| // New returns a new account processor.
 | |
| func New(
 | |
| 	state *state.State,
 | |
| 	tc typeutils.TypeConverter,
 | |
| 	mediaManager *media.Manager,
 | |
| 	oauthServer oauth.Server,
 | |
| 	federator federation.Federator,
 | |
| 	filter *visibility.Filter,
 | |
| 	parseMention gtsmodel.ParseMentionFunc,
 | |
| ) Processor {
 | |
| 	return Processor{
 | |
| 		state:        state,
 | |
| 		tc:           tc,
 | |
| 		mediaManager: mediaManager,
 | |
| 		oauthServer:  oauthServer,
 | |
| 		filter:       filter,
 | |
| 		formatter:    text.NewFormatter(state.DB),
 | |
| 		federator:    federator,
 | |
| 		parseMention: parseMention,
 | |
| 	}
 | |
| }
 |