From 84018ce323e227de3c36ac8f09f7ae5c47f4708e Mon Sep 17 00:00:00 2001 From: Anthony ESTEBE Date: Mon, 7 Jan 2019 23:47:59 +0700 Subject: [PATCH 1/3] add support of data type Any --- service/importer/assets/schema.go | 4 ++-- service/importer/assets/schema.json | 3 ++- service/validation.go | 3 ++- service/validation_test.go | 19 +++++++++++++++++++ 4 files changed, 25 insertions(+), 4 deletions(-) diff --git a/service/importer/assets/schema.go b/service/importer/assets/schema.go index b37e5e41a..f84ee109b 100644 --- a/service/importer/assets/schema.go +++ b/service/importer/assets/schema.go @@ -66,7 +66,7 @@ func (fi bindataFileInfo) Sys() interface{} { return nil } -var _serviceImporterAssetsSchemaJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x57\xcf\x6f\xd3\x30\x14\xbe\xe7\xaf\xb0\xbc\xdd\xa0\xeb\x10\x12\xd2\x7a\x83\x1b\x12\x62\x93\x76\x63\x0b\xc8\x4b\x5e\x3a\x8f\xc4\xf6\x9e\x9d\x89\x32\xf5\x7f\x47\x49\xda\xd4\x89\xed\x24\x63\x65\x42\x94\x9e\x5a\x3f\xbf\x1f\xdf\xf7\xec\xef\xb9\x8f\x11\x21\xf4\x58\x27\xb7\x50\x30\xba\x20\xf4\xd6\x18\xb5\x98\xcf\xef\xb4\x14\xb3\x66\xf5\x44\xe2\x72\x9e\x22\xcb\xcc\xec\xf4\xdd\xbc\x59\x3b\xa2\xaf\x2b\x3f\xb3\x52\x50\x39\xc9\x9b\x3b\x48\x4c\xb3\x86\x70\x5f\x72\x84\x94\x2e\xc8\x55\x44\x08\x21\x54\xb0\x02\x68\x44\x48\x5c\xdb\x59\x9a\x72\xc3\xa5\x60\xf9\x05\x4a\x05\x68\x38\x68\xba\x20\x19\xcb\x35\xd4\x1b\x94\xbd\xfc\x68\x85\xd8\xfe\xb2\x12\x6b\x83\x5c\x2c\xeb\xc4\xf5\x7a\xc1\xc5\x27\x10\x4b\x73\x4b\x17\xe4\x4d\xbd\xb8\x6e\x6c\x54\xf3\x74\x52\x00\xf6\xa3\x0d\xf0\xf6\xac\x5d\x56\xcc\x18\x40\x51\x79\x7c\xbd\x3a\x9d\x9d\xb1\xd9\xcf\xf7\xb3\x2f\xd7\xd7\x27\xdf\x66\xf1\xab\x63\xda\xc9\x94\x82\x4e\x90\xab\x0a\xe3\x40\xc6\x8e\x0b\x82\x92\x9a\x1b\x89\xab\xa9\x1e\xf0\x00\xc2\x68\x7b\xb7\x14\x70\x9e\xb5\xa4\x57\x9f\xc7\x5d\x08\x51\xe6\x39\xdd\x3a\xd7\xb6\xf6\x9b\xbf\x8d\xad\x6d\xac\x5d\xed\xc6\x0d\x45\x17\x6e\xf7\xda\x2d\x16\x75\x0d\x6f\xfd\x1d\xd5\x51\x44\xa8\x50\xd0\xa3\x79\x0a\x19\x17\x75\x6e\x3d\xaf\xe1\xd2\xce\xde\x75\xe4\xfb\xbe\xfd\x16\x77\xd8\x32\x4c\x7f\x3f\x1c\xb2\x2a\xb4\xbf\xcf\x55\x0a\x0a\x44\x0a\x22\xe9\x56\x15\xc2\x3d\x09\xf3\x08\xde\x31\xac\x01\x9c\x6d\xa5\xab\x6e\x17\x1c\x05\x6a\x2d\xbc\x60\x4b\xb0\xa9\x89\x1d\x32\xd6\x1d\x32\x12\x29\x32\xbe\x2c\x91\xf5\x6f\xf3\x68\x45\xd1\x36\x58\x1d\x8a\x5a\xbb\x76\xaa\xa6\x18\xb2\x02\x0c\xe0\xbf\x78\x36\x07\x6a\x79\x52\x3d\xc3\x2d\xdd\xa5\xea\x2d\xc7\x4e\x0c\xcf\x5c\xe9\xd8\x7b\x33\xc6\x0b\xc6\x96\x62\xfb\xb3\xee\x67\x0b\xce\x81\x67\x87\x95\xaa\x61\x6d\x2c\xe6\x8d\x94\x39\x30\x31\x2d\x28\x82\x02\x66\x20\xdd\x6b\xd0\x8d\xd3\x14\xe4\xae\x77\x35\xe3\x44\x59\x78\x1b\x5e\x5b\x2f\xc3\x9e\x84\xd0\xcf\x65\x71\x03\x18\xb2\x7e\xd8\xc0\x08\x98\xcf\x9b\x23\xeb\x31\x3a\xa7\x8a\x34\x9d\xce\x58\x99\x9b\x0a\xcf\x65\xa8\x93\xd1\xd0\xef\xa7\xce\xb2\xbd\xe9\xb2\xf7\x5e\x51\x59\x1a\x55\x1a\xbd\x45\x11\xef\x64\x3c\xa0\xdf\x9e\xab\x13\x3c\xdb\xd6\x49\x19\xb8\x22\x93\xdc\xb9\xa8\xcb\x9c\x34\x2c\x2c\xad\xf5\xc6\xd2\x90\x20\xec\x2b\xd8\x96\xc0\x00\xa6\x03\x93\xe7\x94\x19\x76\x30\xf2\x5c\x83\x0d\xc4\x9b\x7e\x98\xda\x0c\xcf\x90\x8d\xee\x4b\xa6\x79\x41\xff\x59\xdd\xb0\x1b\xfd\xd7\x8a\x86\xa7\x41\x4f\xb9\xe5\x5e\x72\xad\x77\xdf\xde\x5e\xcc\x01\xd6\x9a\x27\xec\x30\xee\x8e\x5e\xb8\x7f\x89\xfb\x8c\x24\xb2\x28\x98\xe8\xcf\xfe\x49\x64\x32\x5c\x3a\x2a\xe7\xbe\x5f\xc9\xc8\x1b\x96\xf4\xde\xb1\x9d\xf4\x0c\x91\xad\x5c\x7d\xe2\x06\x8a\x80\x52\x0c\x5f\xdb\xf0\x15\x8a\xbd\x10\x1f\x64\x5e\x16\x8e\x28\xbd\x10\xca\x52\xf0\xfb\x12\x3e\x6e\xb0\x1a\x2c\x5d\xed\x7d\x69\x22\x32\x94\xc5\x7f\x32\x94\x44\x77\xbe\x1f\x1e\x0d\x20\x1e\x42\xb2\xe1\x56\x3f\x52\x79\xa0\xea\x81\x8a\x83\x33\xaf\xfa\xdb\x1d\xad\xa3\x5f\x01\x00\x00\xff\xff\x82\xf8\xb9\xa7\xdc\x14\x00\x00") +var _serviceImporterAssetsSchemaJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x57\x5f\x4f\xdb\x3e\x14\x7d\xcf\xa7\xb0\x0c\x6f\xbf\x5f\x29\xd3\xa4\x49\xf4\x8d\xbd\x4d\x9a\x06\x12\x6f\x83\x6c\x32\xc9\x4d\x31\x4b\x6c\x73\xed\xa0\x75\xa8\xdf\x7d\x4a\xd2\xa6\x4e\x6c\x27\x61\x74\x68\x5a\xd7\xa7\xd6\xd7\xf7\xcf\x39\xd7\x3e\xbe\x7d\x8a\x08\xa1\xc7\x3a\xb9\x83\x82\xd1\x05\xa1\x77\xc6\xa8\xc5\x7c\x7e\xaf\xa5\x98\x35\xab\x27\x12\x97\xf3\x14\x59\x66\x66\xa7\xef\xe6\xcd\xda\x11\xfd\xbf\xf2\x33\x2b\x05\x95\x93\xbc\xbd\x87\xc4\x34\x6b\x08\x0f\x25\x47\x48\xe9\x82\x5c\x47\x84\x10\x42\x05\x2b\x80\x46\x84\xc4\xb5\x9d\xa5\x29\x37\x5c\x0a\x96\x5f\xa2\x54\x80\x86\x83\xa6\x0b\x92\xb1\x5c\x43\xbd\x41\xd9\xcb\x4f\x56\x88\xed\x2f\x2b\xb1\x36\xc8\xc5\xb2\x4e\x5c\xaf\x17\x5c\x7c\x04\xb1\x34\x77\x74\x41\xde\xd4\x8b\xeb\xc6\x46\x35\x4f\x27\x05\x60\xdf\xdb\x00\x6f\xcf\xda\x65\xc5\x8c\x01\x14\x95\xc7\x97\xeb\xd3\xd9\x19\x9b\xfd\x38\x9f\x7d\xbe\xb9\x39\xf9\x3a\x8b\xff\x3b\xa6\x9d\x4c\x29\xe8\x04\xb9\xaa\x30\x0e\x64\xec\xb8\x20\x28\xa9\xb9\x91\xb8\x9a\xea\x01\x8f\x20\x8c\xb6\x77\x4b\x01\x17\x59\x4b\x7a\xf5\x79\xda\x85\x10\x65\x9e\xd3\xad\x73\x6d\x6b\xbf\xf9\xdb\xd8\xda\xc6\xda\xd5\x6e\xdc\x50\x74\xe9\x76\xaf\xdd\x62\x51\xd7\xf0\xd6\xdf\x51\x1d\x45\x84\x0a\x05\x3d\x9a\xa7\x90\x71\x51\xe7\xd6\xf3\x1a\x2e\xed\xec\x5d\x47\xbe\xef\xdb\x6f\x71\x87\x2d\xc3\xf4\xb7\xc3\x21\xab\x42\xfb\xeb\x5c\xa5\xa0\x40\xa4\x20\x92\x6e\x55\x21\xdc\x93\x30\x8f\xe0\x1d\xc3\x1a\xc0\xd9\x56\xba\xea\x76\xc1\x51\xa0\xd6\xc2\x0b\xb6\x04\x9b\x9a\xd8\x21\x63\xdd\x21\x23\x91\x22\xe3\xcb\x12\x59\xff\x36\x8f\x56\x14\x6d\x83\xd5\xa1\xa8\xb5\x6b\xa7\x6a\x8a\x21\x2b\xc0\x00\xfe\x8d\x67\x73\xa0\x96\x67\xd5\x33\xdc\xd2\x5d\xaa\xde\x72\xec\xc4\xf0\xbc\x2b\x1d\x7b\xef\x8d\xf1\x82\xb1\xa5\xd8\xfe\xac\xfb\xd9\x82\xef\xc0\x8b\xc3\x4a\xd5\xb0\x36\x16\xf3\x56\xca\x1c\x98\x98\x16\x14\x41\x01\x33\x90\xee\x35\xe8\xc6\x69\x0a\x72\xd7\xbb\x7a\xe3\x44\x59\x78\x1b\x5e\x5b\xaf\xc2\x9e\x84\xd0\x4f\x65\x71\x0b\x18\xb2\xbe\xdf\xc0\x08\x98\x2f\xfc\x47\x76\x63\x3d\x17\x2b\x17\xbf\xe7\xc0\x91\xe6\x10\x64\xac\xcc\x4d\x05\xf5\x2a\xd4\xe4\x68\xe8\xf7\x73\x9f\xb9\xbd\x49\xb6\xf7\xca\x51\x59\x1a\x55\x1a\xbd\x45\x11\xef\x14\x3e\x20\xed\x9e\x5b\x15\x3c\xf6\xd6\x21\x1a\xb8\x3d\x93\xdc\xb9\xa8\xcb\x9c\xf4\x8e\x58\x32\xec\x8d\xa5\x21\x41\xd8\x57\xb0\x2d\x81\x01\x4c\x07\xa6\xdc\x29\x33\xec\x60\x94\xbb\x06\x1b\x88\x37\xfd\x30\xb5\x19\x5e\x20\x1b\xdd\x21\xa7\x19\xae\x7f\xaf\x6e\xd8\x8d\xfe\x63\x45\xc3\xd3\xa0\xe7\xdc\x72\x2f\xb9\xd6\x48\xb8\xb7\x61\x3a\xc0\x5a\x33\xdd\x0e\xe3\xee\xe8\x85\xfb\x6f\xb9\xcf\x48\x22\x8b\x82\x89\xfe\x58\x30\x89\x4c\x86\x4b\x47\xe5\xdc\xd1\x96\x8c\x8c\xb7\xa4\x37\xe2\x76\xd2\x33\x44\xb6\x72\xf5\x89\x1b\x28\x02\x4a\x31\x7c\x6d\xc3\x57\x28\xf6\x42\x7c\x94\x79\x59\x38\xa2\xf4\x4a\x28\x4b\xc1\x1f\x4a\xf8\xb0\xc1\x6a\xb0\x74\xb5\xf7\xb5\x89\xc8\x50\x16\xff\xc8\x50\x12\xdd\xf7\xfd\xf0\x68\x00\xf1\x18\x92\x0d\xb7\xfa\x91\xca\x03\x55\x0f\x54\x1c\x7c\xf3\xaa\x7f\xe4\xd1\x3a\xfa\x19\x00\x00\xff\xff\xa9\xaf\xd0\xe7\xf7\x14\x00\x00") func serviceImporterAssetsSchemaJsonBytes() ([]byte, error) { return bindataRead( @@ -81,7 +81,7 @@ func serviceImporterAssetsSchemaJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "service/importer/assets/schema.json", size: 5340, mode: os.FileMode(420), modTime: time.Unix(1546333141, 0)} + info := bindataFileInfo{name: "service/importer/assets/schema.json", size: 5367, mode: os.FileMode(420), modTime: time.Unix(1546878705, 0)} a := &asset{bytes: bytes, info: info} return a, nil } diff --git a/service/importer/assets/schema.json b/service/importer/assets/schema.json index 63064fb03..b9c0e24e8 100644 --- a/service/importer/assets/schema.json +++ b/service/importer/assets/schema.json @@ -98,7 +98,8 @@ "String", "Number", "Boolean", - "Object" + "Object", + "Any" ], "default": "String" } diff --git a/service/validation.go b/service/validation.go index 9e4720adf..8e72a4be4 100644 --- a/service/validation.go +++ b/service/validation.go @@ -91,7 +91,8 @@ func (v *parameterValidator) validateType(value interface{}) *ParameterWarning { if !okObj && !okArr { return v.newParameterWarning("not an object or array") } - + case "Any": + return nil default: return v.newParameterWarning("an invalid type") } diff --git a/service/validation_test.go b/service/validation_test.go index a9185d204..a4722eae5 100644 --- a/service/validation_test.go +++ b/service/validation_test.go @@ -29,6 +29,10 @@ var eventDataSchema = []*Parameter{ Key: "object", Type: "Object", }, + { + Key: "any", + Type: "Any", + }, { Key: "array", Type: "String", @@ -80,6 +84,18 @@ func TestObject(t *testing.T) { require.False(t, validateParameterData("object", 42)) } +func TestAny(t *testing.T) { + require.True(t, validateParameterData("any", map[string]interface{}{ + "foo": "bar", + })) + require.True(t, validateParameterData("any", []interface{}{ + "foo", + "bar", + })) + require.True(t, validateParameterData("any", 42)) + require.True(t, validateParameterData("any", "string")) +} + func TestArray(t *testing.T) { require.True(t, validateParameterData("array", []interface{}{"foo", "bar"})) require.True(t, validateParameterData("array", []interface{}{})) @@ -100,6 +116,7 @@ func TestValidateParameters(t *testing.T) { "object": { "foo": "bar" }, + "any": 123, "array": ["foo", "bar"] }`, errors: 0, @@ -113,6 +130,7 @@ func TestValidateParameters(t *testing.T) { "object": { "foo": "bar" }, + "any": 123, "array": ["foo", "bar"] }`, errors: 0, @@ -128,6 +146,7 @@ func TestValidateParameters(t *testing.T) { "number": "string", "boolean": 42, "object": false, + "any": 123, "array": 42 }`, errors: 5, From 0221e794ad6fe7781b5f4484b464fa0368d27719 Mon Sep 17 00:00:00 2001 From: Anthony ESTEBE Date: Mon, 7 Jan 2019 23:50:45 +0700 Subject: [PATCH 2/3] update api --- docs/guide/service/emit-an-event.md | 2 +- docs/guide/service/listen-for-tasks.md | 2 +- protobuf/coreapi/api.pb.go | 64 +++++++++++++------------- protobuf/coreapi/api.proto | 2 +- 4 files changed, 35 insertions(+), 35 deletions(-) diff --git a/docs/guide/service/emit-an-event.md b/docs/guide/service/emit-an-event.md index ac24661df..702363a15 100644 --- a/docs/guide/service/emit-an-event.md +++ b/docs/guide/service/emit-an-event.md @@ -38,7 +38,7 @@ The data type can be one of the following: * `String` * `Boolean` * `Number` -* `Object` +* `Any` ### Example diff --git a/docs/guide/service/listen-for-tasks.md b/docs/guide/service/listen-for-tasks.md index d1bd010e3..51e8941b6 100644 --- a/docs/guide/service/listen-for-tasks.md +++ b/docs/guide/service/listen-for-tasks.md @@ -48,7 +48,7 @@ The parameter can be one of the following: * `String` * `Boolean` * `Number` -* `Object` +* `Any` ### Example diff --git a/protobuf/coreapi/api.pb.go b/protobuf/coreapi/api.pb.go index 413f9ac9c..8c20e51e6 100644 --- a/protobuf/coreapi/api.pb.go +++ b/protobuf/coreapi/api.pb.go @@ -46,7 +46,7 @@ func (x DeployServiceReply_Status_Type) String() string { return proto.EnumName(DeployServiceReply_Status_Type_name, int32(x)) } func (DeployServiceReply_Status_Type) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_api_6063a75cc49d5443, []int{11, 0, 0} + return fileDescriptor_api_a80804255b472e5e, []int{11, 0, 0} } type LogData_Type int32 @@ -69,7 +69,7 @@ func (x LogData_Type) String() string { return proto.EnumName(LogData_Type_name, int32(x)) } func (LogData_Type) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_api_6063a75cc49d5443, []int{19, 0} + return fileDescriptor_api_a80804255b472e5e, []int{19, 0} } type Service_Status int32 @@ -101,7 +101,7 @@ func (x Service_Status) String() string { return proto.EnumName(Service_Status_name, int32(x)) } func (Service_Status) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_api_6063a75cc49d5443, []int{20, 0} + return fileDescriptor_api_a80804255b472e5e, []int{20, 0} } // The request's data for the `ListenEvent` stream's API. @@ -125,7 +125,7 @@ func (m *ListenEventRequest) Reset() { *m = ListenEventRequest{} } func (m *ListenEventRequest) String() string { return proto.CompactTextString(m) } func (*ListenEventRequest) ProtoMessage() {} func (*ListenEventRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_6063a75cc49d5443, []int{0} + return fileDescriptor_api_a80804255b472e5e, []int{0} } func (m *ListenEventRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ListenEventRequest.Unmarshal(m, b) @@ -181,7 +181,7 @@ func (m *EventData) Reset() { *m = EventData{} } func (m *EventData) String() string { return proto.CompactTextString(m) } func (*EventData) ProtoMessage() {} func (*EventData) Descriptor() ([]byte, []int) { - return fileDescriptor_api_6063a75cc49d5443, []int{1} + return fileDescriptor_api_a80804255b472e5e, []int{1} } func (m *EventData) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_EventData.Unmarshal(m, b) @@ -240,7 +240,7 @@ func (m *ListenResultRequest) Reset() { *m = ListenResultRequest{} } func (m *ListenResultRequest) String() string { return proto.CompactTextString(m) } func (*ListenResultRequest) ProtoMessage() {} func (*ListenResultRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_6063a75cc49d5443, []int{2} + return fileDescriptor_api_a80804255b472e5e, []int{2} } func (m *ListenResultRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ListenResultRequest.Unmarshal(m, b) @@ -318,7 +318,7 @@ func (m *ResultData) Reset() { *m = ResultData{} } func (m *ResultData) String() string { return proto.CompactTextString(m) } func (*ResultData) ProtoMessage() {} func (*ResultData) Descriptor() ([]byte, []int) { - return fileDescriptor_api_6063a75cc49d5443, []int{3} + return fileDescriptor_api_a80804255b472e5e, []int{3} } func (m *ResultData) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ResultData.Unmarshal(m, b) @@ -405,7 +405,7 @@ func (m *ExecuteTaskRequest) Reset() { *m = ExecuteTaskRequest{} } func (m *ExecuteTaskRequest) String() string { return proto.CompactTextString(m) } func (*ExecuteTaskRequest) ProtoMessage() {} func (*ExecuteTaskRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_6063a75cc49d5443, []int{4} + return fileDescriptor_api_a80804255b472e5e, []int{4} } func (m *ExecuteTaskRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExecuteTaskRequest.Unmarshal(m, b) @@ -472,7 +472,7 @@ func (m *ExecuteTaskReply) Reset() { *m = ExecuteTaskReply{} } func (m *ExecuteTaskReply) String() string { return proto.CompactTextString(m) } func (*ExecuteTaskReply) ProtoMessage() {} func (*ExecuteTaskReply) Descriptor() ([]byte, []int) { - return fileDescriptor_api_6063a75cc49d5443, []int{5} + return fileDescriptor_api_a80804255b472e5e, []int{5} } func (m *ExecuteTaskReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExecuteTaskReply.Unmarshal(m, b) @@ -518,7 +518,7 @@ func (m *StartServiceRequest) Reset() { *m = StartServiceRequest{} } func (m *StartServiceRequest) String() string { return proto.CompactTextString(m) } func (*StartServiceRequest) ProtoMessage() {} func (*StartServiceRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_6063a75cc49d5443, []int{6} + return fileDescriptor_api_a80804255b472e5e, []int{6} } func (m *StartServiceRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_StartServiceRequest.Unmarshal(m, b) @@ -556,7 +556,7 @@ func (m *StartServiceReply) Reset() { *m = StartServiceReply{} } func (m *StartServiceReply) String() string { return proto.CompactTextString(m) } func (*StartServiceReply) ProtoMessage() {} func (*StartServiceReply) Descriptor() ([]byte, []int) { - return fileDescriptor_api_6063a75cc49d5443, []int{7} + return fileDescriptor_api_a80804255b472e5e, []int{7} } func (m *StartServiceReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_StartServiceReply.Unmarshal(m, b) @@ -595,7 +595,7 @@ func (m *StopServiceRequest) Reset() { *m = StopServiceRequest{} } func (m *StopServiceRequest) String() string { return proto.CompactTextString(m) } func (*StopServiceRequest) ProtoMessage() {} func (*StopServiceRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_6063a75cc49d5443, []int{8} + return fileDescriptor_api_a80804255b472e5e, []int{8} } func (m *StopServiceRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_StopServiceRequest.Unmarshal(m, b) @@ -633,7 +633,7 @@ func (m *StopServiceReply) Reset() { *m = StopServiceReply{} } func (m *StopServiceReply) String() string { return proto.CompactTextString(m) } func (*StopServiceReply) ProtoMessage() {} func (*StopServiceReply) Descriptor() ([]byte, []int) { - return fileDescriptor_api_6063a75cc49d5443, []int{9} + return fileDescriptor_api_a80804255b472e5e, []int{9} } func (m *StopServiceReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_StopServiceReply.Unmarshal(m, b) @@ -689,7 +689,7 @@ func (m *DeployServiceRequest) Reset() { *m = DeployServiceRequest{} } func (m *DeployServiceRequest) String() string { return proto.CompactTextString(m) } func (*DeployServiceRequest) ProtoMessage() {} func (*DeployServiceRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_6063a75cc49d5443, []int{10} + return fileDescriptor_api_a80804255b472e5e, []int{10} } func (m *DeployServiceRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DeployServiceRequest.Unmarshal(m, b) @@ -858,7 +858,7 @@ func (m *DeployServiceReply) Reset() { *m = DeployServiceReply{} } func (m *DeployServiceReply) String() string { return proto.CompactTextString(m) } func (*DeployServiceReply) ProtoMessage() {} func (*DeployServiceReply) Descriptor() ([]byte, []int) { - return fileDescriptor_api_6063a75cc49d5443, []int{11} + return fileDescriptor_api_a80804255b472e5e, []int{11} } func (m *DeployServiceReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DeployServiceReply.Unmarshal(m, b) @@ -1025,7 +1025,7 @@ func (m *DeployServiceReply_Status) Reset() { *m = DeployServiceReply_St func (m *DeployServiceReply_Status) String() string { return proto.CompactTextString(m) } func (*DeployServiceReply_Status) ProtoMessage() {} func (*DeployServiceReply_Status) Descriptor() ([]byte, []int) { - return fileDescriptor_api_6063a75cc49d5443, []int{11, 0} + return fileDescriptor_api_a80804255b472e5e, []int{11, 0} } func (m *DeployServiceReply_Status) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DeployServiceReply_Status.Unmarshal(m, b) @@ -1079,7 +1079,7 @@ func (m *DeleteServiceRequest) Reset() { *m = DeleteServiceRequest{} } func (m *DeleteServiceRequest) String() string { return proto.CompactTextString(m) } func (*DeleteServiceRequest) ProtoMessage() {} func (*DeleteServiceRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_6063a75cc49d5443, []int{12} + return fileDescriptor_api_a80804255b472e5e, []int{12} } func (m *DeleteServiceRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DeleteServiceRequest.Unmarshal(m, b) @@ -1124,7 +1124,7 @@ func (m *DeleteServiceReply) Reset() { *m = DeleteServiceReply{} } func (m *DeleteServiceReply) String() string { return proto.CompactTextString(m) } func (*DeleteServiceReply) ProtoMessage() {} func (*DeleteServiceReply) Descriptor() ([]byte, []int) { - return fileDescriptor_api_6063a75cc49d5443, []int{13} + return fileDescriptor_api_a80804255b472e5e, []int{13} } func (m *DeleteServiceReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DeleteServiceReply.Unmarshal(m, b) @@ -1155,7 +1155,7 @@ func (m *ListServicesRequest) Reset() { *m = ListServicesRequest{} } func (m *ListServicesRequest) String() string { return proto.CompactTextString(m) } func (*ListServicesRequest) ProtoMessage() {} func (*ListServicesRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_6063a75cc49d5443, []int{14} + return fileDescriptor_api_a80804255b472e5e, []int{14} } func (m *ListServicesRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ListServicesRequest.Unmarshal(m, b) @@ -1236,7 +1236,7 @@ func (m *ListServicesReply) Reset() { *m = ListServicesReply{} } func (m *ListServicesReply) String() string { return proto.CompactTextString(m) } func (*ListServicesReply) ProtoMessage() {} func (*ListServicesReply) Descriptor() ([]byte, []int) { - return fileDescriptor_api_6063a75cc49d5443, []int{15} + return fileDescriptor_api_a80804255b472e5e, []int{15} } func (m *ListServicesReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ListServicesReply.Unmarshal(m, b) @@ -1282,7 +1282,7 @@ func (m *GetServiceRequest) Reset() { *m = GetServiceRequest{} } func (m *GetServiceRequest) String() string { return proto.CompactTextString(m) } func (*GetServiceRequest) ProtoMessage() {} func (*GetServiceRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_6063a75cc49d5443, []int{16} + return fileDescriptor_api_a80804255b472e5e, []int{16} } func (m *GetServiceRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetServiceRequest.Unmarshal(m, b) @@ -1370,7 +1370,7 @@ func (m *GetServiceReply) Reset() { *m = GetServiceReply{} } func (m *GetServiceReply) String() string { return proto.CompactTextString(m) } func (*GetServiceReply) ProtoMessage() {} func (*GetServiceReply) Descriptor() ([]byte, []int) { - return fileDescriptor_api_6063a75cc49d5443, []int{17} + return fileDescriptor_api_a80804255b472e5e, []int{17} } func (m *GetServiceReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetServiceReply.Unmarshal(m, b) @@ -1418,7 +1418,7 @@ func (m *ServiceLogsRequest) Reset() { *m = ServiceLogsRequest{} } func (m *ServiceLogsRequest) String() string { return proto.CompactTextString(m) } func (*ServiceLogsRequest) ProtoMessage() {} func (*ServiceLogsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_6063a75cc49d5443, []int{18} + return fileDescriptor_api_a80804255b472e5e, []int{18} } func (m *ServiceLogsRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ServiceLogsRequest.Unmarshal(m, b) @@ -1476,7 +1476,7 @@ func (m *LogData) Reset() { *m = LogData{} } func (m *LogData) String() string { return proto.CompactTextString(m) } func (*LogData) ProtoMessage() {} func (*LogData) Descriptor() ([]byte, []int) { - return fileDescriptor_api_6063a75cc49d5443, []int{19} + return fileDescriptor_api_a80804255b472e5e, []int{19} } func (m *LogData) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_LogData.Unmarshal(m, b) @@ -1537,7 +1537,7 @@ func (m *Service) Reset() { *m = Service{} } func (m *Service) String() string { return proto.CompactTextString(m) } func (*Service) ProtoMessage() {} func (*Service) Descriptor() ([]byte, []int) { - return fileDescriptor_api_6063a75cc49d5443, []int{20} + return fileDescriptor_api_a80804255b472e5e, []int{20} } func (m *Service) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Service.Unmarshal(m, b) @@ -1635,7 +1635,7 @@ func (m *Event) Reset() { *m = Event{} } func (m *Event) String() string { return proto.CompactTextString(m) } func (*Event) ProtoMessage() {} func (*Event) Descriptor() ([]byte, []int) { - return fileDescriptor_api_6063a75cc49d5443, []int{21} + return fileDescriptor_api_a80804255b472e5e, []int{21} } func (m *Event) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Event.Unmarshal(m, b) @@ -1699,7 +1699,7 @@ func (m *Task) Reset() { *m = Task{} } func (m *Task) String() string { return proto.CompactTextString(m) } func (*Task) ProtoMessage() {} func (*Task) Descriptor() ([]byte, []int) { - return fileDescriptor_api_6063a75cc49d5443, []int{22} + return fileDescriptor_api_a80804255b472e5e, []int{22} } func (m *Task) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Task.Unmarshal(m, b) @@ -1769,7 +1769,7 @@ func (m *Output) Reset() { *m = Output{} } func (m *Output) String() string { return proto.CompactTextString(m) } func (*Output) ProtoMessage() {} func (*Output) Descriptor() ([]byte, []int) { - return fileDescriptor_api_6063a75cc49d5443, []int{23} + return fileDescriptor_api_a80804255b472e5e, []int{23} } func (m *Output) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Output.Unmarshal(m, b) @@ -1834,7 +1834,7 @@ func (m *Parameter) Reset() { *m = Parameter{} } func (m *Parameter) String() string { return proto.CompactTextString(m) } func (*Parameter) ProtoMessage() {} func (*Parameter) Descriptor() ([]byte, []int) { - return fileDescriptor_api_6063a75cc49d5443, []int{24} + return fileDescriptor_api_a80804255b472e5e, []int{24} } func (m *Parameter) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Parameter.Unmarshal(m, b) @@ -1913,7 +1913,7 @@ func (m *Dependency) Reset() { *m = Dependency{} } func (m *Dependency) String() string { return proto.CompactTextString(m) } func (*Dependency) ProtoMessage() {} func (*Dependency) Descriptor() ([]byte, []int) { - return fileDescriptor_api_6063a75cc49d5443, []int{25} + return fileDescriptor_api_a80804255b472e5e, []int{25} } func (m *Dependency) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Dependency.Unmarshal(m, b) @@ -2513,10 +2513,10 @@ var _Core_serviceDesc = grpc.ServiceDesc{ } func init() { - proto.RegisterFile("github.com/mesg-foundation/core/protobuf/coreapi/api.proto", fileDescriptor_api_6063a75cc49d5443) + proto.RegisterFile("github.com/mesg-foundation/core/protobuf/coreapi/api.proto", fileDescriptor_api_a80804255b472e5e) } -var fileDescriptor_api_6063a75cc49d5443 = []byte{ +var fileDescriptor_api_a80804255b472e5e = []byte{ // 1332 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x57, 0x5d, 0x8f, 0xdb, 0x44, 0x17, 0x8e, 0x37, 0xdf, 0xc7, 0x69, 0x9b, 0x9d, 0xdd, 0xb6, 0x7e, 0xa3, 0x57, 0x6d, 0x35, 0xd0, diff --git a/protobuf/coreapi/api.proto b/protobuf/coreapi/api.proto index eaae3dae6..c2251d22d 100644 --- a/protobuf/coreapi/api.proto +++ b/protobuf/coreapi/api.proto @@ -475,7 +475,7 @@ message Parameter { string key = 8; // Parameter's key. string name = 1; // Parameter's name. string description = 2; // Parameter's description. - string type = 3; // Parameter's type: `String`, `Number`, `Boolean` or `Object`. + string type = 3; // Parameter's type: `String`, `Number`, `Boolean` or `Any`. bool optional = 4; // Set the parameter as optional. bool repeated = 9; // Mark a parameter as an array of the defined type } From 54cad77f0b05b6846555de50cab94556c5d3dae4 Mon Sep 17 00:00:00 2001 From: krhubert Date: Tue, 8 Jan 2019 11:34:09 +0700 Subject: [PATCH 3/3] Apply suggestions from code review Co-Authored-By: antho1404 --- service/validation_test.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/service/validation_test.go b/service/validation_test.go index a4722eae5..f2721d003 100644 --- a/service/validation_test.go +++ b/service/validation_test.go @@ -90,7 +90,7 @@ func TestAny(t *testing.T) { })) require.True(t, validateParameterData("any", []interface{}{ "foo", - "bar", + 0, })) require.True(t, validateParameterData("any", 42)) require.True(t, validateParameterData("any", "string")) @@ -116,7 +116,7 @@ func TestValidateParameters(t *testing.T) { "object": { "foo": "bar" }, - "any": 123, + "any": 0, "array": ["foo", "bar"] }`, errors: 0, @@ -130,7 +130,7 @@ func TestValidateParameters(t *testing.T) { "object": { "foo": "bar" }, - "any": 123, + "any": 0, "array": ["foo", "bar"] }`, errors: 0, @@ -146,7 +146,7 @@ func TestValidateParameters(t *testing.T) { "number": "string", "boolean": 42, "object": false, - "any": 123, + "any": 0, "array": 42 }`, errors: 5,