| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 | package dbimport (	"os"	"path/filepath"	"gorm.io/driver/sqlite"	"gorm.io/gorm"	"gorm.io/gorm/logger")// sqliteConnector for initializing and// connecting to a sqlite database.type sqliteConnector struct{}// sqliteConnector.connect connects and// initializes a connection to sqlite.func (s *sqliteConnector) connect() (*gorm.DB, error) {	// ensure data dir exists.	_, err := os.Stat("data")	if err != nil {		if os.IsNotExist(err) {			err = os.Mkdir("data", 0700)			if err != nil {				return nil, err			}		} else {			return nil, err		}	}	dbFilePath := filepath.Join("data", "netmaker.db")	// ensure netmaker_v1.db exists.	_, err = os.Stat(dbFilePath)	if err != nil {		if os.IsNotExist(err) {			file, err := os.Create(dbFilePath)			if err != nil {				return nil, err			}			err = file.Close()			if err != nil {				return nil, err			}		} else {			return nil, err		}	}	return gorm.Open(sqlite.Open(dbFilePath), &gorm.Config{		Logger: logger.Default.LogMode(logger.Silent),	})}
 |