fix(ui): resolve lint issues in file browser #54

Merged
warkanum merged 2 commits from fix/lint-filebrowser into master 2026-10-03 18:17:31 +00:00
5 changed files with 18 additions and 4 deletions
+9
View File
@@ -73,6 +73,7 @@ func (r *Reader) ReadDatabase() (*models.Database, error) {
} }
return db, nil return db, nil
} }
func (r *Reader) ReadSchema() (*models.Schema, error) { func (r *Reader) ReadSchema() (*models.Schema, error) {
db, err := r.ReadDatabase() db, err := r.ReadDatabase()
if err != nil { if err != nil {
@@ -83,6 +84,7 @@ func (r *Reader) ReadSchema() (*models.Schema, error) {
} }
return db.Schemas[0], nil return db.Schemas[0], nil
} }
func (r *Reader) ReadTable() (*models.Table, error) { func (r *Reader) ReadTable() (*models.Table, error) {
s, err := r.ReadSchema() s, err := r.ReadSchema()
if err != nil { if err != nil {
@@ -93,6 +95,7 @@ func (r *Reader) ReadTable() (*models.Table, error) {
} }
return s.Tables[0], nil return s.Tables[0], nil
} }
func (r *Reader) connect() error { func (r *Reader) connect() error {
db, err := sql.Open("mysql", r.options.ConnectionString) db, err := sql.Open("mysql", r.options.ConnectionString)
if err != nil { if err != nil {
@@ -105,6 +108,7 @@ func (r *Reader) connect() error {
r.db = db r.db = db
return nil return nil
} }
func (r *Reader) close() { func (r *Reader) close() {
if r.db != nil { if r.db != nil {
_ = r.db.Close() _ = r.db.Close()
@@ -128,6 +132,7 @@ func (r *Reader) querySchemas(current string) ([]*models.Schema, error) {
} }
return out, rows.Err() return out, rows.Err()
} }
func (r *Reader) queryTables(schema string) ([]*models.Table, error) { func (r *Reader) queryTables(schema string) ([]*models.Table, error) {
rows, err := r.db.QueryContext(r.ctx, "SELECT TABLE_NAME FROM information_schema.TABLES WHERE TABLE_SCHEMA = ? AND TABLE_TYPE = 'BASE TABLE' ORDER BY TABLE_NAME", schema) rows, err := r.db.QueryContext(r.ctx, "SELECT TABLE_NAME FROM information_schema.TABLES WHERE TABLE_SCHEMA = ? AND TABLE_TYPE = 'BASE TABLE' ORDER BY TABLE_NAME", schema)
if err != nil { if err != nil {
@@ -144,6 +149,7 @@ func (r *Reader) queryTables(schema string) ([]*models.Table, error) {
} }
return out, rows.Err() return out, rows.Err()
} }
func (r *Reader) queryColumns(schema, table string) (map[string]*models.Column, error) { func (r *Reader) queryColumns(schema, table string) (map[string]*models.Column, error) {
rows, err := r.db.QueryContext(r.ctx, `SELECT COLUMN_NAME, COLUMN_TYPE, IS_NULLABLE, COLUMN_DEFAULT, ORDINAL_POSITION, EXTRA, COLUMN_COMMENT FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = ? AND TABLE_NAME = ? ORDER BY ORDINAL_POSITION`, schema, table) rows, err := r.db.QueryContext(r.ctx, `SELECT COLUMN_NAME, COLUMN_TYPE, IS_NULLABLE, COLUMN_DEFAULT, ORDINAL_POSITION, EXTRA, COLUMN_COMMENT FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = ? AND TABLE_NAME = ? ORDER BY ORDINAL_POSITION`, schema, table)
if err != nil { if err != nil {
@@ -171,6 +177,7 @@ func (r *Reader) queryColumns(schema, table string) (map[string]*models.Column,
} }
return out, rows.Err() return out, rows.Err()
} }
func (r *Reader) queryConstraints(schema, table string) (map[string]*models.Constraint, error) { func (r *Reader) queryConstraints(schema, table string) (map[string]*models.Constraint, error) {
rows, err := r.db.QueryContext(r.ctx, `SELECT CONSTRAINT_NAME, CONSTRAINT_TYPE, COLUMN_NAME, REFERENCED_TABLE_SCHEMA, REFERENCED_TABLE_NAME, REFERENCED_COLUMN_NAME, ORDINAL_POSITION FROM information_schema.KEY_COLUMN_USAGE k JOIN information_schema.TABLE_CONSTRAINTS t USING (CONSTRAINT_SCHEMA, TABLE_NAME, CONSTRAINT_NAME) WHERE k.TABLE_SCHEMA=? AND k.TABLE_NAME=? ORDER BY CONSTRAINT_NAME, ORDINAL_POSITION`, schema, table) rows, err := r.db.QueryContext(r.ctx, `SELECT CONSTRAINT_NAME, CONSTRAINT_TYPE, COLUMN_NAME, REFERENCED_TABLE_SCHEMA, REFERENCED_TABLE_NAME, REFERENCED_COLUMN_NAME, ORDINAL_POSITION FROM information_schema.KEY_COLUMN_USAGE k JOIN information_schema.TABLE_CONSTRAINTS t USING (CONSTRAINT_SCHEMA, TABLE_NAME, CONSTRAINT_NAME) WHERE k.TABLE_SCHEMA=? AND k.TABLE_NAME=? ORDER BY CONSTRAINT_NAME, ORDINAL_POSITION`, schema, table)
if err != nil { if err != nil {
@@ -207,6 +214,7 @@ func (r *Reader) queryConstraints(schema, table string) (map[string]*models.Cons
} }
return out, rows.Err() return out, rows.Err()
} }
func (r *Reader) queryIndexes(schema, table string) (map[string]*models.Index, error) { func (r *Reader) queryIndexes(schema, table string) (map[string]*models.Index, error) {
rows, err := r.db.QueryContext(r.ctx, `SELECT INDEX_NAME, NON_UNIQUE, COLUMN_NAME, SEQ_IN_INDEX, INDEX_TYPE FROM information_schema.STATISTICS WHERE TABLE_SCHEMA=? AND TABLE_NAME=? AND INDEX_NAME <> 'PRIMARY' ORDER BY INDEX_NAME, SEQ_IN_INDEX`, schema, table) rows, err := r.db.QueryContext(r.ctx, `SELECT INDEX_NAME, NON_UNIQUE, COLUMN_NAME, SEQ_IN_INDEX, INDEX_TYPE FROM information_schema.STATISTICS WHERE TABLE_SCHEMA=? AND TABLE_NAME=? AND INDEX_NAME <> 'PRIMARY' ORDER BY INDEX_NAME, SEQ_IN_INDEX`, schema, table)
if err != nil { if err != nil {
@@ -231,6 +239,7 @@ func (r *Reader) queryIndexes(schema, table string) (map[string]*models.Index, e
} }
return out, rows.Err() return out, rows.Err()
} }
func (r *Reader) deriveRelationship(t *models.Table, c *models.Constraint) { func (r *Reader) deriveRelationship(t *models.Table, c *models.Constraint) {
n := fmt.Sprintf("%s_to_%s", t.Name, c.ReferencedTable) n := fmt.Sprintf("%s_to_%s", t.Name, c.ReferencedTable)
rel := models.InitRelationship(n, models.OneToMany) rel := models.InitRelationship(n, models.OneToMany)
+2 -1
View File
@@ -1,8 +1,9 @@
package mysql package mysql
import ( import (
"git.warky.dev/wdevs/relspecgo/pkg/readers"
"testing" "testing"
"git.warky.dev/wdevs/relspecgo/pkg/readers"
) )
func TestReaderMapDataType(t *testing.T) { func TestReaderMapDataType(t *testing.T) {
+1 -1
View File
@@ -63,7 +63,7 @@ func MatchesExtension(name string, exts []string) bool {
} }
ext := strings.ToLower(filepath.Ext(name)) ext := strings.ToLower(filepath.Ext(name))
for _, e := range exts { for _, e := range exts {
if strings.ToLower(e) == ext { if strings.EqualFold(e, ext) {
return true return true
} }
} }
+1 -2
View File
@@ -87,8 +87,7 @@ func (se *SchemaEditor) showFileBrowser(cfg FileBrowserConfig) {
cfg.OnSelect(path) cfg.OnSelect(path)
} }
var refresh func() refresh := func() {
refresh = func() {
exts := cfg.Extensions exts := cfg.Extensions
if !useFilter { if !useFilter {
exts = nil exts = nil
+5
View File
@@ -55,6 +55,7 @@ func (w *Writer) writeDatabaseDDL(db *models.Database) error {
} }
return nil return nil
} }
func (w *Writer) WriteSchema(s *models.Schema) error { func (w *Writer) WriteSchema(s *models.Schema) error {
for _, t := range s.Tables { for _, t := range s.Tables {
if err := w.writeTable(s, t); err != nil { if err := w.writeTable(s, t); err != nil {
@@ -63,12 +64,14 @@ func (w *Writer) WriteSchema(s *models.Schema) error {
} }
return nil return nil
} }
func (w *Writer) WriteTable(t *models.Table) error { func (w *Writer) WriteTable(t *models.Table) error {
if w.writer == nil { if w.writer == nil {
w.writer = os.Stdout w.writer = os.Stdout
} }
return w.writeTable(nil, t) return w.writeTable(nil, t)
} }
func (w *Writer) writeTable(s *models.Schema, t *models.Table) error { func (w *Writer) writeTable(s *models.Schema, t *models.Table) error {
name := t.Name name := t.Name
if s != nil { if s != nil {
@@ -125,6 +128,7 @@ func (w *Writer) writeTable(s *models.Schema, t *models.Table) error {
} }
return nil return nil
} }
func (w *Writer) execute(dbm *models.Database, conn string) error { func (w *Writer) execute(dbm *models.Database, conn string) error {
var b strings.Builder var b strings.Builder
old := w.writer old := w.writer
@@ -150,6 +154,7 @@ func (w *Writer) execute(dbm *models.Database, conn string) error {
} }
return nil return nil
} }
func stripComments(sqlText string) string { func stripComments(sqlText string) string {
lines := strings.Split(sqlText, "\n") lines := strings.Split(sqlText, "\n")
kept := lines[:0] kept := lines[:0]