From 8a8fa6da7722429786e4c316db1506ef209bbe4a Mon Sep 17 00:00:00 2001 From: adragusin Date: Thu, 26 Mar 2020 18:00:30 +0200 Subject: [PATCH] Removed old functions from migrator --- migrator/attributes.go | 296 ++--------------------------------------- 1 file changed, 10 insertions(+), 286 deletions(-) diff --git a/migrator/attributes.go b/migrator/attributes.go index 87483e7d8..e012e6469 100644 --- a/migrator/attributes.go +++ b/migrator/attributes.go @@ -75,48 +75,8 @@ func (m *Migrator) migrateCurrentAttributeProfile() (err error) { return } -func (m *Migrator) migrateV1Attributes() (err error) { - var v1Attr *v1AttributeProfile - for { - v1Attr, err = m.dmIN.getV1AttributeProfile() - if err != nil && err != utils.ErrNoMoreData { - return err - } - if err == utils.ErrNoMoreData { - break - } - if v1Attr == nil { - continue - } - attrPrf, err := v1Attr.AsAttributeProfile() - if err != nil { - return err - } - if m.dryRun { - continue - } - if err := m.dmOut.DataManager().DataDB().SetAttributeProfileDrv(attrPrf); err != nil { - return err - } - if err := m.dmOut.DataManager().SetAttributeProfile(attrPrf, true); err != nil { - return err - } - m.stats[utils.Attributes]++ - } - if m.dryRun { - return - } - // All done, update version wtih current one - vrs := engine.Versions{utils.Attributes: engine.CurrentDataDBVersions()[utils.Attributes]} - if err = m.dmOut.DataManager().DataDB().SetVersions(vrs, false); err != nil { - return utils.NewCGRError(utils.Migrator, - utils.ServerErrorCaps, - err.Error(), - fmt.Sprintf("error: <%s> when updating Thresholds version into dataDB", err.Error())) - } - return -} - +// migrateV1ToV2Attributes migrates attributeProfile from v1 to v2 +// for the moment the system in using the shortcut from v1 to v4 func (m *Migrator) migrateV1ToV2Attributes() (v2Attr *v2AttributeProfile, err error) { var v1Attr *v1AttributeProfile @@ -127,7 +87,7 @@ func (m *Migrator) migrateV1ToV2Attributes() (v2Attr *v2AttributeProfile, err er return nil, errors.New("Attribute NIL") } - v2Attr, err = v1Attr.AsAttributeProfileV2() + v2Attr, err = v1Attr.AsAttributeProfile() if err != nil { return nil, err } @@ -151,45 +111,6 @@ func (m *Migrator) migrateV1ToV4AttributeProfile() (v4Attr *v4AttributeProfile, return } -func (m *Migrator) migrateV2Attributes() (err error) { - var v2Attr *v2AttributeProfile - for { - v2Attr, err = m.dmIN.getV2AttributeProfile() - if err != nil && err != utils.ErrNoMoreData { - return err - } - if err == utils.ErrNoMoreData { - break - } - if v2Attr == nil { - continue - } - attrPrf, err := v2Attr.AsAttributeProfile() - if err != nil { - return err - } - if m.dryRun { - continue - } - if err := m.dmOut.DataManager().SetAttributeProfile(attrPrf, true); err != nil { - return err - } - m.stats[utils.Attributes]++ - } - if m.dryRun { - return - } - // All done, update version wtih current one - vrs := engine.Versions{utils.Attributes: engine.CurrentDataDBVersions()[utils.Attributes]} - if err = m.dmOut.DataManager().DataDB().SetVersions(vrs, false); err != nil { - return utils.NewCGRError(utils.Migrator, - utils.ServerErrorCaps, - err.Error(), - fmt.Sprintf("error: <%s> when updating Thresholds version into dataDB", err.Error())) - } - return -} - func (m *Migrator) migrateV2ToV3AttributeProfile(v2Attr *v2AttributeProfile) (v3Attr *v3AttributeProfile, err error) { if v2Attr == nil { // read data from DataDB @@ -199,52 +120,13 @@ func (m *Migrator) migrateV2ToV3AttributeProfile(v2Attr *v2AttributeProfile) (v3 } } //Migrate the AttributeProfile to next version (from v2 to v3) - v3Attr, err = v2Attr.AsAttributeProfileV3() + v3Attr, err = v2Attr.AsAttributeProfile() if err != nil { return nil, err } return v3Attr, nil } -func (m *Migrator) migrateV3Attributes() (err error) { - var v3Attr *v3AttributeProfile - for { - v3Attr, err = m.dmIN.getV3AttributeProfile() - if err != nil && err != utils.ErrNoMoreData { - return err - } - if err == utils.ErrNoMoreData { - break - } - if v3Attr == nil { - continue - } - attrPrf, err := v3Attr.AsAttributeProfile() - if err != nil { - return err - } - if m.dryRun { - continue - } - if err := m.dmOut.DataManager().SetAttributeProfile(attrPrf, true); err != nil { - return err - } - m.stats[utils.Attributes]++ - } - if m.dryRun { - return - } - // All done, update version wtih current one - vrs := engine.Versions{utils.Attributes: engine.CurrentDataDBVersions()[utils.Attributes]} - if err = m.dmOut.DataManager().DataDB().SetVersions(vrs, false); err != nil { - return utils.NewCGRError(utils.Migrator, - utils.ServerErrorCaps, - err.Error(), - fmt.Sprintf("error: <%s> when updating Thresholds version into dataDB", err.Error())) - } - return -} - func (m *Migrator) migrateV3ToV4AttributeProfile(v3Attr *v3AttributeProfile) (v4Attr *v4AttributeProfile, err error) { if v3Attr == nil { // read data from DataDB @@ -254,52 +136,13 @@ func (m *Migrator) migrateV3ToV4AttributeProfile(v3Attr *v3AttributeProfile) (v4 } } //migrate - v4Attr, err = v3Attr.AsAttributeProfileV4() + v4Attr, err = v3Attr.AsAttributeProfile() if err != nil { return nil, err } return v4Attr, nil } -func (m *Migrator) migrateV4Attributes() (err error) { - var v4Attr *v4AttributeProfile - for { - v4Attr, err = m.dmIN.getV4AttributeProfile() - if err != nil && err != utils.ErrNoMoreData { - return err - } - if err == utils.ErrNoMoreData { - break - } - if v4Attr == nil { - continue - } - attrPrf, err := v4Attr.AsAttributeProfile() - if err != nil { - return err - } - if m.dryRun { - continue - } - if err := m.dmOut.DataManager().SetAttributeProfile(attrPrf, true); err != nil { - return err - } - m.stats[utils.Attributes]++ - } - if m.dryRun { - return - } - // All done, update version wtih current one - vrs := engine.Versions{utils.Attributes: engine.CurrentDataDBVersions()[utils.Attributes]} - if err = m.dmOut.DataManager().DataDB().SetVersions(vrs, false); err != nil { - return utils.NewCGRError(utils.Migrator, - utils.ServerErrorCaps, - err.Error(), - fmt.Sprintf("error: <%s> when updating Thresholds version into dataDB", err.Error())) - } - return -} - func (m *Migrator) migrateV4ToV5AttributeProfile(v4Attr *v4AttributeProfile) (v5Attr *engine.AttributeProfile, err error) { if v4Attr == nil { // read data from DataDB @@ -309,7 +152,7 @@ func (m *Migrator) migrateV4ToV5AttributeProfile(v4Attr *v4AttributeProfile) (v5 } } - v5Attr, err = v4Attr.AsAttributeProfileV5() + v5Attr, err = v4Attr.AsAttributeProfile() if err != nil { return nil, err } @@ -417,42 +260,7 @@ func (m *Migrator) migrateAttributeProfile() (err error) { } -func (v1AttrPrf v1AttributeProfile) AsAttributeProfile() (attrPrf *engine.AttributeProfile, err error) { - attrPrf = &engine.AttributeProfile{ - Tenant: v1AttrPrf.Tenant, - ID: v1AttrPrf.ID, - Contexts: v1AttrPrf.Contexts, - FilterIDs: v1AttrPrf.FilterIDs, - Weight: v1AttrPrf.Weight, - ActivationInterval: v1AttrPrf.ActivationInterval, - } - for _, mp := range v1AttrPrf.Attributes { - for _, attr := range mp { - filterIDs := make([]string, 0) - //append false translate to if FieldName exist do stuff - if attr.Append == false { - filterIDs = append(filterIDs, utils.MetaExists+":"+attr.FieldName+":") - } - //Initial not *any translate to if value of fieldName = initial do stuff - if attr.Initial != utils.META_ANY { - filterIDs = append(filterIDs, utils.MetaString+":"+attr.FieldName+":"+attr.Initial) - } - sbstPrsr, err := config.NewRSRParsers(attr.Substitute, true, config.CgrConfig().GeneralCfg().RSRSep) - if err != nil { - return nil, err - } - attrPrf.Attributes = append(attrPrf.Attributes, &engine.Attribute{ - FilterIDs: filterIDs, - Path: utils.MetaReq + utils.NestingSep + attr.FieldName, - Value: sbstPrsr, - Type: utils.MetaVariable, - }) - } - } - return -} - -func (v1AttrPrf v1AttributeProfile) AsAttributeProfileV2() (attrPrf *v2AttributeProfile, err error) { +func (v1AttrPrf v1AttributeProfile) AsAttributeProfile() (attrPrf *v2AttributeProfile, err error) { attrPrf = &v2AttributeProfile{ Tenant: v1AttrPrf.Tenant, ID: v1AttrPrf.ID, @@ -479,7 +287,7 @@ func (v1AttrPrf v1AttributeProfile) AsAttributeProfileV2() (attrPrf *v2Attribute return } -func (v2AttrPrf v2AttributeProfile) AsAttributeProfileV3() (attrPrf *v3AttributeProfile, err error) { +func (v2AttrPrf v2AttributeProfile) AsAttributeProfile() (attrPrf *v3AttributeProfile, err error) { attrPrf = &v3AttributeProfile{ Tenant: v2AttrPrf.Tenant, ID: v2AttrPrf.ID, @@ -548,7 +356,7 @@ func (v1AttrPrf v1AttributeProfile) AsAttributeProfileV1To4() (attrPrf *v4Attrib return } -func (v3AttrPrf v3AttributeProfile) AsAttributeProfileV4() (attrPrf *v4AttributeProfile, err error) { +func (v3AttrPrf v3AttributeProfile) AsAttributeProfile() (attrPrf *v4AttributeProfile, err error) { attrPrf = &v4AttributeProfile{ Tenant: v3AttrPrf.Tenant, ID: v3AttrPrf.ID, @@ -569,7 +377,7 @@ func (v3AttrPrf v3AttributeProfile) AsAttributeProfileV4() (attrPrf *v4Attribute return } -func (v4AttrPrf v4AttributeProfile) AsAttributeProfileV5() (attrPrf *engine.AttributeProfile, err error) { +func (v4AttrPrf v4AttributeProfile) AsAttributeProfile() (attrPrf *engine.AttributeProfile, err error) { attrPrf = &engine.AttributeProfile{ Tenant: v4AttrPrf.Tenant, ID: v4AttrPrf.ID, @@ -617,39 +425,6 @@ type v2AttributeProfile struct { Weight float64 } -func (v2AttrPrf v2AttributeProfile) AsAttributeProfile() (attrPrf *engine.AttributeProfile, err error) { - attrPrf = &engine.AttributeProfile{ - Tenant: v2AttrPrf.Tenant, - ID: v2AttrPrf.ID, - Contexts: v2AttrPrf.Contexts, - FilterIDs: v2AttrPrf.FilterIDs, - Weight: v2AttrPrf.Weight, - ActivationInterval: v2AttrPrf.ActivationInterval, - } - for _, attr := range v2AttrPrf.Attributes { - filterIDs := make([]string, 0) - //append false translate to if FieldName exist do stuff - if !attr.Append { - filterIDs = append(filterIDs, utils.MetaExists+":"+attr.FieldName+":") - } - //Initial not *any translate to if value of fieldName = initial do stuff - if attr.Initial != nil { // if is nil we take it as default: utils.META_ANY - if initStr, canCast := attr.Initial.(string); !canCast { - return nil, fmt.Errorf("can't cast initial value to string for AttributeProfile with ID:%s", attrPrf.ID) - } else if initStr != utils.META_ANY { - filterIDs = append(filterIDs, utils.MetaString+":"+attr.FieldName+":"+initStr) - } - } - attrPrf.Attributes = append(attrPrf.Attributes, &engine.Attribute{ - FilterIDs: filterIDs, - Path: utils.MetaReq + utils.NestingSep + attr.FieldName, - Value: attr.Substitute, - Type: utils.MetaVariable, - }) - } - return -} - type v3Attribute struct { FilterIDs []string FieldName string @@ -666,26 +441,6 @@ type v3AttributeProfile struct { Weight float64 } -func (v3AttrPrf v3AttributeProfile) AsAttributeProfile() (attrPrf *engine.AttributeProfile, err error) { - attrPrf = &engine.AttributeProfile{ - Tenant: v3AttrPrf.Tenant, - ID: v3AttrPrf.ID, - Contexts: v3AttrPrf.Contexts, - FilterIDs: v3AttrPrf.FilterIDs, - Weight: v3AttrPrf.Weight, - ActivationInterval: v3AttrPrf.ActivationInterval, - } - for _, attr := range v3AttrPrf.Attributes { - attrPrf.Attributes = append(attrPrf.Attributes, &engine.Attribute{ - FilterIDs: attr.FilterIDs, - Path: utils.MetaReq + utils.NestingSep + attr.FieldName, - Value: attr.Substitute, - Type: utils.MetaVariable, //default value for type - }) - } - return -} - type v4Attribute struct { FilterIDs []string FieldName string @@ -703,34 +458,3 @@ type v4AttributeProfile struct { Blocker bool // blocker flag to stop processing on multiple runs Weight float64 } - -func (v4AttrPrf v4AttributeProfile) AsAttributeProfile() (attrPrf *engine.AttributeProfile, err error) { - attrPrf = &engine.AttributeProfile{ - Tenant: v4AttrPrf.Tenant, - ID: v4AttrPrf.ID, - Contexts: v4AttrPrf.Contexts, - FilterIDs: v4AttrPrf.FilterIDs, - Weight: v4AttrPrf.Weight, - ActivationInterval: v4AttrPrf.ActivationInterval, - } - for _, attr := range v4AttrPrf.Attributes { - val := attr.Value.GetRule() - rsrVal := attr.Value - if strings.HasPrefix(val, utils.DynamicDataPrefix) { - val = val[1:] // remove the DynamicDataPrefix - val = utils.DynamicDataPrefix + utils.MetaReq + utils.NestingSep + val - rsrVal, err = config.NewRSRParsers(val, true, config.CgrConfig().GeneralCfg().RSRSep) - if err != nil { - return nil, err - } - } - - attrPrf.Attributes = append(attrPrf.Attributes, &engine.Attribute{ - FilterIDs: attr.FilterIDs, - Path: utils.MetaReq + utils.NestingSep + attr.FieldName, - Value: rsrVal, - Type: attr.Type, - }) - } - return -}