6 Commits

Author SHA1 Message Date
Adrian Zuercher
2d6db85b8c remove rename and add has children to set 2025-07-25 17:47:38 +02:00
Adrian Zuercher
8e742ba1d3 add new paramter rename to set 2025-07-24 09:51:09 +02:00
Adrian Zuercher
2dc3baca3c add right to subscription 2025-07-15 20:17:21 +02:00
Adrian Zuercher
274a80d605 fix wrong float and bool conversion 2025-07-15 19:20:11 +02:00
Adrian Zuercher
3b38be8de5 change string to 3 letters STR 2025-07-15 19:19:45 +02:00
Adrian Zuercher
83bf855485 fix typo 2025-07-11 17:32:58 +02:00
6 changed files with 38 additions and 29 deletions

BIN
.DS_Store vendored Normal file

Binary file not shown.

View File

@@ -7,10 +7,10 @@ type Get struct {
Uuid uuid.UUID `json:"uuid"` // universally unique identifier
Path string `json:"path"` // dbm path
Query *Query `json:"query,omitempty"` // query paramater
Drivers *Drivers `json:"driver,omitempty"` // assigned drivers
Drivers *Drivers `json:"drivers,omitempty"` // assigned drivers
Type Type `json:"type,omitempty"` // dbm datatype
Value any `json:"value,omitempty"` // dbm value
HasChild bool `json:"hasChild,omitempty"` // inidicates path has child/ren
HasChild bool `json:"hasChild,omitempty"` // inidicates path has children
Rights Rights `json:"rights,omitempty"` // dbm read /write rights
}

View File

@@ -4,15 +4,16 @@ import "github.com/google/uuid"
// Set model
type Set struct {
Uuid uuid.UUID `json:"uuid,omitempty"` // universally unique identifier
Path string `json:"path"` // dbm path
Driver *Driver `json:"driver,omitempty"` // assign new driver
Drivers *Drivers `json:"drivers,omitempty"` // assigned drivers
Type Type `json:"type,omitempty"` // dbm datatype
Value any `json:"value,omitempty"` // dbm value
Rights Rights `json:"rights,omitempty"` // dbm read /write rights
Create bool `json:"create,omitempty"` // dbm create new datapoint
Updated bool `json:"-"`
Uuid uuid.UUID `json:"uuid,omitempty"` // universally unique identifier
Path string `json:"path"` // dbm path
Driver *Driver `json:"driver,omitempty"` // assign new driver
Drivers *Drivers `json:"drivers,omitempty"` // assigned drivers
Type Type `json:"type,omitempty"` // dbm datatype
Value any `json:"value,omitempty"` // dbm value
Rights Rights `json:"rights,omitempty"` // dbm read /write rights
Create bool `json:"create,omitempty"` // dbm create new datapoint
HasChild bool `json:"hasChild,omitempty"` // inidicates path has children
Updated bool `json:"-"`
}
// sets value and path

View File

@@ -8,7 +8,8 @@ type Subscription struct {
Path string `json:"path,omitempty"` // dbm path
Depth uint `json:"depth,omitempty"` // depth of subscriptions from found path or uuid
Value any `json:"value,omitempty"` // current value
HasChild bool `json:"hasChild,omitempty"` // inidicates path has child/ren
Rights Rights `json:"rights,omitempty"` // read /write rights
HasChild bool `json:"hasChild,omitempty"` // inidicates path has children
Drivers *Drivers `json:"drivers,omitempty"` // assigned drivers
Driver string `json:"driver,omitempty"` // driver type to assign this subscription
OnCreate bool `json:"onCreate,omitempty"` // notify at datapoint creation

View File

@@ -9,18 +9,18 @@ import (
// all avaiable datatypes of dbm
const (
NONE Type = "NONE"
BIT Type = "BIT" // BOOL
BYU Type = "BYU" // UINT8
BYS Type = "BYS" // INT8
WOS Type = "WOS" // INT16
WOU Type = "WOU" // UINT16
DWS Type = "DWS" // INT32
DWU Type = "DWU" // UINT32
LOS Type = "LOS" // INT64
LOU Type = "LOU" // UINT64
F32 Type = "F32" // FLOAT32
F64 Type = "F64" // FLOAT64
STR Type = "STRING" // STRING
BIT Type = "BIT" // BOOL
BYU Type = "BYU" // UINT8
BYS Type = "BYS" // INT8
WOS Type = "WOS" // INT16
WOU Type = "WOU" // UINT16
DWS Type = "DWS" // INT32
DWU Type = "DWU" // UINT32
LOS Type = "LOS" // INT64
LOU Type = "LOU" // UINT64
F32 Type = "F32" // FLOAT32
F64 Type = "F64" // FLOAT64
STR Type = "STR" // STRING
)
// dbm datatype model

View File

@@ -36,8 +36,8 @@ func Float32From(v any) float32 {
case uint64:
return float32(val)
case string:
if i, err := strconv.Atoi(val); err == nil {
return float32(i)
if f64, err := strconv.ParseFloat(val, 32); err == nil {
return float32(f64)
}
return 0
default:
@@ -76,8 +76,8 @@ func Float64From(v any) float64 {
case uint64:
return float64(val)
case string:
if i, err := strconv.Atoi(val); err == nil {
return float64(i)
if f64, err := strconv.ParseFloat(val, 32); err == nil {
return f64
}
return 0
default:
@@ -433,7 +433,14 @@ func BoolFrom(v any) bool {
case float64:
return val >= 1
case string:
return strings.ToLower(val) == "false" || v == "0"
if strings.ToLower(val) == "true" {
return true
} else if strings.ToLower(val) == "false" {
return false
} else if i, err := strconv.Atoi(val); err == nil {
return i > 0
}
return false
default:
return false
}