package templategen import ( "fmt" docTemp "github.com/opencontrol/doc-template" "io" "net/http" "os" "time" ) const ( PathExamples = "./static/examples/docx" TempDownloaded = "./tmp/downloaded" TempGenerated = "./tmp/generated" ) func GenerateDocName(name string) string { return fmt.Sprintf("%v_%v.docx", name, time.Now().UnixNano()) } func GenerateFile(filename string, data interface{}) error { dc, err := docTemp.GetTemplate(TempDownloaded + "/" + filename) dc.Template.Option("missingkey=zero") if err != nil { return err } dc.Parse() return dc.Execute(TempGenerated+"/"+filename, data) } // DownloadDocument - загружает документ в filepath из url func DownloadDocument(filepath, url string) error { resp, err := http.Get(url) if err != nil { return err } defer resp.Body.Close() // Create the file out, err := os.Create(filepath) if err != nil { return err } defer out.Close() // Write the body to file _, err = io.Copy(out, resp.Body) return err } func DeleteDocument(filepath string) error { return os.Remove(filepath) } func ShareDocument(filepath string) (error, string) { return nil, "" }