github.com/vcilabs/webrpc@v0.5.2-0.20201116131534-162e27b1b33b/_examples/hello-webrpc-ts/hello-api.webrpc.json (about) 1 { 2 "webrpc": "v1", 3 "name": "hello-api", 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": "role", 63 "type": "Kind", 64 "optional": false 65 }, 66 { 67 "name": "createdAt", 68 "type": "timestamp", 69 "optional": true, 70 "meta": [ 71 { "json": "created_at,omitempty" }, 72 { "go.tag.db": "created_at" } 73 ] 74 } 75 76 ] 77 } 78 ], 79 "services": [ 80 { 81 "name": "ExampleService", 82 "methods": [ 83 { 84 "name": "Ping", 85 "inputs": [], 86 "outputs": [ 87 { 88 "name": "", 89 "type": "bool" 90 } 91 ] 92 }, 93 { 94 "name": "GetUser", 95 "inputs": [ 96 { 97 "name": "req", 98 "type": "GetUserRequest" 99 } 100 ], 101 "outputs": [ 102 { 103 "name": "", 104 "type": "User" 105 } 106 ] 107 } 108 ] 109 } 110 ] 111 }