The Great Sources Linting.

This commit is contained in:
2021-06-14 23:48:34 +05:00
parent 3265c5a4b2
commit 6ea6e2e144
43 changed files with 95 additions and 155 deletions

View File

@@ -25,19 +25,15 @@
package database
import (
// stdlib
"database/sql"
"time"
// local
_ "github.com/go-sql-driver/mysql"
"go.dev.pztrn.name/fastpastebin/internal/database/dialects/flatfiles"
dialectinterface "go.dev.pztrn.name/fastpastebin/internal/database/dialects/interface"
"go.dev.pztrn.name/fastpastebin/internal/database/dialects/mysql"
"go.dev.pztrn.name/fastpastebin/internal/database/dialects/postgresql"
"go.dev.pztrn.name/fastpastebin/internal/structs"
// other
_ "github.com/go-sql-driver/mysql"
)
// Database represents control structure for database connection.
@@ -111,7 +107,7 @@ func (db *Database) Initialize() {
if c.Config.Database.Type == "mysql" {
mysql.New(c)
} else if c.Config.Database.Type == "flatfiles" {
} else if c.Config.Database.Type == flatfiles.FlatFileDialect {
flatfiles.New(c)
} else if c.Config.Database.Type == "postgresql" {
postgresql.New(c)

View File

@@ -25,11 +25,12 @@
package flatfiles
import (
// local
"go.dev.pztrn.name/fastpastebin/internal/context"
dialectinterface "go.dev.pztrn.name/fastpastebin/internal/database/dialects/interface"
)
const FlatFileDialect = "flatfiles"
var (
c *context.Context
f *FlatFiles

View File

@@ -25,7 +25,6 @@
package flatfiles
import (
// stdlib
"database/sql"
"encoding/json"
"io/ioutil"
@@ -36,14 +35,13 @@ import (
"strings"
"sync"
// local
"go.dev.pztrn.name/fastpastebin/internal/structs"
)
type FlatFiles struct {
writeMutex sync.Mutex
path string
pastesIndex []Index
writeMutex sync.Mutex
}
// DeletePaste deletes paste from disk and index.
@@ -89,6 +87,7 @@ func (ff *FlatFiles) GetPaste(pasteID int) (*structs.Paste, error) {
pasteInBytes, err := ioutil.ReadFile(pastePath)
if err != nil {
c.Logger.Debug().Err(err).Msg("Failed to read paste from storage")
return nil, err
}
@@ -100,6 +99,7 @@ func (ff *FlatFiles) GetPaste(pasteID int) (*structs.Paste, error) {
err1 := json.Unmarshal(pasteInBytes, paste)
if err1 != nil {
c.Logger.Error().Err(err1).Msgf("Failed to parse paste")
return nil, err1
}
@@ -132,11 +132,13 @@ func (ff *FlatFiles) GetPagedPastes(page int) ([]structs.Paste, error) {
if idx < startPagination {
c.Logger.Debug().Int("paste index", idx).Msg("Paste isn't in pagination query: too low index")
continue
}
if (idx-1 >= startPagination && page > 1 && idx > startPagination+((page-1)*c.Config.Pastes.Pagination)) || (idx-1 >= startPagination && page == 1 && idx > startPagination+(page*c.Config.Pastes.Pagination)) {
c.Logger.Debug().Int("paste index", idx).Msg("Paste isn't in pagination query: too high index")
break
}
@@ -148,12 +150,14 @@ func (ff *FlatFiles) GetPagedPastes(page int) ([]structs.Paste, error) {
pasteRawData, err := ioutil.ReadFile(filepath.Join(ff.path, "pastes", strconv.Itoa(paste.ID)+".json"))
if err != nil {
c.Logger.Error().Err(err).Msg("Failed to read paste data")
continue
}
err1 := json.Unmarshal(pasteRawData, pasteData)
if err1 != nil {
c.Logger.Error().Err(err1).Msg("Failed to parse paste data")
continue
}
@@ -253,12 +257,14 @@ func (ff *FlatFiles) SavePaste(p *structs.Paste) (int64, error) {
data, err := json.Marshal(p)
if err != nil {
ff.writeMutex.Unlock()
return 0, err
}
err = ioutil.WriteFile(filepath.Join(ff.path, "pastes", strconv.Itoa(pasteID)+".json"), data, 0644)
if err != nil {
ff.writeMutex.Unlock()
return 0, err
}
@@ -278,12 +284,14 @@ func (ff *FlatFiles) Shutdown() {
indexData, err := json.Marshal(ff.pastesIndex)
if err != nil {
c.Logger.Error().Err(err).Msg("Failed to encode index data into JSON")
return
}
err1 := ioutil.WriteFile(filepath.Join(ff.path, "pastes", "index.json"), indexData, 0644)
if err1 != nil {
c.Logger.Error().Err(err1).Msg("Failed to write index data to file. Pretty sure that you've lost your pastes.")
return
}
}

View File

@@ -25,10 +25,8 @@
package flatfiles
import (
// stdlib
"database/sql"
// local
"go.dev.pztrn.name/fastpastebin/internal/structs"
)

View File

@@ -25,10 +25,8 @@
package dialectinterface
import (
// stdlib
"database/sql"
// local
"go.dev.pztrn.name/fastpastebin/internal/structs"
)

View File

@@ -25,7 +25,6 @@
package mysql
import (
// local
"go.dev.pztrn.name/fastpastebin/internal/context"
dialectinterface "go.dev.pztrn.name/fastpastebin/internal/database/dialects/interface"
)

View File

@@ -25,10 +25,8 @@
package mysql
import (
// stdlib
"database/sql"
// local
"go.dev.pztrn.name/fastpastebin/internal/structs"
)

View File

@@ -25,7 +25,6 @@
package migrations
import (
// stdlib
"database/sql"
)

View File

@@ -25,7 +25,6 @@
package migrations
import (
// stdlib
"database/sql"
)

View File

@@ -25,7 +25,6 @@
package migrations
import (
// stdlib
"database/sql"
)

View File

@@ -25,7 +25,6 @@
package migrations
import (
// stdlib
"database/sql"
)

View File

@@ -25,17 +25,11 @@
package migrations
import (
// local
"go.dev.pztrn.name/fastpastebin/internal/context"
// other
//"gitlab.com/jmoiron/sqlx"
"github.com/pressly/goose"
"go.dev.pztrn.name/fastpastebin/internal/context"
)
var (
c *context.Context
)
var c *context.Context
// New initializes migrations.
func New(cc *context.Context) {

View File

@@ -25,17 +25,13 @@
package mysql
import (
// stdlib
"database/sql"
"fmt"
// local
"go.dev.pztrn.name/fastpastebin/internal/database/dialects/mysql/migrations"
"go.dev.pztrn.name/fastpastebin/internal/structs"
// other
_ "github.com/go-sql-driver/mysql"
"github.com/jmoiron/sqlx"
"go.dev.pztrn.name/fastpastebin/internal/database/dialects/mysql/migrations"
"go.dev.pztrn.name/fastpastebin/internal/structs"
)
// Database is a MySQL/MariaDB connection controlling structure.
@@ -169,6 +165,7 @@ func (db *Database) Initialize() {
dbConn, err := sqlx.Connect("mysql", dbConnString)
if err != nil {
c.Logger.Error().Err(err).Msg("Failed to connect to database")
return
}

View File

@@ -25,7 +25,6 @@
package postgresql
import (
// local
"go.dev.pztrn.name/fastpastebin/internal/context"
dialectinterface "go.dev.pztrn.name/fastpastebin/internal/database/dialects/interface"
)

View File

@@ -25,10 +25,8 @@
package postgresql
import (
// stdlib
"database/sql"
// local
"go.dev.pztrn.name/fastpastebin/internal/structs"
)

View File

@@ -25,7 +25,6 @@
package migrations
import (
// stdlib
"database/sql"
)

View File

@@ -25,7 +25,6 @@
package migrations
import (
// stdlib
"database/sql"
)

View File

@@ -25,7 +25,6 @@
package migrations
import (
// stdlib
"database/sql"
)

View File

@@ -25,7 +25,6 @@
package migrations
import (
// stdlib
"database/sql"
)

View File

@@ -25,17 +25,11 @@
package migrations
import (
// local
"go.dev.pztrn.name/fastpastebin/internal/context"
// other
//"gitlab.com/jmoiron/sqlx"
"github.com/pressly/goose"
"go.dev.pztrn.name/fastpastebin/internal/context"
)
var (
c *context.Context
)
var c *context.Context
// New initializes migrations.
func New(cc *context.Context) {

View File

@@ -25,19 +25,14 @@
package postgresql
import (
// stdlib
"database/sql"
"fmt"
"time"
// local
"github.com/jmoiron/sqlx"
_ "github.com/lib/pq"
"go.dev.pztrn.name/fastpastebin/internal/database/dialects/postgresql/migrations"
"go.dev.pztrn.name/fastpastebin/internal/structs"
// other
"github.com/jmoiron/sqlx"
// postgresql adapter
_ "github.com/lib/pq"
)
// Database is a PostgreSQL connection controlling structure.
@@ -182,6 +177,7 @@ func (db *Database) Initialize() {
dbConn, err := sqlx.Connect("postgres", dbConnString)
if err != nil {
c.Logger.Error().Err(err).Msg("Failed to connect to database")
return
}

View File

@@ -25,7 +25,6 @@
package database
import (
// local
"go.dev.pztrn.name/fastpastebin/internal/context"
databaseinterface "go.dev.pztrn.name/fastpastebin/internal/database/interface"
)

View File

@@ -25,11 +25,8 @@
package database
import (
// stdlib
"database/sql"
// local
dialectinterface "go.dev.pztrn.name/fastpastebin/internal/database/dialects/interface"
"go.dev.pztrn.name/fastpastebin/internal/structs"
)

View File

@@ -25,10 +25,8 @@
package databaseinterface
import (
// stdlib
"database/sql"
// local
dialectinterface "go.dev.pztrn.name/fastpastebin/internal/database/dialects/interface"
"go.dev.pztrn.name/fastpastebin/internal/structs"
)