package configs

import (
	"fmt"
	"os"
)

type Sqlite struct {
	Path   string `mapstructure:"path"`
	DbFile string `mapstructure:"db_file"`
}

func (s *Sqlite) Dsn() string {
	if _, err := os.Stat(s.Path); err != nil {
		if err := os.MkdirAll(s.Path, os.ModePerm); err != nil {
			panic(fmt.Errorf("init db dir falied, err: %v", err))
		}
	}
	if _, err := os.Stat(s.Path + "/" + s.DbFile); err != nil {
		if _, err := os.Create(s.Path + "/" + s.DbFile); err != nil {
			panic(fmt.Errorf("init db file falied, err: %v", err))
		}
	}
	return s.Path + "/" + s.DbFile
}