dc15315403
Added coffee rootCmd
162 lines
3.6 KiB
Go
162 lines
3.6 KiB
Go
package export
|
|
|
|
import (
|
|
"crowsnest/internal/files"
|
|
"crowsnest/internal/sqlite"
|
|
"encoding/json"
|
|
"encoding/xml"
|
|
"fmt"
|
|
"gopkg.in/yaml.v3"
|
|
"os"
|
|
)
|
|
|
|
func WriteHunterDomainToFile(result sqlite.HunterDomainData, outputFile string, fileType files.FileType) error {
|
|
var data []byte
|
|
var err error
|
|
|
|
switch fileType {
|
|
case files.JSON:
|
|
data, err = json.MarshalIndent(result, "", " ")
|
|
case files.XML:
|
|
data, err = xml.MarshalIndent(result, "", " ")
|
|
case files.YAML:
|
|
data, err = yaml.Marshal(result)
|
|
case files.TEXT:
|
|
data = []byte(result.String())
|
|
default:
|
|
return err
|
|
}
|
|
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
filePath := fmt.Sprintf("%s.%s", outputFile, fileType.String())
|
|
return os.WriteFile(filePath, data, 0644)
|
|
}
|
|
|
|
func WriteHunterEmailToFile(result sqlite.HunterEmailFinderData, outputFile string, fileType files.FileType) error {
|
|
var data []byte
|
|
var err error
|
|
|
|
switch fileType {
|
|
case files.JSON:
|
|
data, err = json.MarshalIndent(result, "", " ")
|
|
case files.XML:
|
|
data, err = xml.MarshalIndent(result, "", " ")
|
|
case files.YAML:
|
|
data, err = yaml.Marshal(result)
|
|
case files.TEXT:
|
|
data = []byte(result.String())
|
|
default:
|
|
return err
|
|
}
|
|
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
filePath := fmt.Sprintf("%s.%s", outputFile, fileType.String())
|
|
return os.WriteFile(filePath, data, 0644)
|
|
}
|
|
|
|
func WriteHunterEmailVerifyToFile(result sqlite.HunterEmailVerifyData, outputFile string, fileType files.FileType) error {
|
|
var data []byte
|
|
var err error
|
|
|
|
switch fileType {
|
|
case files.JSON:
|
|
data, err = json.MarshalIndent(result, "", " ")
|
|
case files.XML:
|
|
data, err = xml.MarshalIndent(result, "", " ")
|
|
case files.YAML:
|
|
data, err = yaml.Marshal(result)
|
|
case files.TEXT:
|
|
data = []byte(result.String())
|
|
default:
|
|
return err
|
|
}
|
|
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
filePath := fmt.Sprintf("%s.%s", outputFile, fileType.String())
|
|
return os.WriteFile(filePath, data, 0644)
|
|
}
|
|
|
|
func WriteHunterCompanyEnrichmentToFile(result sqlite.CompanyData, outputFile string, fileType files.FileType) error {
|
|
var data []byte
|
|
var err error
|
|
|
|
switch fileType {
|
|
case files.JSON:
|
|
data, err = json.MarshalIndent(result, "", " ")
|
|
case files.XML:
|
|
data, err = xml.MarshalIndent(result, "", " ")
|
|
case files.YAML:
|
|
data, err = yaml.Marshal(result)
|
|
case files.TEXT:
|
|
data = []byte(result.String())
|
|
default:
|
|
return err
|
|
}
|
|
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
filePath := fmt.Sprintf("%s.%s", outputFile, fileType.String())
|
|
return os.WriteFile(filePath, data, 0644)
|
|
}
|
|
|
|
func WriteHunterPersonEnrichmentToFile(result sqlite.PersonData, outputFile string, fileType files.FileType) error {
|
|
var data []byte
|
|
var err error
|
|
|
|
switch fileType {
|
|
case files.JSON:
|
|
data, err = json.MarshalIndent(result, "", " ")
|
|
case files.XML:
|
|
data, err = xml.MarshalIndent(result, "", " ")
|
|
case files.YAML:
|
|
data, err = yaml.Marshal(result)
|
|
case files.TEXT:
|
|
data = []byte(result.String())
|
|
default:
|
|
return err
|
|
}
|
|
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
filePath := fmt.Sprintf("%s.%s", outputFile, fileType.String())
|
|
return os.WriteFile(filePath, data, 0644)
|
|
}
|
|
|
|
func WriteHunterCombinedEnrichmentToFile(result sqlite.CombinedData, outputFile string, fileType files.FileType) error {
|
|
var data []byte
|
|
var err error
|
|
|
|
switch fileType {
|
|
case files.JSON:
|
|
data, err = json.MarshalIndent(result, "", " ")
|
|
case files.XML:
|
|
data, err = xml.MarshalIndent(result, "", " ")
|
|
case files.YAML:
|
|
data, err = yaml.Marshal(result)
|
|
case files.TEXT:
|
|
data = []byte(result.String())
|
|
default:
|
|
return err
|
|
}
|
|
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
filePath := fmt.Sprintf("%s.%s", outputFile, fileType.String())
|
|
return os.WriteFile(filePath, data, 0644)
|
|
}
|