Node-red gRPC for Get all data

I'm using gRPC in node-red and I'm stuck retrieving all the data and editing the data section. Does anyone have a CRUD operation in grpc? I was able to retrieve single data from the server myproto file

syntax="proto3";

service csservice{
    rpc getcsdata (csId) returns (csMessage) {}
    rpc addcsdata (csMessage) returns (csMessage){}
    rpc getall (Empty) returns ( csList) {}
}

message csMessage{
    int32 id=1;
    string name=2;
    int32 age=3;
}

message csId{
    int32 id=1;
    string name=2;
}

message csList {
    repeated csMessage csmessages = 1;
}

message Empty{}

When I try to get all data from server it returns empty array ,this is my flow

[
{
    "id": "ec932c56ddd096b9",
    "type": "tab",
    "label": "Flow 2",
    "disabled": false,
    "info": "",
    "env": []
},
{
    "id": "15ba13348d662790",
    "type": "grpc-response",
    "z": "ec932c56ddd096b9",
    "name": "Cs response",
    "x": 730,
    "y": 220,
    "wires": []
},
{
    "id": "a98e398c9a3b1b2b",
    "type": "grpc-register-function",
    "z": "ec932c56ddd096b9",
    "name": "addcsdata",
    "server": "20fb69c35b753ddd",
    "service": "csservice",
    "method": "addcsdata",
    "x": 140,
    "y": 220,
    "wires": [
        [
            "cf7099cb30cff135"
        ]
    ]
},
{
    "id": "cf7099cb30cff135",
    "type": "function",
    "z": "ec932c56ddd096b9",
    "name": "addcsdataServer",
    "func": "msg.call.id = msg._msgid; \nvar csdata=global.get(\"csdata\")\n\n    \npayloadname=msg.payload.name\n\n\n// if (msg.payload && msg.payload.name) {\n//     // var data={[msg.payload.name] :msg.call.request}\n   \n//     csdata[msg.payload.name].push(msg.call.request)\n//     console.log(\"*********************** csdtaa\")\n//     console.log(csdata)\n// } else {\n//     global.get(\"csdata\")[msg._msgid] = msg.call.request;\n// }\n\n// if(csdata[payloadname] !==undefined && csdata[payloadname].length===0)\n// csdata.payloadname.push( msg.call.request)\n// else\n// csdata[msg._msgid]=[]\n// csdata[msg._msgid].push( msg.call.request);\n\nif(csdata.hasOwnProperty(payloadname) && Array.isArray(csdata[payloadname]))\ncsdata[payloadname].push( msg.call.request)\nelse{\ncsdata[payloadname]=[]\ncsdata[payloadname].push(msg.call.request)\n}\n \n\n\nvar message = msg.call.request\nmsg.payload = message;\n\n \n global.set(\"csdata\",csdata)\n csdata=global.get(\"csdata\")\n console.log(csdata)\n\nreturn msg;",
    "outputs": 1,
    "noerr": 0,
    "initialize": "",
    "finalize": "",
    "libs": [],
    "x": 410,
    "y": 220,
    "wires": [
        [
            "15ba13348d662790"
        ]
    ]
},
{
    "id": "5972954e044d90fa",
    "type": "grpc-call",
    "z": "ec932c56ddd096b9",
    "name": "",
    "server": "20fb69c35b753ddd",
    "service": "csservice",
    "method": "addcsdata",
    "chain": "",
    "key": "",
    "x": 514,
    "y": 429.99999713897705,
    "wires": [
        [
            "578b34a0f289eb80"
        ]
    ]
},
{
    "id": "cc29429b4f3600e8",
    "type": "inject",
    "z": "ec932c56ddd096b9",
    "name": "",
    "props": [
        {
            "p": "payload"
        },
        {
            "p": "topic",
            "vt": "str"
        }
    ],
    "repeat": "",
    "crontab": "",
    "once": false,
    "onceDelay": 0.1,
    "topic": "",
    "payload": "",
    "payloadType": "date",
    "x": 154,
    "y": 429.99999713897705,
    "wires": [
        [
            "a5b486558c80575e"
        ]
    ]
},
{
    "id": "578b34a0f289eb80",
    "type": "debug",
    "z": "ec932c56ddd096b9",
    "name": "",
    "active": true,
    "tosidebar": true,
    "console": false,
    "tostatus": false,
    "complete": "false",
    "statusVal": "",
    "statusType": "auto",
    "x": 734,
    "y": 429.99999713897705,
    "wires": []
},
{
    "id": "a5b486558c80575e",
    "type": "function",
    "z": "ec932c56ddd096b9",
    "name": "addCsdata",
    "func": "msg.payload = { id: 5, age:40, name:\"shyam\" }\nreturn msg;",
    "outputs": 1,
    "noerr": 0,
    "initialize": "",
    "finalize": "",
    "libs": [],
    "x": 334,
    "y": 429.99999713897705,
    "wires": [
        [
            "5972954e044d90fa"
        ]
    ]
},
{
    "id": "40bc33837532d605",
    "type": "function",
    "z": "ec932c56ddd096b9",
    "name": "INIT",
    "func": "global.set(\"csdata\", {});\n\nreturn msg;",
    "outputs": 1,
    "noerr": 0,
    "initialize": "",
    "finalize": "",
    "libs": [],
    "x": 334,
    "y": 109.99999713897705,
    "wires": [
        []
    ]
},
{
    "id": "b9755c1b27bb69f3",
    "type": "inject",
    "z": "ec932c56ddd096b9",
    "name": "",
    "repeat": "",
    "crontab": "",
    "once": true,
    "onceDelay": 0.1,
    "topic": "",
    "payload": "",
    "payloadType": "date",
    "x": 174,
    "y": 109.99999713897705,
    "wires": [
        [
            "40bc33837532d605"
        ]
    ]
},
{
    "id": "df4395e81a465b80",
    "type": "grpc-response",
    "z": "ec932c56ddd096b9",
    "name": "Cs response",
    "x": 734,
    "y": 269.99999713897705,
    "wires": []
},
{
    "id": "22687709d70b19e6",
    "type": "grpc-register-function",
    "z": "ec932c56ddd096b9",
    "name": "getcsdata",
    "server": "20fb69c35b753ddd",
    "service": "csservice",
    "method": "getcsdata",
    "x": 144,
    "y": 269.99999713897705,
    "wires": [
        [
            "bc684a5f07d9cbd4"
        ]
    ]
},
{
    "id": "bc684a5f07d9cbd4",
    "type": "function",
    "z": "ec932c56ddd096b9",
    "name": "getcsDataServer",
    "func": "\nvar csdata=global.get(\"csdata\")\n\npayloadName=msg.payload.name\npayloadId=msg.payload.id\ndata=csdata[payloadName].find(x => x.id ===payloadId )\nmsg.payload = data;\nreturn msg;",
    "outputs": 1,
    "noerr": 0,
    "initialize": "",
    "finalize": "",
    "libs": [],
    "x": 414,
    "y": 269.99999713897705,
    "wires": [
        [
            "df4395e81a465b80"
        ]
    ]
},
{
    "id": "0624799a7f54b59c",
    "type": "grpc-call",
    "z": "ec932c56ddd096b9",
    "name": "",
    "server": "20fb69c35b753ddd",
    "service": "csservice",
    "method": "getcsdata",
    "chain": "",
    "key": "",
    "x": 530,
    "y": 520,
    "wires": [
        [
            "99c4d0266ca5c3dc"
        ]
    ]
},
{
    "id": "582d03cf948f34d0",
    "type": "inject",
    "z": "ec932c56ddd096b9",
    "name": "",
    "props": [
        {
            "p": "payload"
        },
        {
            "p": "topic",
            "vt": "str"
        }
    ],
    "repeat": "",
    "crontab": "",
    "once": false,
    "onceDelay": 0.1,
    "topic": "",
    "payload": "",
    "payloadType": "date",
    "x": 160,
    "y": 520,
    "wires": [
        [
            "31d5a1733a295c42"
        ]
    ]
},
{
    "id": "99c4d0266ca5c3dc",
    "type": "debug",
    "z": "ec932c56ddd096b9",
    "name": "",
    "active": true,
    "tosidebar": true,
    "console": false,
    "tostatus": false,
    "complete": "false",
    "statusVal": "",
    "statusType": "auto",
    "x": 750,
    "y": 520,
    "wires": []
},
{
    "id": "31d5a1733a295c42",
    "type": "function",
    "z": "ec932c56ddd096b9",
    "name": "getData",
    "func": "msg.payload = { id:5,name:'shyam' }\nreturn msg;",
    "outputs": 1,
    "noerr": 0,
    "initialize": "",
    "finalize": "",
    "libs": [],
    "x": 340,
    "y": 520,
    "wires": [
        [
            "0624799a7f54b59c"
        ]
    ]
},
{
    "id": "d87c27d595dfc0a0",
    "type": "grpc-call",
    "z": "ec932c56ddd096b9",
    "name": "",
    "server": "20fb69c35b753ddd",
    "service": "csservice",
    "method": "getall",
    "chain": "",
    "key": "",
    "x": 530,
    "y": 580,
    "wires": [
        [
            "dfdb730c683c99bd"
        ]
    ]
},
{
    "id": "2ff7c18694f9347a",
    "type": "inject",
    "z": "ec932c56ddd096b9",
    "name": "",
    "props": [
        {
            "p": "payload"
        },
        {
            "p": "topic",
            "vt": "str"
        }
    ],
    "repeat": "",
    "crontab": "",
    "once": false,
    "onceDelay": 0.1,
    "topic": "",
    "payload": "",
    "payloadType": "date",
    "x": 160,
    "y": 580,
    "wires": [
        [
            "b1e595e7638a336d"
        ]
    ]
},
{
    "id": "dfdb730c683c99bd",
    "type": "debug",
    "z": "ec932c56ddd096b9",
    "name": "",
    "active": true,
    "tosidebar": true,
    "console": false,
    "tostatus": false,
    "complete": "true",
    "targetType": "full",
    "statusVal": "",
    "statusType": "auto",
    "x": 730,
    "y": 580,
    "wires": []
},
{
    "id": "b1e595e7638a336d",
    "type": "function",
    "z": "ec932c56ddd096b9",
    "name": "getallData",
    "func": "msg.payload={}\nreturn msg;",
    "outputs": 1,
    "noerr": 0,
    "initialize": "",
    "finalize": "",
    "libs": [],
    "x": 340,
    "y": 580,
    "wires": [
        [
            "d87c27d595dfc0a0"
        ]
    ]
},
{
    "id": "81758e35fb8e9ccc",
    "type": "grpc-response",
    "z": "ec932c56ddd096b9",
    "name": "Cs response",
    "x": 734,
    "y": 329.99999713897705,
    "wires": []
},
{
    "id": "b48476b599d0828e",
    "type": "function",
    "z": "ec932c56ddd096b9",
    "name": "getallDataServer",
    "func": "// msg.call.id = msg._msgid;\nvar csdata=global.get(\"csdata\")\nmsg.payload = csdata;\n\nreturn msg;",
    "outputs": 1,
    "noerr": 0,
    "initialize": "",
    "finalize": "",
    "libs": [],
    "x": 410,
    "y": 340,
    "wires": [
        [
            "81758e35fb8e9ccc",
            "f7e22e94821c1f6d"
        ]
    ]
},
{
    "id": "f7e22e94821c1f6d",
    "type": "debug",
    "z": "ec932c56ddd096b9",
    "name": "",
    "active": true,
    "tosidebar": true,
    "console": false,
    "tostatus": false,
    "complete": "payload",
    "targetType": "msg",
    "statusVal": "",
    "statusType": "auto",
    "x": 734,
    "y": 369.99999713897705,
    "wires": []
},
{
    "id": "45d9b9eda1b39f5d",
    "type": "grpc-register-function",
    "z": "ec932c56ddd096b9",
    "name": "getcsdata",
    "server": "20fb69c35b753ddd",
    "service": "csservice",
    "method": "getall",
    "x": 140,
    "y": 340,
    "wires": [
        [
            "b48476b599d0828e"
        ]
    ]
},
{
    "id": "20fb69c35b753ddd",
    "type": "grpc-server",
    "port": "5001",
    "name": "CsServices",
    "server": "",
    "protoFile": "syntax=\"proto3\";\n\nservice csservice{\n    rpc getcsdata (csId) returns (csMessage) {}\n    rpc addcsdata (csMessage) returns (csMessage){}\n    rpc getall (Empty) returns ( csList) {}\n  \n    \n}\nmessage csMessage{\nint32 id=1;\nstring name=2;\nint32 age=3;\n}\nmessage csId{\n    int32 id=1;\n   string name=2;\n}\nmessage csList {\n    repeated csMessage csmessages   = 1;\n }\nmessage Empty{}",
    "ca": "",
    "caPrivateKey": "-----BEGIN RSA PRIVATE KEY-----\r\nMIIEoAIBAAKCAQEAt2BMC+RtDz5W8PVfsD937gQEgjKdSHF9wQd7EKZhBEA7q7+o\r\nXeP7RFjB5Y2vvub0mDIJwSRyNQVjzRjAeoqxVNbQ1qSaSt3cVf6XV8dPVUzqkxCu\r\nvpnBEfAw/bGOQg93BhejOsM2RPE0y/PqpRE8OSr4UWz47zaA7zupFJSmTdLzVN8D\r\nKmQ5ZKcXf6siker7BuD4C9lSN5yGcNRunaZ10KO8ul0qo6++TLmKLNgnK5E+ZWxw\r\nE6CU+cWc/TUSx2Z2BchrTjH7WDQF1It+cwYX/5etSLpS5yES99b64wnenHZdPisu\r\nICyUmKYp8dulj5eYniIjE85mYXl/EhFEvp3LbwIDAQABAoH/LSCFlmegbx/oRWQd\r\nKEJ2QRy7/051Zl6Hk/lDT9WiCmnERX/k7zYrn6Y4EUXM+i3cA5hMzjsp3+JzrQVq\r\nWL3I5hf3TNs1HTd8Aa2lkPR7kYJcN9TjLASqfr+dTtFjMN6da+JlSRDBSjYRyB8+\r\nn2CecXMhqOgoWrYPBNCpy2bJhlz4zqhm0T8bSUFiUK9tug45zXmXXxXbr/cRC/vM\r\n2q9L2dCmSUH875sr4C+oouyCVFdaKH5Mtp+Vr5sCbmVi6OAgw0gbS1ffUdikN9Vz\r\n0Pt1i1pgUwaZkXtkUZiT6w5KLvzxGfiDqVs4YEkAwMSRXkD4b3grt7k1ZMr4xyIt\r\nHn45AoGBAOC++iJH5qWBMZBTBLlOuHqc5Ku91XN0QBF5h3RAjAcNeNamTNcUEHMv\r\nAbNCWXhj2/5HcOVfYZ8uJNt+n8suiacnMbUlOYgRFw8vHMMQcyb8+iXr/H46XvxZ\r\nxTAxMRxHHYjO7HcJ+6aPMAgAv/eCR1uyPBuyDMESKshas15ytUFlAoGBANDgiqIA\r\nXWD2Tju2hvG/MrHAiOtntbsdeeayBHTtaxdArvXrzjJEEKKOCwBFlnjs4z4We7aP\r\n/LumSJi10vkmBUo+cquxTRtAIS9GCnvKdWCl6w7EwjPI3rHXAfVNv4h4yhkmdRoa\r\nx8Js/sBDTzOYMmrh+/JN3mPRVVsAFPF14xZDAoGAaD2MDOxmeStEDtnCniR6AjzU\r\n/ydMYoFv2esRPYVWrUq9WmnFyBhBTPtngXprvyAqAHWoUmr7/3XKmJfRi87o/8N5\r\nFbjPR2IN3PgQEhWGI3ZAm+gps25lcgw9Ho4iZihB9ZtsKAZUVzugnoWihC1D5a70\r\nnC/oJIDFoSoYed0gXtUCgYAe6l0ahTtM8qe5ptZqSYZTUM/zJ7J6M26reoW2WL2U\r\n/3nl5DTss65SoPt32tTeqREpS2KcLsuVapMsJx1Gyx3VU1DdoKxs8Bz5RkCe+eRN\r\nncEgunaT+5Mad1xO1mcW5+nhtxN1/ai7Wi6KfmvmkwxDTZdg0a2s0Hr1sRloc65c\r\nyQKBgGBL5U7I9WkKjZ+bJPtfzbH7+owfU201IEMGG2inQUrnEckX4LZRpdyf3usx\r\nrUikHwL2sVDe3SbVeXcakcc9TSPj/+VdVrXnfCtouarVki3W17S28UMjN5lqSTNf\r\nayy0GEL9eO7qge3CQrg9nh3+Oe7VbR2kJImRcK+HaZTjb6Ia\r\n-----END RSA PRIVATE KEY-----\r\n",
    "cacert": "-----BEGIN CERTIFICATE-----\r\nMIIEBjCCAu6gAwIBAgIBATANBgkqhkiG9w0BAQUFADCBjjEwMC4GA1UEAxMnc2Vs\r\nZi1kZWNsYXJlZC1jZXJ0aWZpY2F0ZS1hdXRob3JpdHkub3JnMQswCQYDVQQGEwJD\r\nQTELMAkGA1UECBMCQkMxEjAQBgNVBAcTCVZhbmNvdXZlcjEZMBcGA1UEChMQU2Vs\r\nZi1EZWNsYXJlZCBDQTERMA8GA1UECxMIQ0EgRGVwdC4wHhcNMjIxMDIxMDQyODI0\r\nWhcNMjMxMDIxMDQyODI0WjCBjjEwMC4GA1UEAxMnc2VsZi1kZWNsYXJlZC1jZXJ0\r\naWZpY2F0ZS1hdXRob3JpdHkub3JnMQswCQYDVQQGEwJDQTELMAkGA1UECBMCQkMx\r\nEjAQBgNVBAcTCVZhbmNvdXZlcjEZMBcGA1UEChMQU2VsZi1EZWNsYXJlZCBDQTER\r\nMA8GA1UECxMIQ0EgRGVwdC4wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB\r\nAQC3YEwL5G0PPlbw9V+wP3fuBASCMp1IcX3BB3sQpmEEQDurv6hd4/tEWMHlja++\r\n5vSYMgnBJHI1BWPNGMB6irFU1tDWpJpK3dxV/pdXx09VTOqTEK6+mcER8DD9sY5C\r\nD3cGF6M6wzZE8TTL8+qlETw5KvhRbPjvNoDvO6kUlKZN0vNU3wMqZDlkpxd/qyKR\r\n6vsG4PgL2VI3nIZw1G6dpnXQo7y6XSqjr75MuYos2CcrkT5lbHAToJT5xZz9NRLH\r\nZnYFyGtOMftYNAXUi35zBhf/l61IulLnIRL31vrjCd6cdl0+Ky4gLJSYpinx26WP\r\nl5ieIiMTzmZheX8SEUS+nctvAgMBAAGjbTBrMAwGA1UdEwQFMAMBAf8wCwYDVR0P\r\nBAQDAgL0MDsGA1UdJQQ0MDIGCCsGAQUFBwMBBggrBgEFBQcDAgYIKwYBBQUHAwMG\r\nCCsGAQUFBwMEBggrBgEFBQcDCDARBglghkgBhvhCAQEEBAMCAPcwDQYJKoZIhvcN\r\nAQEFBQADggEBAFJ8WfTfK+pL68naRx0eD0nUt3XGpFfgP26E7uI2ikViB2nsa2xg\r\nOR8XswIgVBNy4KvDHkbYcW4Rf8ciMeGs6xl0R4QBpvHyhECAYVCx+E0CweTXQPKx\r\nQEHpzy5In3bbs0cf2I0qAC/SoGSv0YDFhsBdC8ltFCVAF0ROd8wyL3wo3XWSBhwX\r\nxvc7dGP9by+woznJDZlL3kZb6QXlZjMWAEQ540fylSUBnHFrulPRSS2J1gyDZWmB\r\nvX8LeEnfIrHnwlr4lPpP9NR8yLE/V80W2EQVhRbYihT6juhwdbQYWv1nGwwHg5p+\r\nbTwJ21PDrba+7ExhYmoh5ypd52hs/vV2RdY=\r\n-----END CERTIFICATE-----\r\n",
    "chain": "",
    "key": "",
    "mutualTls": false,
    "localServer": true
}]

I tried logging the list data in the service before sending it to the gpc call and it works fine even thought I got an empty response.

Please help me to get all data from grpc

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.