|
|
package padArchiver
import ( "os"
"github.com/fatih/color" )
//Storage is the directory where are stored the repos
const Storage = "reposStorage"
//Repo is the directory where is placed the repository of pads
type Repo struct { Dir string }
//OpenRepo opens a repo from the directory
func OpenRepo(directory string) Repo { //if not exist create the repos directory
_ = os.Mkdir(Storage, os.ModePerm)
var repo Repo repo.Dir = Storage + "/" + directory //create the repo directory
_ = os.Mkdir(repo.Dir, os.ModePerm) return repo }
//StorePad gets a pad from the link, and stores it into local directory. Then also, adds the file to IPFS.
func (repo *Repo) StorePad(link string, directory string, title string, ipfsActive bool) (string, error) { path, err := repo.GetPad(link, "md", directory, title) if err != nil { color.Red(err.Error()) return "", err }
if !ipfsActive { return "", nil } hash, err := IpfsAdd(path) if err != nil { color.Red(err.Error()) return hash, err }
err = AddLineToFile(path, "IPFS hash of this document: "+hash) if err != nil { color.Red(err.Error()) return hash, err } // TODO
// err = repo.GitUpdate("update commit")
// if err != nil {
// color.Red(err.Error())
// return hash, err
// }
return hash, nil }
|