[ { "id": "1317b79375a65579", "type": "group", "z": "8fd89a0b44c61e76", "name": "Paginate the entire history of a given room", "style": { "label": true }, "nodes": [ "e8fc071b3f81fdee", "33937ba1e74ed92d", "4aadbf1c37d2ac8b", "e4025b7df45f3d91", "973dd418b00172c8", "3edbea9403d7c347" ], "x": 854, "y": 1339, "w": 832, "h": 182 }, { "id": "e8fc071b3f81fdee", "type": "matrix-paginate-room", "z": "8fd89a0b44c61e76", "g": "1317b79375a65579", "name": "Paginate Room", "server": null, "roomType": "msg", "roomValue": "topic", "paginateKeyType": "msg", "paginateKeyValue": "paginateKey", "paginateBackwardsType": "msg", "paginateBackwardsValue": "paginateBackwards", "pageSizeType": "msg", "pageSizeValue": "pageSize", "x": 1280, "y": 1480, "wires": [ [ "973dd418b00172c8" ], [ "4aadbf1c37d2ac8b" ] ] }, { "id": "33937ba1e74ed92d", "type": "debug", "z": "8fd89a0b44c61e76", "g": "1317b79375a65579", "name": "Debug Output", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "x": 1560, "y": 1380, "wires": [] }, { "id": "4aadbf1c37d2ac8b", "type": "debug", "z": "8fd89a0b44c61e76", "g": "1317b79375a65579", "name": "Error Output", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "x": 1530, "y": 1480, "wires": [] }, { "id": "e4025b7df45f3d91", "type": "inject", "z": "8fd89a0b44c61e76", "g": "1317b79375a65579", "name": "", "props": [ { "p": "topic", "vt": "str" }, { "p": "paginateKey", "v": "", "vt": "date" }, { "p": "paginateBackwards", "v": "true", "vt": "bool" }, { "p": "pageSize", "v": "25", "vt": "num" }, { "p": "timeout", "v": "1000", "vt": "num" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "!example:skylar.tech", "x": 1000, "y": 1480, "wires": [ [ "e8fc071b3f81fdee" ] ] }, { "id": "973dd418b00172c8", "type": "function", "z": "8fd89a0b44c61e76", "g": "1317b79375a65579", "name": "Loop - return each chunk", "func": "node.status({\n fill: \"green\",\n text: `${msg.start} - ${msg.end} ${msg.payload ? '' : 'DONE'}`\n});\n\nif(msg.payload.length) {\n // we have more records so output to both\n return [msg, msg];\n}\n\n// no more records so only send to output 1\nreturn [msg, null];", "outputs": 2, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 1290, "y": 1400, "wires": [ [ "33937ba1e74ed92d" ], [ "3edbea9403d7c347" ] ] }, { "id": "3edbea9403d7c347", "type": "delay", "z": "8fd89a0b44c61e76", "g": "1317b79375a65579", "name": "msg.delay", "pauseType": "delayv", "timeout": "0", "timeoutUnits": "seconds", "rate": "1", "nbRateUnits": "1", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": false, "allowrate": false, "outputs": 1, "x": 1550, "y": 1420, "wires": [ [ "e8fc071b3f81fdee" ] ] } ]