+
+func (rh *Resthook) CreatePolicyType(policyTypeId models.PolicyTypeID, httprequest models.PolicyTypeSchema) error {
+ a1.Logger.Debug("CreatePolicyType function")
+ if policyTypeId != models.PolicyTypeID(*httprequest.PolicyTypeID) {
+ //error message
+ a1.Logger.Debug("Policytype Mismatch")
+ return typeMismatchError
+ }
+ key := a1PolicyPrefix + strconv.FormatInt((int64(policyTypeId)), 10)
+ a1.Logger.Debug("key %+v ", key)
+ if data, err := httprequest.MarshalBinary(); err == nil {
+ a1.Logger.Debug("Marshaled String : %+v", string(data))
+ success, err1 := rh.db.SetIfNotExists(a1MediatorNs, key, string(data))
+ a1.Logger.Info("success:%+v", success)
+ if err1 != nil {
+ a1.Logger.Error("error :%+v", err1)
+ return err1
+ }
+ if !success {
+ a1.Logger.Debug("Policy type %+v already exist", policyTypeId)
+ return typeAlreadyError
+ }
+ }
+ return nil
+}