13 Commits

Author SHA1 Message Date
Adrian Zürcher
72d0d56868 add type for type conversion 2025-04-29 08:16:45 +02:00
Adrian Zürcher
ea4461fd7e add value to subscribtion 2025-04-29 07:57:43 +02:00
Adrian Zürcher
0f22443b93 add uuid to struct 2025-04-28 07:05:50 +02:00
Adrian Zürcher
0d3161337f change datatype 2025-04-27 16:09:38 +02:00
Adrian Zürcher
240f4fb3e7 add parse functons with io reader 2025-04-27 16:04:33 +02:00
Adrian Zürcher
bf36b023d3 add new repond function message 2025-04-27 09:51:32 +02:00
Adrian Zürcher
a8127cc381 add new response function 2025-04-26 23:58:47 +02:00
Adrian Zürcher
8615d8c3d5 change modulename 2025-04-26 23:50:18 +02:00
Adrian Zürcher
6c327cf284 change modulename 2025-04-26 23:42:02 +02:00
Adrian Zürcher
40648c5fd8 change modulename 2025-04-26 23:38:45 +02:00
Adrian Zürcher
1b035e710f change modulename 2025-04-26 23:38:01 +02:00
Adrian Zürcher
93f2188cc8 change modulename 2025-04-26 23:36:06 +02:00
zuadi
862d865338 Update README.md 2025-04-26 23:22:59 +02:00
9 changed files with 59 additions and 15 deletions

View File

@@ -1,2 +1,2 @@
# tecamino-dbm-models
# tecamino-json data models
Database Manager Models

2
go.mod
View File

@@ -1,4 +1,4 @@
module github.com/tecamino/tecamino-dbm-json_data
module github.com/tecamino/tecamino-json_data
go 1.21.0

View File

@@ -6,5 +6,6 @@ type Publish struct {
Event string `json:"event,omitempty"`
Uuid uuid.UUID `json:"uuid,omitempty"`
Path string `json:"path,omitempty"`
Type Type `json:"type,omitempty"`
Value any `json:"value,omitempty"`
}

View File

@@ -1,6 +1,6 @@
package models
type Query struct {
Depth int `json:"depth,omitempty"`
Depth uint `json:"depth,omitempty"`
RegExp string `json:"regExp,omitempty"`
}

View File

@@ -19,6 +19,10 @@ func (r *Response) SendError(msg string) {
r.Message = msg
}
func (r *Response) SendMessage(msg string) {
r.Message = msg
}
func (r *Response) AddGet(get Get) {
get.Query = nil
r.Get = append(r.Get, get)
@@ -32,6 +36,13 @@ func (r *Response) AddSubscription(sub Subscribe) {
r.Subscribe = append(r.Subscribe, sub)
}
func (r *Response) AddUnsubscription(sub Subscribe) {
r.Subscribe = append(r.Subscribe, sub)
}
func (r *Response) AddUPublish(pub Publish) {
r.Publish = append(r.Publish, pub)
}
func (r *Response) IsValid() bool {
return !r.Error
}

View File

@@ -1,11 +1,15 @@
package models
import "github.com/google/uuid"
type Subscribe struct {
Path string `json:"path"`
Depth uint `json:"depth,omitempty"`
Drivers *Drivers `json:"drivers,omitempty"`
Driver string `json:"driver,omitempty"`
OnCreate bool `json:"onCreate,omitempty"`
OnDelete bool `json:"onDelete,omitempty"`
OnChange bool `json:"onChange,omitempty"`
Uuid uuid.UUID `json:"uuid,omitempty"`
Path string `json:"path,omitempty"`
Depth uint `json:"depth,omitempty"`
Value any `json:"value,omitempty"`
Drivers *Drivers `json:"drivers,omitempty"`
Driver string `json:"driver,omitempty"`
OnCreate bool `json:"onCreate,omitempty"`
OnDelete bool `json:"onDelete,omitempty"`
OnChange bool `json:"onChange,omitempty"`
}

View File

@@ -3,7 +3,7 @@ package models
import (
"fmt"
"github.com/tecamino/tecamino-dbm-json_data/utils"
"github.com/tecamino/tecamino-json_data/utils"
)
const (

View File

@@ -1,7 +1,26 @@
package tecaminodbmjson_data
import "github.com/tecamino/tecamino-dbm-json_data/models"
import (
"encoding/json"
"io"
"github.com/tecamino/tecamino-json_data/models"
)
func NewRequest() *models.Request {
return &models.Request{}
}
func ParseRequest(body io.ReadCloser) (*models.Request, error) {
b, err := io.ReadAll(body)
if err != nil {
return nil, err
}
r := models.Request{}
err = json.Unmarshal(b, &r)
if err != nil {
return nil, err
}
return &r, nil
}

View File

@@ -2,14 +2,23 @@ package tecaminodbmjson_data
import (
"encoding/json"
"io"
"github.com/tecamino/tecamino-dbm-json_data/models"
"github.com/tecamino/tecamino-json_data/models"
)
func ParseResponse(b []byte) (*models.Response, error) {
func NewResponse() *models.Response {
return &models.Response{}
}
func ParseResponse(body io.ReadCloser) (*models.Response, error) {
b, err := io.ReadAll(body)
if err != nil {
return nil, err
}
r := models.Response{}
err := json.Unmarshal(b, &r)
err = json.Unmarshal(b, &r)
if err != nil {
return nil, err
}