Skip to content

Commit

Permalink
Replaced history hard code file path to history env.
Browse files Browse the repository at this point in the history
  • Loading branch information
grrlopes committed Aug 14, 2023
1 parent a9a4176 commit cb3a4dc
Show file tree
Hide file tree
Showing 5 changed files with 46 additions and 29 deletions.
12 changes: 7 additions & 5 deletions helper/errors.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,11 @@ package helper
import "errors"

var (
ErrDuplicate = errors.New("record already exists")
ErrNotExists = errors.New("row not exists")
ErrUpdateFailed = errors.New("update failed")
ErrDeleteFailed = errors.New("delete failed")
ErrEnvFailed = errors.New("You must set up env as\n export storydb=$(tty)")
ErrDuplicate = errors.New("record already exists")
ErrNotExists = errors.New("row not exists")
ErrUpdateFailed = errors.New("update failed")
ErrDeleteFailed = errors.New("delete failed")
ErrEnvFailed = errors.New("You must set up env as\n export storydb=$(tty)")
ErrEnvHISTFailed = errors.New("You must set up env as\n export HISTFILE=$HOME/.bash_history \n or" +
"\n export HISTFILE=$HOME/.zsh_history ")
)
12 changes: 5 additions & 7 deletions main.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,12 @@ import (
"github.com/grrlopes/storydb/repositories"
"github.com/grrlopes/storydb/repositories/sqlite"
"github.com/grrlopes/storydb/ui"
"github.com/grrlopes/storydb/usecase/listall"
"github.com/grrlopes/storydb/usecase/schema"
)

var (
repository repositories.ISqliteRepository = sqlite.NewSQLiteRepository()
usecaseMigrate schema.InputBoundary = schema.NewMigrate(repository)
usecaseAll listall.InputBoundary = listall.NewListAll(repository)
repositoryGorm repositories.ISqliteRepository = sqlite.NewGormRepostory()
usecaseMigrateGorm schema.InputBoundary = schema.NewMigrate(repositoryGorm)
)

type model struct {
Expand All @@ -42,7 +40,8 @@ func (m model) View() string {
}

func main() {
usecaseMigrate.Execute()
usecaseMigrateGorm.Execute()

m := model{
home: ui.NewHome(
&entity.CmdModel{},
Expand All @@ -52,7 +51,6 @@ func main() {
p := tea.NewProgram(
&m,
tea.WithAltScreen(),
tea.WithMouseCellMotion(),
)

_, err := p.Run()
Expand All @@ -68,7 +66,7 @@ func main() {

fd, err := syscall.Open(env, syscall.O_RDWR, 0)
if err != nil {
fmt.Println("Error opening DEVICE:", err)
fmt.Println("Error opening Device:", err)
os.Exit(1)
}

Expand Down
13 changes: 7 additions & 6 deletions repositories/fileparse/fconnector.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,19 @@ package fileparse
import (
"log"
"os"

"github.com/grrlopes/storydb/helper"
)

func OpenHist() (*os.File, error) {
homedir, err := os.UserHomeDir()
if err != nil {
log.Fatal("could not find the file:", err, "\n")
os.Exit(1)
env := os.Getenv("HISTFILE")
if env == "" {
log.Fatalf("%s %s", "could not read HISTFILE\n", helper.ErrEnvHISTFailed)
}

data, err := os.Open(homedir + "/.bash_history")
data, err := os.Open(env)
if err != nil {
log.Fatal("could not load file:", err, "\n")
log.Fatalln("could not load file:", err)
os.Exit(1)
}

Expand Down
26 changes: 21 additions & 5 deletions repositories/sqlite/connector.go
Original file line number Diff line number Diff line change
@@ -1,22 +1,38 @@
package sqlite

import (
"database/sql"
"fmt"
"log"
"os"
"time"

_ "github.com/mattn/go-sqlite3"
"gorm.io/driver/sqlite"
"gorm.io/gorm"
"gorm.io/gorm/logger"
)

func OpenDB() (*sql.DB, error) {
func GormOpenDB() (*gorm.DB, error) {
var store = "/.local/share/storydb/"

homedir, err := os.UserHomeDir()
os.Mkdir(homedir+store, 0755)

db, err := sql.Open("sqlite3", homedir+store+"sqlite.db")
newLogger := logger.New(
log.New(os.Stdout, "\r\n", log.LstdFlags),
logger.Config{
SlowThreshold: time.Second,
LogLevel: logger.Silent, // Silent , Error, Warning, Info
IgnoreRecordNotFoundError: true,
ParameterizedQueries: true,
Colorful: true,
},
)

db, err := gorm.Open(sqlite.Open(homedir+store+"sqlite.db"), &gorm.Config{
Logger: newLogger,
})
if err != nil {
log.Fatal("connector: ", err)
return db, fmt.Errorf("Failed to open database: %w", err)
}

return db, err
Expand Down
12 changes: 6 additions & 6 deletions usecase/fhistorytotal/fhistorytotal.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import (
"log"
"os"

"github.com/grrlopes/storydb/helper"
"github.com/grrlopes/storydb/repositories"
)

Expand All @@ -24,15 +25,14 @@ func NewFHistoryTotal(frepo repositories.IFileParsedRepository, srepo repositori
}

func (e execute) Execute() int {
homedir, err := os.UserHomeDir()
if err != nil {
log.Fatal("could not find the file:", err, "\n")
os.Exit(1)
env := os.Getenv("HISTFILE")
if env == "" {
log.Fatalf("%s %s", "could not read HISTFILE\n", helper.ErrEnvHISTFailed)
}

file, err := os.Open(homedir + "/.bash_history")
file, err := os.Open(env)
if err != nil {
log.Println("could not load file:", err)
log.Fatalln("could not load file:", err)
}

defer file.Close()
Expand Down

0 comments on commit cb3a4dc

Please sign in to comment.