2022-09-15 13:53:55 +00:00
|
|
|
package templategen
|
|
|
|
|
|
|
|
import (
|
|
|
|
"github.com/Pena-Co-Ltd/amocrm_templategen_back/gdisk"
|
|
|
|
)
|
|
|
|
|
2022-11-24 19:37:47 +00:00
|
|
|
func GDiskGenerateDoc(file, name, userID, saveFolderID string, client *GDisk.Client, data interface{}) (string, error) {
|
2022-11-12 10:24:48 +00:00
|
|
|
filename := GenerateDocName(name)
|
2022-09-15 13:53:55 +00:00
|
|
|
|
|
|
|
// Download file
|
|
|
|
downloaded := TempDownloaded + "/" + filename
|
2022-11-12 10:24:48 +00:00
|
|
|
err := client.DownloadFile(downloaded, file)
|
2022-09-15 13:53:55 +00:00
|
|
|
if err != nil {
|
2022-11-24 19:37:47 +00:00
|
|
|
return "", err
|
2022-09-15 13:53:55 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// Generate file
|
|
|
|
generated := TempGenerated + "/" + filename
|
|
|
|
err = GenerateFile(filename, data)
|
|
|
|
if err != nil {
|
2022-11-24 19:37:47 +00:00
|
|
|
return "", err
|
2022-09-15 13:53:55 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// Upload file
|
2022-11-24 19:37:47 +00:00
|
|
|
exportUrl, err := client.UploadFile(
|
2022-09-15 13:53:55 +00:00
|
|
|
TempGenerated+"/"+filename,
|
|
|
|
"application/vnd.openxmlformats-officedocument.wordprocessingml.document",
|
|
|
|
saveFolderID)
|
|
|
|
|
|
|
|
// Delete temps
|
|
|
|
err = DeleteDocument(downloaded)
|
|
|
|
if err != nil {
|
2022-11-24 19:37:47 +00:00
|
|
|
return "", err
|
2022-09-15 13:53:55 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
err = DeleteDocument(generated)
|
|
|
|
|
2022-11-24 19:37:47 +00:00
|
|
|
return exportUrl, err
|
2022-09-15 13:53:55 +00:00
|
|
|
}
|