Skip to content

Commit 09b1abc

Browse files
Merge pull request #22 from GoLedgerDev/develop
Fix getRecursive when accessing an object custom datatype
2 parents 91eefe1 + 5e4204e commit 09b1abc

File tree

6 files changed

+15
-6
lines changed

6 files changed

+15
-6
lines changed

assets/get.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,8 @@ func getRecursive(stub *sw.StubWrapper, pvtCollection, key string, keysChecked [
165165
switch prop := v.(type) {
166166
case map[string]interface{}:
167167

168-
if prop["@assetType"].(string) == "@object" {
168+
assetType, ok := prop["@assetType"].(string)
169+
if !ok || assetType == "@object" {
169170
continue
170171
}
171172

@@ -211,7 +212,8 @@ func getRecursive(stub *sw.StubWrapper, pvtCollection, key string, keysChecked [
211212
for idx, elem := range prop {
212213
if elemMap, ok := elem.(map[string]interface{}); ok {
213214

214-
if elemMap["@assetType"].(string) == "@object" {
215+
assetType, ok := elemMap["@assetType"].(string)
216+
if !ok || assetType == "@object" {
215217
continue
216218
}
217219

test/main_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ func TestMain(m *testing.M) {
1414

1515
tx.InitHeader(tx.Header{
1616
Name: "CC Tools Test",
17-
Version: "v0.7.1",
17+
Version: "v0.8.1",
1818
Colors: map[string][]string{
1919
"@default": {"#4267B2", "#34495E", "#ECF0F1"},
2020
},

test/tx_getHeader_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ func TestGetHeader(t *testing.T) {
1111
stub := mock.NewMockStub("org1MSP", new(testCC))
1212

1313
expectedResponse := map[string]interface{}{
14-
"ccToolsVersion": "v0.7.1",
14+
"ccToolsVersion": "v0.8.1",
1515
"colors": []interface{}{
1616
"#4267B2",
1717
"#34495E",
@@ -20,7 +20,7 @@ func TestGetHeader(t *testing.T) {
2020
"name": "CC Tools Test",
2121
"orgMSP": "org1MSP",
2222
"orgTitle": "CC Tools Demo",
23-
"version": "v0.7.1",
23+
"version": "v0.8.1",
2424
}
2525
err := invokeAndVerify(stub, "getHeader", nil, expectedResponse, 200)
2626
if err != nil {

test/tx_getSchema_test.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,18 +16,21 @@ func TestGetSchema(t *testing.T) {
1616
"label": "Person",
1717
"tag": "person",
1818
"writers": nil,
19+
"dynamic": false,
1920
},
2021
map[string]interface{}{
2122
"description": "Library as a collection of books",
2223
"label": "Library",
2324
"tag": "library",
2425
"writers": nil,
26+
"dynamic": false,
2527
},
2628
map[string]interface{}{
2729
"description": "Book",
2830
"label": "Book",
2931
"tag": "book",
3032
"writers": nil,
33+
"dynamic": false,
3134
},
3235
map[string]interface{}{
3336
"description": "Secret between Org2 and Org3",
@@ -38,12 +41,14 @@ func TestGetSchema(t *testing.T) {
3841
},
3942
"tag": "secret",
4043
"writers": nil,
44+
"dynamic": false,
4145
},
4246
map[string]interface{}{
4347
"description": "AssetTypeListData",
4448
"label": "AssetTypeListData",
4549
"tag": "assetTypeListData",
4650
"writers": nil,
51+
"dynamic": false,
4752
},
4853
}
4954
err := invokeAndVerify(stub, "getSchema", nil, expectedResponse, 200)

transactions/getHeader.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ var header Header
1919

2020
func InitHeader(h Header) {
2121
header = h
22-
header.CCToolsVersion = "v0.7.1"
22+
header.CCToolsVersion = "v0.8.1"
2323
}
2424

2525
// GetHeader returns data in CCHeader

transactions/getSchema.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ var GetSchema = Transaction{
5858
Description string `json:"description"`
5959
Readers []string `json:"readers,omitempty"`
6060
Writers []string `json:"writers"`
61+
Dynamic bool `json:"dynamic"`
6162
}
6263
var assetList []assetListElem
6364
for _, assetTypeDef := range assetTypeList {
@@ -66,6 +67,7 @@ var GetSchema = Transaction{
6667
Label: assetTypeDef.Label,
6768
Description: assetTypeDef.Description,
6869
Readers: assetTypeDef.Readers,
70+
Dynamic: assetTypeDef.Dynamic,
6971
})
7072
}
7173

0 commit comments

Comments
 (0)