github.com/vcilabs/webrpc@v0.5.2-0.20201116131534-162e27b1b33b/_examples/golang-nodejs/example.webrpc.json (about) 1 { 2 "webrpc": "v1", 3 "name": "example", 4 "version":" v0.0.1", 5 "messages": [ 6 { 7 "name": "Kind", 8 "type": "enum", 9 "fields": [ 10 { 11 "name": "USER", 12 "type": "uint32", 13 "value": "1" 14 }, 15 { 16 "name": "ADMIN", 17 "type": "uint32", 18 "value": "2" 19 } 20 ] 21 }, 22 { 23 "name": "Empty", 24 "type": "struct", 25 "fields": [ 26 ] 27 }, 28 { 29 "name": "GetUserRequest", 30 "type": "struct", 31 "fields": [ 32 { 33 "name": "userID", 34 "type": "uint64", 35 "optional": false 36 } 37 ] 38 }, 39 { 40 "name": "User", 41 "type": "struct", 42 "fields": [ 43 { 44 "name": "ID", 45 "type": "uint64", 46 "optional": false, 47 "meta": [ 48 { "json": "id" }, 49 { "go.tag.db": "id" } 50 ] 51 }, 52 { 53 "name": "username", 54 "type": "string", 55 "optional": false, 56 "meta": [ 57 { "json": "USERNAME" }, 58 { "go.tag.db": "username" } 59 ] 60 }, 61 { 62 "name": "createdAt", 63 "type": "timestamp", 64 "optional": true, 65 "meta": [ 66 { "json": "created_at,omitempty" }, 67 { "go.tag.db": "created_at" } 68 ] 69 } 70 71 ] 72 }, 73 { 74 "name": "RandomStuff", 75 "type": "struct", 76 "fields": [ 77 { 78 "name": "meta", 79 "type": "map<string,any>" 80 }, 81 { 82 "name": "metaNestedExample", 83 "type": "map<string,map<string,uint32>>" 84 }, 85 { 86 "name": "namesList", 87 "type": "[]string" 88 }, 89 { 90 "name": "numsList", 91 "type": "[]int64" 92 }, 93 { 94 "name": "doubleArray", 95 "type": "[][]string" 96 }, 97 { 98 "name": "listOfMaps", 99 "type": "[]map<string,uint32>" 100 }, 101 { 102 "name": "listOfUsers", 103 "type": "[]User" 104 }, 105 { 106 "name": "mapOfUsers", 107 "type": "map<string,User>" 108 }, 109 { 110 "name": "user", 111 "type": "User" 112 } 113 ] 114 } 115 ], 116 "services": [ 117 { 118 "name": "ExampleService", 119 "methods": [ 120 { 121 "name": "Ping", 122 "inputs": [], 123 "outputs": [ 124 { 125 "name": "status", 126 "type": "bool" 127 } 128 ] 129 }, 130 { 131 "name": "GetUser", 132 "inputs": [ 133 { 134 "name": "req", 135 "type": "GetUserRequest" 136 } 137 ], 138 "outputs": [ 139 { 140 "name": "user", 141 "type": "User" 142 } 143 ] 144 } 145 ] 146 } 147 ] 148 }