Merging with master

This commit is contained in:
DanB
2014-12-07 12:08:37 +01:00
3 changed files with 23 additions and 11 deletions

View File

@@ -147,10 +147,10 @@ CREATE TABLE `tp_actions` (
`action` varchar(24) NOT NULL,
`balance_tag` varchar(64) NOT NULL,
`balance_type` varchar(24) NOT NULL,
`direction` varchar(8) NOT NULL,
`balance_direction` varchar(8) NOT NULL,
`units` DECIMAL(20,4) NOT NULL,
`expiry_time` varchar(24) NOT NULL,
`destination_tag` varchar(64) NOT NULL,
`balance_destination_tag` varchar(64) NOT NULL,
`rating_subject` varchar(64) NOT NULL,
`category` varchar(16) NOT NULL,
`shared_group` varchar(64) NOT NULL,
@@ -192,12 +192,12 @@ CREATE TABLE `tp_action_triggers` (
`tag` varchar(64) NOT NULL,
`balance_tag` varchar(64) NOT NULL,
`balance_type` varchar(24) NOT NULL,
`direction` varchar(8) NOT NULL,
`balance_direction` varchar(8) NOT NULL,
`threshold_type` char(12) NOT NULL,
`threshold_value` DECIMAL(20,4) NOT NULL,
`recurrent` BOOLEAN NOT NULL,
`min_sleep` BIGINT NOT NULL,
`destination_tag` varchar(64) NOT NULL,
`balance_destination_tag` varchar(64) NOT NULL,
`balance_weight` DECIMAL(8,2) NOT NULL,
`balance_expiry_time` varchar(24) NOT NULL,
`balance_rating_subject` varchar(64) NOT NULL,
@@ -209,7 +209,7 @@ CREATE TABLE `tp_action_triggers` (
`created_at` TIMESTAMP,
PRIMARY KEY (`id`),
KEY `tpid` (`tpid`),
UNIQUE KEY `unique_trigger_definition` (`tpid`,`tag`,`balance_tag`,`balance_type`,`direction`,`threshold_type`,`threshold_value`,`destination_tag`,`actions_tag`)
UNIQUE KEY `unique_trigger_definition` (`tpid`,`tag`,`balance_tag`,`balance_type`,`balance_direction`,`threshold_type`,`threshold_value`,`balance_destination_tag`,`actions_tag`)
);
--

View File

@@ -169,12 +169,12 @@ CREATE TABLE tp_action_triggers (
tag VARCHAR(64) NOT NULL,
balance_tag VARCHAR(64) NOT NULL,
balance_type VARCHAR(24) NOT NULL,
direction VARCHAR(8) NOT NULL,
balance_direction VARCHAR(8) NOT NULL,
threshold_type char(12) NOT NULL,
threshold_value NUMERIC(20,4) NOT NULL,
recurrent BOOLEAN NOT NULL,
min_sleep BIGINT NOT NULL,
destination_tag VARCHAR(64) NOT NULL,
balance_destination_tag VARCHAR(64) NOT NULL,
balance_weight NUMERIC(8,2) NOT NULL,
balance_expiry_time VARCHAR(24) NOT NULL,
balance_rating_subject VARCHAR(64) NOT NULL,
@@ -184,7 +184,7 @@ CREATE TABLE tp_action_triggers (
actions_tag VARCHAR(64) NOT NULL,
weight NUMERIC(8,2) NOT NULL,
created_at TIMESTAMP,
UNIQUE (tpid, tag, balance_tag, balance_type, direction, threshold_type, threshold_value, destination_tag, actions_tag)
UNIQUE (tpid, tag, balance_tag, balance_type, balance_direction, threshold_type, threshold_value, balance_destination_tag, actions_tag)
);
--

View File

@@ -24,12 +24,12 @@ import (
"crypto/rand"
"crypto/sha1"
"crypto/tls"
"encoding/hex"
"encoding/json"
"errors"
"fmt"
"io"
"io/ioutil"
"log"
"math"
"net/http"
"os"
@@ -62,8 +62,7 @@ func NewTPid() string {
return Sha1(GenUUID())
}
// helper function for uuid generation
func GenUUID() string {
/*func GenUUID() string {
uuid := make([]byte, 16)
n, err := rand.Read(uuid)
if n != len(uuid) || err != nil {
@@ -74,6 +73,19 @@ func GenUUID() string {
uuid[4] = 0x40 // version 4 Pseudo Random, see page 7
return hex.EncodeToString(uuid)
}*/
// helper function for uuid generation
func GenUUID() string {
b := make([]byte, 16)
_, err := io.ReadFull(rand.Reader, b)
if err != nil {
log.Fatal(err)
}
b[6] = (b[6] & 0x0F) | 0x40
b[8] = (b[8] &^ 0x40) | 0x80
return fmt.Sprintf("%x-%x-%x-%x-%x", b[:4], b[4:6], b[6:8], b[8:10],
b[10:])
}
// Round return rounded version of x with prec precision.