Skip to content

Commit

Permalink
Doc updates on planned design change
Browse files Browse the repository at this point in the history
Prepare for consumed thing to use forms to submit actions, subscribe and observe.
Some bug fixes.
  • Loading branch information
hspaay committed Sep 20, 2024
1 parent 1614480 commit 3577b6b
Show file tree
Hide file tree
Showing 58 changed files with 7,080 additions and 1,615 deletions.
40 changes: 20 additions & 20 deletions api/go/authn/authnAdmin.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// Package authn with types and interfaces for using this service with agent 'authn'
// DO NOT EDIT. This file is auto generated by tdd2api. Any changes will be overwritten.
// Generated 13 Sep 24 10:21 PDT.
// Generated 19 Sep 24 19:02 PDT.
package authn

import "errors"
Expand Down Expand Up @@ -222,11 +222,11 @@ func NewAdminHandler(svc IAdminService) func(*hubclient.ThingMessage) hubclient.
var resp interface{}
var senderID = msg.SenderID
switch msg.Name {
case "updateClientProfile":
var args ClientProfile
case "addAgent":
args := AdminAddAgentArgs{}
err = utils.DecodeAsObject(msg.Data, &args)
if err == nil {
err = svc.UpdateClientProfile(senderID, args)
resp, err = svc.AddAgent(senderID, args)
} else {
err = errors.New("bad function argument: " + err.Error())
}
Expand All @@ -240,27 +240,20 @@ func NewAdminHandler(svc IAdminService) func(*hubclient.ThingMessage) hubclient.
err = errors.New("bad function argument: " + err.Error())
}
break
case "getProfiles":
if err == nil {
resp, err = svc.GetProfiles(senderID)
} else {
err = errors.New("bad function argument: " + err.Error())
}
break
case "removeClient":
case "getClientProfile":
var args string
err = utils.DecodeAsObject(msg.Data, &args)
if err == nil {
err = svc.RemoveClient(senderID, args)
resp, err = svc.GetClientProfile(senderID, args)
} else {
err = errors.New("bad function argument: " + err.Error())
}
break
case "newAuthToken":
case "removeClient":
var args string
err = utils.DecodeAsObject(msg.Data, &args)
if err == nil {
resp, err = svc.NewAuthToken(senderID, args)
err = svc.RemoveClient(senderID, args)
} else {
err = errors.New("bad function argument: " + err.Error())
}
Expand All @@ -274,11 +267,11 @@ func NewAdminHandler(svc IAdminService) func(*hubclient.ThingMessage) hubclient.
err = errors.New("bad function argument: " + err.Error())
}
break
case "addAgent":
args := AdminAddAgentArgs{}
case "updateClientProfile":
var args ClientProfile
err = utils.DecodeAsObject(msg.Data, &args)
if err == nil {
resp, err = svc.AddAgent(senderID, args)
err = svc.UpdateClientProfile(senderID, args)
} else {
err = errors.New("bad function argument: " + err.Error())
}
Expand All @@ -292,11 +285,18 @@ func NewAdminHandler(svc IAdminService) func(*hubclient.ThingMessage) hubclient.
err = errors.New("bad function argument: " + err.Error())
}
break
case "getClientProfile":
case "getProfiles":
if err == nil {
resp, err = svc.GetProfiles(senderID)
} else {
err = errors.New("bad function argument: " + err.Error())
}
break
case "newAuthToken":
var args string
err = utils.DecodeAsObject(msg.Data, &args)
if err == nil {
resp, err = svc.GetClientProfile(senderID, args)
resp, err = svc.NewAuthToken(senderID, args)
} else {
err = errors.New("bad function argument: " + err.Error())
}
Expand Down
42 changes: 21 additions & 21 deletions api/go/authn/authnUser.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// Package authn with types and interfaces for using this service with agent 'authn'
// DO NOT EDIT. This file is auto generated by tdd2api. Any changes will be overwritten.
// Generated 13 Sep 24 10:21 PDT.
// Generated 19 Sep 24 19:02 PDT.
package authn

import "errors"
Expand Down Expand Up @@ -284,63 +284,63 @@ func NewUserHandler(svc IUserService) func(*hubclient.ThingMessage) hubclient.De
var resp interface{}
var senderID = msg.SenderID
switch msg.Name {
case "validateToken":
var args string
case "refreshToken":
args := UserRefreshTokenArgs{}
err = utils.DecodeAsObject(msg.Data, &args)
if err == nil {
resp, err = svc.ValidateToken(senderID, args)
resp, err = svc.RefreshToken(senderID, args)
} else {
err = errors.New("bad function argument: " + err.Error())
}
break
case "getProfile":
case "updateName":
var args string
err = utils.DecodeAsObject(msg.Data, &args)
if err == nil {
resp, err = svc.GetProfile(senderID)
err = svc.UpdateName(senderID, args)
} else {
err = errors.New("bad function argument: " + err.Error())
}
break
case "login":
args := UserLoginArgs{}
case "updatePassword":
var args string
err = utils.DecodeAsObject(msg.Data, &args)
if err == nil {
resp, err = svc.Login(senderID, args)
err = svc.UpdatePassword(senderID, args)
} else {
err = errors.New("bad function argument: " + err.Error())
}
break
case "refreshToken":
args := UserRefreshTokenArgs{}
case "updatePubKey":
var args string
err = utils.DecodeAsObject(msg.Data, &args)
if err == nil {
resp, err = svc.RefreshToken(senderID, args)
err = svc.UpdatePubKey(senderID, args)
} else {
err = errors.New("bad function argument: " + err.Error())
}
break
case "updateName":
case "validateToken":
var args string
err = utils.DecodeAsObject(msg.Data, &args)
if err == nil {
err = svc.UpdateName(senderID, args)
resp, err = svc.ValidateToken(senderID, args)
} else {
err = errors.New("bad function argument: " + err.Error())
}
break
case "updatePassword":
var args string
err = utils.DecodeAsObject(msg.Data, &args)
case "getProfile":
if err == nil {
err = svc.UpdatePassword(senderID, args)
resp, err = svc.GetProfile(senderID)
} else {
err = errors.New("bad function argument: " + err.Error())
}
break
case "updatePubKey":
var args string
case "login":
args := UserLoginArgs{}
err = utils.DecodeAsObject(msg.Data, &args)
if err == nil {
err = svc.UpdatePubKey(senderID, args)
resp, err = svc.Login(senderID, args)
} else {
err = errors.New("bad function argument: " + err.Error())
}
Expand Down
14 changes: 7 additions & 7 deletions api/go/authz/authzAdmin.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// Package authz with types and interfaces for using this service with agent 'authz'
// DO NOT EDIT. This file is auto generated by tdd2api. Any changes will be overwritten.
// Generated 13 Sep 24 10:21 PDT.
// Generated 19 Sep 24 19:02 PDT.
package authz

import "errors"
Expand Down Expand Up @@ -78,20 +78,20 @@ func NewAdminHandler(svc IAdminService) func(*hubclient.ThingMessage) hubclient.
var resp interface{}
var senderID = msg.SenderID
switch msg.Name {
case "getClientRole":
var args string
case "setClientRole":
args := AdminSetClientRoleArgs{}
err = utils.DecodeAsObject(msg.Data, &args)
if err == nil {
resp, err = svc.GetClientRole(senderID, args)
err = svc.SetClientRole(senderID, args)
} else {
err = errors.New("bad function argument: " + err.Error())
}
break
case "setClientRole":
args := AdminSetClientRoleArgs{}
case "getClientRole":
var args string
err = utils.DecodeAsObject(msg.Data, &args)
if err == nil {
err = svc.SetClientRole(senderID, args)
resp, err = svc.GetClientRole(senderID, args)
} else {
err = errors.New("bad function argument: " + err.Error())
}
Expand Down
2 changes: 1 addition & 1 deletion api/go/authz/authzUser.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// Package authz with types and interfaces for using this service with agent 'authz'
// DO NOT EDIT. This file is auto generated by tdd2api. Any changes will be overwritten.
// Generated 13 Sep 24 10:21 PDT.
// Generated 19 Sep 24 19:02 PDT.
package authz

import "errors"
Expand Down
42 changes: 23 additions & 19 deletions api/go/digitwin/digitwinDirectory.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// Package digitwin with types and interfaces for using this service with agent 'digitwin'
// DO NOT EDIT. This file is auto generated by tdd2api. Any changes will be overwritten.
// Generated 13 Sep 24 10:21 PDT.
// Generated 19 Sep 24 19:02 PDT.
package digitwin

import "errors"
Expand Down Expand Up @@ -38,7 +38,7 @@ type DirectoryQueryTDsArgs struct {

// Query with Query Things
//
// Query expression (tbd)
// JSON Query expression (tbd)
Query string `json:"query,omitempty"`
}

Expand All @@ -51,9 +51,13 @@ const DirectoryReadTDsMethod = "readTDs"
type DirectoryReadTDsArgs struct {

// Limit with Limit
//
// Maximum number of documents to return
Limit int `json:"limit,omitempty"`

// Offset with Offset
//
// Start index in the list of TD documents
Offset int `json:"offset,omitempty"`
}

Expand All @@ -63,14 +67,14 @@ const DirectoryUpdateTDMethod = "updateTD"

// DirectoryQueryTDs client method - Query TDs.
// Query Thing TD documents from the directory
func DirectoryQueryTDs(hc hubclient.IHubClient, limit int, offset int, query string) (tDDList []string, err error) {
func DirectoryQueryTDs(hc hubclient.IHubClient, limit int, offset int, query string) (tDdocuments []string, err error) {
var args = DirectoryQueryTDsArgs{limit, offset, query}
err = hc.Rpc(DirectoryDThingID, DirectoryQueryTDsMethod, &args, &tDDList)
err = hc.Rpc(DirectoryDThingID, DirectoryQueryTDsMethod, &args, &tDdocuments)
return
}

// DirectoryReadTD client method - Read TD.
// This returns a JSON encoded TD document
// Return a JSON encoded TD document
func DirectoryReadTD(hc hubclient.IHubClient, thingID string) (tD string, err error) {

err = hc.Rpc(DirectoryDThingID, DirectoryReadTDMethod, &thingID, &tD)
Expand All @@ -86,7 +90,7 @@ func DirectoryReadTDs(hc hubclient.IHubClient, limit int, offset int) (tDlist []
}

// DirectoryRemoveTD client method - Remove TD.
// Remove a Thing TD document from the digital twin directory and value stores
// Remove a Thing TD document from the digital twin directory
func DirectoryRemoveTD(hc hubclient.IHubClient, thingID string) (err error) {

err = hc.Rpc(DirectoryDThingID, DirectoryRemoveTDMethod, &thingID, nil)
Expand All @@ -109,10 +113,10 @@ type IDirectoryService interface {
// QueryTDs Query TDs
// Query Thing TD documents from the directory
// This returns a list of JSON encoded TD documents
QueryTDs(senderID string, args DirectoryQueryTDsArgs) (tDDList []string, err error)
QueryTDs(senderID string, args DirectoryQueryTDsArgs) (tDdocuments []string, err error)

// ReadTD Read TD
// This returns a JSON encoded TD document
// Return a JSON encoded TD document
// This returns a a JSON encoded Thing Description Document
ReadTD(senderID string, thingID string) (tD string, err error)

Expand All @@ -122,7 +126,7 @@ type IDirectoryService interface {
ReadTDs(senderID string, args DirectoryReadTDsArgs) (tDlist []string, err error)

// RemoveTD Remove TD
// Remove a Thing TD document from the digital twin directory and value stores
// Remove a Thing TD document from the digital twin directory
RemoveTD(senderID string, thingID string) error

// UpdateTD Update TD
Expand All @@ -142,6 +146,15 @@ func NewDirectoryHandler(svc IDirectoryService) func(*hubclient.ThingMessage) hu
var resp interface{}
var senderID = msg.SenderID
switch msg.Name {
case "readTDs":
args := DirectoryReadTDsArgs{}
err = utils.DecodeAsObject(msg.Data, &args)
if err == nil {
resp, err = svc.ReadTDs(senderID, args)
} else {
err = errors.New("bad function argument: " + err.Error())
}
break
case "removeTD":
var args string
err = utils.DecodeAsObject(msg.Data, &args)
Expand Down Expand Up @@ -178,15 +191,6 @@ func NewDirectoryHandler(svc IDirectoryService) func(*hubclient.ThingMessage) hu
err = errors.New("bad function argument: " + err.Error())
}
break
case "readTDs":
args := DirectoryReadTDsArgs{}
err = utils.DecodeAsObject(msg.Data, &args)
if err == nil {
resp, err = svc.ReadTDs(senderID, args)
} else {
err = errors.New("bad function argument: " + err.Error())
}
break
default:
err = errors.New("Unknown Method '" + msg.Name + "' of service '" + msg.ThingID + "'")
stat.Failed(msg, err)
Expand All @@ -197,4 +201,4 @@ func NewDirectoryHandler(svc IDirectoryService) func(*hubclient.ThingMessage) hu
}

// DirectoryTD contains the raw TD of this service for publication to the Hub
const DirectoryTD = `{"@context":["https://www.w3.org/2022/wot/td/v1.1",{"ht":"https://www.hiveot.net/vocab/v0.1"}],"@type":"Service","created":"2024-04-21T17:00:00.000Z","description":"HiveOT digital twin directory service","id":"directory","modified":"2024-04-21T17:00:00.000Z","support":"https://www.github.com/hiveot/hub","title":"DigiTwin Directory Service","actions":{"queryTDs":{"@type":"ht:function","title":"Query TDs","description":"Query Thing TD documents from the directory","input":{"readOnly":false,"type":"object","properties":{"limit":{"title":"Max entries","description":"Maximum number of entries to return","default":100,"readOnly":false,"type":"integer","minimum":1},"offset":{"title":"Result offset","description":"Number of results to skip","default":0,"readOnly":false,"type":"integer"},"query":{"title":"Query Things","description":"Query expression (tbd)","readOnly":false,"type":"string"}}},"output":{"title":"TDD List","description":"List of JSON encoded TD documents","readOnly":false,"type":"array","items":{"readOnly":false,"type":"string"}},"idempotent":true},"readTD":{"@type":"ht:function","title":"Read TD","description":"This returns a JSON encoded TD document","input":{"title":"Thing ID","description":"Digital Twin Thing ID of the Thing to read","readOnly":false,"type":"string"},"output":{"title":"TD","description":"A JSON encoded Thing Description Document","readOnly":false,"type":"string"},"safe":true,"idempotent":true},"readTDs":{"@type":"ht:function","title":"Read TDs","description":"Read a batch of TD documents","input":{"readOnly":false,"type":"object","properties":{"limit":{"title":"Limit","default":100,"readOnly":false,"type":"integer","minimum":1},"offset":{"title":"Offset","default":0,"readOnly":false,"type":"integer"}}},"output":{"title":"TD list","description":"List of JSON encoded TD documents","readOnly":false,"type":"array","items":{"readOnly":false,"type":"string"}},"safe":true,"idempotent":true},"removeTD":{"@type":"ht:function","title":"Remove TD","description":"Remove a Thing TD document from the digital twin directory and value stores","input":{"title":"thingID","description":"Digital Twin ThingID of the Thing to remove","readOnly":false,"type":"string"},"idempotent":true},"updateTD":{"@type":"ht:function","title":"Update TD","description":"Update the TD in the directory","input":{"title":"TD","description":"Device TD document in JSON format","readOnly":false,"type":"string"},"idempotent":true}},"events":{"thingAdded":{"title":"Thing Added","description":"A new Thing TD was added to the directory","data":{"title":"thingID","description":"ID of the Thing that was added","readOnly":false,"type":"string"}},"thingRemoved":{"title":"Thing Removed","description":"A Thing TD was removed from the directory","data":{"title":"thingID","description":"ID of the Thing that was removed","readOnly":false,"type":"string"}}},"security":["bearer"],"securityDefinitions":{"bearer":{"description":"HTTP protocol authentication","scheme":"bearer","name":"authentication","alg":"es256","format":"jwt","in":"header"}}}`
const DirectoryTD = `{"@context":["https://www.w3.org/2022/wot/td/v1.1",{"ht":"https://www.hiveot.net/vocab/v0.1"}],"@type":"Service","created":"2024-04-21T17:00:00.000Z","description":"HiveOT digital twin directory service","id":"directory","modified":"2024-04-21T17:00:00.000Z","support":"https://www.github.com/hiveot/hub","title":"DigiTwin Directory Service","actions":{"queryTDs":{"@type":"ht:function","title":"Query TDs","description":"Query Thing TD documents from the directory","input":{"readOnly":false,"type":"object","properties":{"limit":{"title":"Max entries","description":"Maximum number of entries to return","default":100,"readOnly":false,"type":"integer","minimum":1},"offset":{"title":"Result offset","description":"Number of results to skip","default":0,"readOnly":false,"type":"integer"},"query":{"title":"Query Things","description":"JSON Query expression (tbd)","readOnly":false,"type":"string"}}},"output":{"title":"TD documents","description":"List of JSON encoded TD documents","readOnly":false,"type":"array","items":{"readOnly":false,"type":"string"}},"idempotent":true},"readTD":{"@type":"ht:function","title":"Read TD","description":"Return a JSON encoded TD document","input":{"title":"Thing ID","description":"Digital Twin Thing ID of the Thing to read","readOnly":false,"type":"string"},"output":{"title":"TD","description":"A JSON encoded Thing Description Document","readOnly":false,"type":"string"},"safe":true,"idempotent":true},"readTDs":{"@type":"ht:function","title":"Read TDs","description":"Read a batch of TD documents","input":{"readOnly":false,"type":"object","properties":{"limit":{"title":"Limit","description":"Maximum number of documents to return","default":100,"readOnly":false,"type":"integer","minimum":1},"offset":{"title":"Offset","description":"Start index in the list of TD documents","default":0,"readOnly":false,"type":"integer"}}},"output":{"title":"TD list","description":"List of JSON encoded TD documents","readOnly":false,"type":"array","items":{"readOnly":false,"type":"string"}},"safe":true,"idempotent":true},"removeTD":{"@type":"ht:function","title":"Remove TD","description":"Remove a Thing TD document from the digital twin directory","input":{"title":"Thing ID","description":"Digital Twin Thing ID of the Thing to remove","readOnly":false,"type":"string"},"idempotent":true},"updateTD":{"@type":"ht:function","title":"Update TD","description":"Update the TD in the directory","input":{"title":"TD","description":"Device TD document in JSON format","readOnly":false,"type":"string"},"idempotent":true}},"events":{"thingAdded":{"title":"Thing Added","description":"A new Thing TD was added to the directory","data":{"title":"thingID","description":"ID of the Thing that was added","readOnly":false,"type":"string"}},"thingRemoved":{"title":"Thing Removed","description":"A Thing TD was removed from the directory","data":{"title":"thingID","description":"ID of the Thing that was removed","readOnly":false,"type":"string"}}},"security":["bearer"],"securityDefinitions":{"bearer":{"description":"HTTP protocol authentication","scheme":"bearer","name":"authentication","alg":"es256","format":"jwt","in":"header"}}}`
Loading

0 comments on commit 3577b6b

Please sign in to comment.