mirror of
				https://github.com/superseriousbusiness/gotosocial.git
				synced 2025-10-31 08:42:27 -05:00 
			
		
		
		
	Golint (#255)
This commit is contained in:
		
					parent
					
						
							
								36a09dd0df
							
						
					
				
			
			
				commit
				
					
						231075f28d
					
				
			
		
					 7 changed files with 21 additions and 40 deletions
				
			
		|  | @ -16,30 +16,6 @@ | ||||||
|    along with this program.  If not, see <http://www.gnu.org/licenses/>. |    along with this program.  If not, see <http://www.gnu.org/licenses/>. | ||||||
| */ | */ | ||||||
| 
 | 
 | ||||||
| // Package classification awesome. |  | ||||||
| // |  | ||||||
| // Documentation of our awesome AaaaaaaaaaPI. |  | ||||||
| // |  | ||||||
| //     Schemes: http |  | ||||||
| //     BasePath: / |  | ||||||
| //     Version: 1.0.0 |  | ||||||
| //     Host: some-url.com |  | ||||||
| // |  | ||||||
| //     Consumes: |  | ||||||
| //     - application/json |  | ||||||
| // |  | ||||||
| //     Produces: |  | ||||||
| //     - application/json |  | ||||||
| // |  | ||||||
| //     Security: |  | ||||||
| //     - basic |  | ||||||
| // |  | ||||||
| //    SecurityDefinitions: |  | ||||||
| //    basic: |  | ||||||
| //      type: basic |  | ||||||
| // |  | ||||||
| // swagger:meta |  | ||||||
| 
 |  | ||||||
| package main | package main | ||||||
| 
 | 
 | ||||||
| import ( | import ( | ||||||
|  |  | ||||||
							
								
								
									
										4
									
								
								internal/cache/status.go
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								internal/cache/status.go
									
										
									
									
										vendored
									
									
								
							|  | @ -7,7 +7,7 @@ import ( | ||||||
| 	"github.com/superseriousbusiness/gotosocial/internal/gtsmodel" | 	"github.com/superseriousbusiness/gotosocial/internal/gtsmodel" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| // statusCache is a wrapper around ttlcache.Cache to provide URL and URI lookups for gtsmodel.Status | // StatusCache is a wrapper around ttlcache.Cache to provide URL and URI lookups for gtsmodel.Status | ||||||
| type StatusCache struct { | type StatusCache struct { | ||||||
| 	cache *ttlcache.Cache   // map of IDs -> cached statuses | 	cache *ttlcache.Cache   // map of IDs -> cached statuses | ||||||
| 	urls  map[string]string // map of status URLs -> IDs | 	urls  map[string]string // map of status URLs -> IDs | ||||||
|  | @ -15,7 +15,7 @@ type StatusCache struct { | ||||||
| 	mutex sync.Mutex | 	mutex sync.Mutex | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // newStatusCache returns a new instantiated statusCache object | // NewStatusCache returns a new instantiated statusCache object | ||||||
| func NewStatusCache() *StatusCache { | func NewStatusCache() *StatusCache { | ||||||
| 	c := StatusCache{ | 	c := StatusCache{ | ||||||
| 		cache: ttlcache.NewCache(), | 		cache: ttlcache.NewCache(), | ||||||
|  |  | ||||||
|  | @ -45,6 +45,8 @@ import ( | ||||||
| 	"github.com/uptrace/bun/dialect/pgdialect" | 	"github.com/uptrace/bun/dialect/pgdialect" | ||||||
| 	"github.com/uptrace/bun/dialect/sqlitedialect" | 	"github.com/uptrace/bun/dialect/sqlitedialect" | ||||||
| 	"github.com/uptrace/bun/migrate" | 	"github.com/uptrace/bun/migrate" | ||||||
|  | 
 | ||||||
|  | 	// blank import for the sqlite driver for bun | ||||||
| 	_ "modernc.org/sqlite" | 	_ "modernc.org/sqlite" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -10,7 +10,7 @@ import ( | ||||||
| 	"github.com/uptrace/bun/dialect" | 	"github.com/uptrace/bun/dialect" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| // dbConn wrapps a bun.DB conn to provide SQL-type specific additional functionality | // DBConn wrapps a bun.DB conn to provide SQL-type specific additional functionality | ||||||
| type DBConn struct { | type DBConn struct { | ||||||
| 	// TODO: move *Config here, no need to be in each struct type | 	// TODO: move *Config here, no need to be in each struct type | ||||||
| 
 | 
 | ||||||
|  | @ -37,6 +37,7 @@ func WrapDBConn(dbConn *bun.DB, log *logrus.Logger) *DBConn { | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | // RunInTx wraps execution of the supplied transaction function. | ||||||
| func (conn *DBConn) RunInTx(ctx context.Context, fn func(bun.Tx) error) db.Error { | func (conn *DBConn) RunInTx(ctx context.Context, fn func(bun.Tx) error) db.Error { | ||||||
| 	// Acquire a new transaction | 	// Acquire a new transaction | ||||||
| 	tx, err := conn.BeginTx(ctx, nil) | 	tx, err := conn.BeginTx(ctx, nil) | ||||||
|  |  | ||||||
|  | @ -46,9 +46,8 @@ func loadTemplates(cfg *config.Config, engine *gin.Engine) error { | ||||||
| func oddOrEven(n int) string { | func oddOrEven(n int) string { | ||||||
| 	if n%2 == 0 { | 	if n%2 == 0 { | ||||||
| 		return "even" | 		return "even" | ||||||
| 	} else { |  | ||||||
| 		return "odd" |  | ||||||
| 	} | 	} | ||||||
|  | 	return "odd" | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func noescape(str string) template.HTML { | func noescape(str string) template.HTML { | ||||||
|  | @ -60,24 +59,24 @@ func timestamp(stamp string) string { | ||||||
| 	return t.Format("January 2, 2006, 15:04:05") | 	return t.Format("January 2, 2006, 15:04:05") | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| type IconWithLabel struct { | type iconWithLabel struct { | ||||||
| 	faIcon string | 	faIcon string | ||||||
| 	label  string | 	label  string | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func visibilityIcon(visibility model.Visibility) template.HTML { | func visibilityIcon(visibility model.Visibility) template.HTML { | ||||||
| 	var icon IconWithLabel | 	var icon iconWithLabel | ||||||
| 
 | 
 | ||||||
| 	if visibility == model.VisibilityPublic { | 	if visibility == model.VisibilityPublic { | ||||||
| 		icon = IconWithLabel{"globe", "public"} | 		icon = iconWithLabel{"globe", "public"} | ||||||
| 	} else if visibility == model.VisibilityUnlisted { | 	} else if visibility == model.VisibilityUnlisted { | ||||||
| 		icon = IconWithLabel{"unlock", "unlisted"} | 		icon = iconWithLabel{"unlock", "unlisted"} | ||||||
| 	} else if visibility == model.VisibilityPrivate { | 	} else if visibility == model.VisibilityPrivate { | ||||||
| 		icon = IconWithLabel{"lock", "private"} | 		icon = iconWithLabel{"lock", "private"} | ||||||
| 	} else if visibility == model.VisibilityMutualsOnly { | 	} else if visibility == model.VisibilityMutualsOnly { | ||||||
| 		icon = IconWithLabel{"handshake-o", "mutuals only"} | 		icon = iconWithLabel{"handshake-o", "mutuals only"} | ||||||
| 	} else if visibility == model.VisibilityDirect { | 	} else if visibility == model.VisibilityDirect { | ||||||
| 		icon = IconWithLabel{"envelope", "direct"} | 		icon = iconWithLabel{"envelope", "direct"} | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	return template.HTML(fmt.Sprintf(`<i aria-label="Visiblity: %v" class="fa fa-%v"></i>`, icon.label, icon.faIcon)) | 	return template.HTML(fmt.Sprintf(`<i aria-label="Visiblity: %v" class="fa fa-%v"></i>`, icon.label, icon.faIcon)) | ||||||
|  |  | ||||||
|  | @ -32,12 +32,14 @@ import ( | ||||||
| 	"github.com/superseriousbusiness/gotosocial/internal/router" | 	"github.com/superseriousbusiness/gotosocial/internal/router" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
|  | // Module implements the api.ClientModule interface for web pages. | ||||||
| type Module struct { | type Module struct { | ||||||
| 	config    *config.Config | 	config    *config.Config | ||||||
| 	processor processing.Processor | 	processor processing.Processor | ||||||
| 	log       *logrus.Logger | 	log       *logrus.Logger | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | // New returns a new api.ClientModule for web pages. | ||||||
| func New(config *config.Config, processor processing.Processor, log *logrus.Logger) api.ClientModule { | func New(config *config.Config, processor processing.Processor, log *logrus.Logger) api.ClientModule { | ||||||
| 	return &Module{ | 	return &Module{ | ||||||
| 		config:    config, | 		config:    config, | ||||||
|  | @ -62,6 +64,7 @@ func (m *Module) baseHandler(c *gin.Context) { | ||||||
| 	}) | 	}) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | // NotFoundHandler serves a 404 html page instead of a blank 404 error. | ||||||
| func (m *Module) NotFoundHandler(c *gin.Context) { | func (m *Module) NotFoundHandler(c *gin.Context) { | ||||||
| 	l := m.log.WithField("func", "404") | 	l := m.log.WithField("func", "404") | ||||||
| 	l.Trace("serving 404 html") | 	l.Trace("serving 404 html") | ||||||
|  | @ -87,11 +90,11 @@ func (m *Module) Route(s router.Router) error { | ||||||
| 		return fmt.Errorf("error getting current working directory: %s", err) | 		return fmt.Errorf("error getting current working directory: %s", err) | ||||||
| 	} | 	} | ||||||
| 	assetPath := filepath.Join(cwd, m.config.TemplateConfig.AssetBaseDir) | 	assetPath := filepath.Join(cwd, m.config.TemplateConfig.AssetBaseDir) | ||||||
| 	s.AttachStaticFS("/assets", FileSystem{http.Dir(assetPath)}) | 	s.AttachStaticFS("/assets", fileSystem{http.Dir(assetPath)}) | ||||||
| 
 | 
 | ||||||
| 	// Admin panel route, if it exists | 	// Admin panel route, if it exists | ||||||
| 	adminPath := filepath.Join(cwd, m.config.TemplateConfig.AssetBaseDir, "/admin") | 	adminPath := filepath.Join(cwd, m.config.TemplateConfig.AssetBaseDir, "/admin") | ||||||
| 	s.AttachStaticFS("/admin", FileSystem{http.Dir(adminPath)}) | 	s.AttachStaticFS("/admin", fileSystem{http.Dir(adminPath)}) | ||||||
| 
 | 
 | ||||||
| 	// serve front-page | 	// serve front-page | ||||||
| 	s.AttachHandler(http.MethodGet, "/", m.baseHandler) | 	s.AttachHandler(http.MethodGet, "/", m.baseHandler) | ||||||
|  |  | ||||||
|  | @ -23,13 +23,13 @@ import ( | ||||||
| 	"strings" | 	"strings" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| type FileSystem struct { | type fileSystem struct { | ||||||
| 	fs http.FileSystem | 	fs http.FileSystem | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // FileSystem server that only accepts directory listings when an index.html is available | // FileSystem server that only accepts directory listings when an index.html is available | ||||||
| // from https://gist.github.com/hauxe/f2ea1901216177ccf9550a1b8bd59178 | // from https://gist.github.com/hauxe/f2ea1901216177ccf9550a1b8bd59178 | ||||||
| func (fs FileSystem) Open(path string) (http.File, error) { | func (fs fileSystem) Open(path string) (http.File, error) { | ||||||
| 	f, err := fs.fs.Open(path) | 	f, err := fs.fs.Open(path) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return nil, err | 		return nil, err | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue