mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-15 13:19:53 +05:00
More methods on TPExporter
This commit is contained in:
@@ -30,7 +30,11 @@ import (
|
||||
"github.com/cgrates/cgrates/utils"
|
||||
)
|
||||
|
||||
var TPExportFormats = []string{utils.DRYRUN, utils.CSV}
|
||||
var (
|
||||
TPExportFormats = []string{utils.DRYRUN, utils.CSV}
|
||||
exportedFiles = []string{utils.TIMINGS_CSV, utils.DESTINATIONS_CSV, utils.RATES_CSV, utils.DESTINATION_RATES_CSV, utils.RATING_PLANS_CSV, utils.RATING_PROFILES_CSV,
|
||||
utils.SHARED_GROUPS_CSV, utils.ACTIONS_CSV, utils.ACTION_PLANS_CSV, utils.ACTION_TRIGGERS_CSV, utils.ACCOUNT_ACTIONS_CSV, utils.DERIVED_CHARGERS_CSV, utils.CDR_STATS_CSV}
|
||||
)
|
||||
|
||||
func NewTPExporter(storDb LoadStorage, tpID, dir, fileFormat, sep string, dryRunBuff *bytes.Buffer) (*TPExporter, error) {
|
||||
if !utils.IsSliceMember(TPExportFormats, fileFormat) {
|
||||
@@ -88,6 +92,9 @@ func (self *TPExporter) Run() error {
|
||||
|
||||
// Some export did not end up well, remove the files here
|
||||
func (self *TPExporter) removeFiles() error {
|
||||
for _, fileName := range exportedFiles {
|
||||
os.Remove(path.Join(self.dirPath, fileName))
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -117,15 +124,30 @@ func (self *TPExporter) writeOut(fileName string, tpData []utils.ExportedData) e
|
||||
}
|
||||
|
||||
func (self *TPExporter) exportTimings() error {
|
||||
//fileName := exportedFiles[0] // Define it out of group so we make sure it is cleaned up by removeFiles
|
||||
return nil
|
||||
}
|
||||
|
||||
func (self *TPExporter) exportDestinations() error {
|
||||
fileName := exportedFiles[1]
|
||||
storData, err := self.storDb.GetTpDestinations(self.tpID, "")
|
||||
if err != nil {
|
||||
return nil
|
||||
}
|
||||
exportedData := make([]utils.ExportedData, len(storData))
|
||||
idx := 0
|
||||
for _, dst := range storData {
|
||||
exportedData[idx] = &utils.TPDestination{TPid: self.tpID, DestinationId: dst.Id, Prefixes: dst.Prefixes}
|
||||
idx += 1
|
||||
}
|
||||
if err := self.writeOut(fileName, exportedData); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (self *TPExporter) exportRates() error {
|
||||
fileName := utils.RATES_CSV
|
||||
fileName := exportedFiles[2]
|
||||
storData, err := self.storDb.GetTpRates(self.tpID, "")
|
||||
if err != nil {
|
||||
return nil
|
||||
@@ -143,7 +165,7 @@ func (self *TPExporter) exportRates() error {
|
||||
}
|
||||
|
||||
func (self *TPExporter) exportDestinationRates() error {
|
||||
fileName := utils.DESTINATION_RATES_CSV
|
||||
fileName := exportedFiles[3]
|
||||
storData, err := self.storDb.GetTpDestinationRates(self.tpID, "", nil)
|
||||
if err != nil {
|
||||
return nil
|
||||
@@ -161,11 +183,25 @@ func (self *TPExporter) exportDestinationRates() error {
|
||||
}
|
||||
|
||||
func (self *TPExporter) exportRatingPlans() error {
|
||||
fileName := exportedFiles[4]
|
||||
storData, err := self.storDb.GetTpRatingPlans(self.tpID, "", nil)
|
||||
if err != nil {
|
||||
return nil
|
||||
}
|
||||
exportedData := make([]utils.ExportedData, len(storData))
|
||||
idx := 0
|
||||
for rpId, rpBinding := range storData {
|
||||
exportedData[idx] = &utils.TPRatingPlan{TPid: self.tpID, RatingPlanId: rpId, RatingPlanBindings: rpBinding}
|
||||
idx += 1
|
||||
}
|
||||
if err := self.writeOut(fileName, exportedData); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (self *TPExporter) exportRatingProfiles() error {
|
||||
fileName := utils.RATING_PROFILES_CSV
|
||||
fileName := exportedFiles[5]
|
||||
storData, err := self.storDb.GetTpRatingProfiles(&utils.TPRatingProfile{TPid: self.tpID})
|
||||
if err != nil {
|
||||
return nil
|
||||
@@ -183,23 +219,79 @@ func (self *TPExporter) exportRatingProfiles() error {
|
||||
}
|
||||
|
||||
func (self *TPExporter) exportSharedGroups() error {
|
||||
fileName := exportedFiles[6]
|
||||
storData, err := self.storDb.GetTpSharedGroups(self.tpID, "")
|
||||
if err != nil {
|
||||
return nil
|
||||
}
|
||||
exportedData := make([]utils.ExportedData, len(storData))
|
||||
idx := 0
|
||||
for sgId, sg := range storData {
|
||||
exportedData[idx] = &utils.TPSharedGroups{TPid: self.tpID, SharedGroupsId: sgId, SharedGroups: sg}
|
||||
idx += 1
|
||||
}
|
||||
if err := self.writeOut(fileName, exportedData); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (self *TPExporter) exportActions() error {
|
||||
fileName := exportedFiles[7]
|
||||
storData, err := self.storDb.GetTpActions(self.tpID, "")
|
||||
if err != nil {
|
||||
return nil
|
||||
}
|
||||
exportedData := make([]utils.ExportedData, len(storData))
|
||||
idx := 0
|
||||
for actsId, acts := range storData {
|
||||
exportedData[idx] = &utils.TPActions{TPid: self.tpID, ActionsId: actsId, Actions: acts}
|
||||
idx += 1
|
||||
}
|
||||
if err := self.writeOut(fileName, exportedData); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (self *TPExporter) exportActionPlans() error {
|
||||
fileName := exportedFiles[8]
|
||||
storData, err := self.storDb.GetTPActionTimings(self.tpID, "")
|
||||
if err != nil {
|
||||
return nil
|
||||
}
|
||||
exportedData := make([]utils.ExportedData, len(storData))
|
||||
idx := 0
|
||||
for apId, ats := range storData {
|
||||
exportedData[idx] = &utils.TPActionPlan{TPid: self.tpID, Id: apId, ActionPlan: ats}
|
||||
idx += 1
|
||||
}
|
||||
if err := self.writeOut(fileName, exportedData); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (self *TPExporter) exportActionTriggers() error {
|
||||
fileName := exportedFiles[9]
|
||||
storData, err := self.storDb.GetTpActionTriggers(self.tpID, "")
|
||||
if err != nil {
|
||||
return nil
|
||||
}
|
||||
exportedData := make([]utils.ExportedData, len(storData))
|
||||
idx := 0
|
||||
for atId, ats := range storData {
|
||||
exportedData[idx] = &utils.TPActionTriggers{TPid: self.tpID, ActionTriggersId: atId, ActionTriggers: ats}
|
||||
idx += 1
|
||||
}
|
||||
if err := self.writeOut(fileName, exportedData); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (self *TPExporter) exportAccountActions() error {
|
||||
fileName := utils.ACCOUNT_ACTIONS_CSV
|
||||
fileName := exportedFiles[10]
|
||||
storData, err := self.storDb.GetTpAccountActions(&utils.TPAccountActions{TPid: self.tpID})
|
||||
if err != nil {
|
||||
return nil
|
||||
@@ -217,7 +309,7 @@ func (self *TPExporter) exportAccountActions() error {
|
||||
}
|
||||
|
||||
func (self *TPExporter) exportDerivedChargers() error {
|
||||
fileName := utils.DERIVED_CHARGERS_CSV
|
||||
fileName := exportedFiles[11]
|
||||
storData, err := self.storDb.GetTpDerivedChargers(&utils.TPDerivedChargers{TPid: self.tpID})
|
||||
if err != nil {
|
||||
return nil
|
||||
@@ -235,5 +327,19 @@ func (self *TPExporter) exportDerivedChargers() error {
|
||||
}
|
||||
|
||||
func (self *TPExporter) exportCdrStats() error {
|
||||
fileName := exportedFiles[12]
|
||||
storData, err := self.storDb.GetTpCdrStats(self.tpID, "")
|
||||
if err != nil {
|
||||
return nil
|
||||
}
|
||||
exportedData := make([]utils.ExportedData, len(storData))
|
||||
idx := 0
|
||||
for cdrstId, cdrsts := range storData {
|
||||
exportedData[idx] = &utils.TPCdrStats{TPid: self.tpID, CdrStatsId: cdrstId, CdrStats: cdrsts}
|
||||
idx += 1
|
||||
}
|
||||
if err := self.writeOut(fileName, exportedData); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user