{"id":23773978,"url":"https://github.com/gogovega/firebase-config-node","last_synced_at":"2026-02-26T01:47:27.848Z","repository":{"id":199047082,"uuid":"689386499","full_name":"GogoVega/Firebase-Config-Node","owner":"GogoVega","description":"Node-RED Config Node to communicate with Google Firebase","archived":false,"fork":false,"pushed_at":"2024-09-28T12:21:38.000Z","size":1552,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-09-28T12:25:09.928Z","etag":null,"topics":["admin","config","database","firebase","firestore","node-red","realtime"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GogoVega.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-09-09T16:34:47.000Z","updated_at":"2024-09-28T12:20:08.000Z","dependencies_parsed_at":"2024-07-10T19:49:20.395Z","dependency_job_id":"dd2cc08b-119f-4399-bd00-3a048df724dc","html_url":"https://github.com/GogoVega/Firebase-Config-Node","commit_stats":null,"previous_names":["gogovega/firebase-config-node"],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GogoVega%2FFirebase-Config-Node","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GogoVega%2FFirebase-Config-Node/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GogoVega%2FFirebase-Config-Node/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GogoVega%2FFirebase-Config-Node/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GogoVega","download_url":"https://codeload.github.com/GogoVega/Firebase-Config-Node/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":232052239,"owners_count":18465724,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["admin","config","database","firebase","firestore","node-red","realtime"],"created_at":"2025-01-01T05:47:21.535Z","updated_at":"2026-02-26T01:47:22.798Z","avatar_url":"https://github.com/GogoVega.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003ch1\u003eNode-RED config-node to communicate with \u003ca href=\"https://firebase.google.com\"\u003eFirebase\u003c/a\u003e\u003c/h1\u003e\n  \u003ca href=\"https://firebase.google.com\"\u003e\u003cimg src=\"assets/images/node-red-firebase-logo.svg\" alt=\"Logo\" width=\"70%\"\u003e\u003c/a\u003e\n  \u003cp align=\"center\"\u003e\n    \u003cbr /\u003e\n    \u003ca href=\"https://github.com/GogoVega/Firebase-Config-Node/issues\"\u003eReport Bug\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/GogoVega/Firebase-Config-Node/discussions/new?category=ideas\"\u003eRequest Feature\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/GogoVega/Firebase-Config-Node/discussions/new\"\u003eDiscussion\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://github.com/GogoVega/Firebase-Config-Node/blob/master/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/github/license/GogoVega/Firebase-Config-Node\" alt=\"shield-license\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/GogoVega/Firebase-Config-Node/issues\"\u003e\u003cimg src=\"https://img.shields.io/github/issues/GogoVega/Firebase-Config-Node\" alt=\"shield-issues\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/GogoVega/Firebase-Config-Node/stargazers\"\u003e\u003cimg src=\"https://img.shields.io/github/stars/GogoVega/Firebase-Config-Node\" alt=\"shield-stars\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/GogoVega/Firebase-Config-Node/network/members\"\u003e\u003cimg src=\"https://img.shields.io/github/forks/GogoVega/Firebase-Config-Node\" alt=\"shield-forks\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://www.npmjs.com/package/@gogovega/firebase-config-node?activeTab=versions\"\u003e\u003cimg src=\"https://img.shields.io/npm/dm/@gogovega/firebase-config-node\" alt=\"shield-downloads\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/GogoVega/Firebase-Config-Node/network/dependencies\"\u003e\u003cimg src=\"https://img.shields.io/librariesio/release/npm/@gogovega/Firebase-Config-Node\" alt=\"shield-dependencies\" /\u003e\u003c/a\u003e\n\u003c/div\u003e\n\u003cbr /\u003e\n\n## What is it?\n\nThis repo is used by the following modules:\n\n- RTDB: [@gogovega/node-red-contrib-firebase-realtime-database](https://github.com/GogoVega/node-red-contrib-firebase-realtime-database)\n- Cloud Firestore: [@gogovega/node-red-contrib-cloud-firestore](https://github.com/GogoVega/node-red-contrib-cloud-firestore)\n- Cloud Storage: @gogovega/node-red-contrib-cloud-storage: **Not yet developed**\n\nOf coure, you can use it for your own module.\n\n## Preview\n\nBelow is a current overview of the config node, its appearance may change in the future.\n\n\u003cdetails\u003e\n\u003csummary\u003eScreenshot of the Connection tab\u003c/summary\u003e\n\n\u003cdiv align=\"left\"\u003e\n  \u003cimg src=\"./assets/images/config-node-connection-tab.png\" alt=\"Screenshot of the config-node Connection tab\" width=\"50%\"\u003e\n\u003c/div\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eScreenshot of the Security tab\u003c/summary\u003e\n\n\u003cdiv align=\"left\"\u003e\n  \u003cimg src=\"./assets/images/config-node-security-tab.png\" alt=\"Screenshot of the config-node Security tab\" width=\"50%\"\u003e\n\u003c/div\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eScreenshot of the Databases tab\u003c/summary\u003e\n\n\u003cdiv align=\"left\"\u003e\n  \u003cimg src=\"./assets/images/config-node-databases-tab.png\" alt=\"Screenshot of the config-node Databases tab\" width=\"50%\"\u003e\n\u003c/div\u003e\n\n\u003c/details\u003e\n\n## Authentication Methods\n\n- `Anonymous`\n- `Email`\n- `Private Key` (Firebase Admin Node.js SDK)\n- `Custom Token` (Generated with Private Key)\n\n## Available Databases\n\n- RTDB\n- Firestore\n\n## How to use?\n\n1. Add this package as dependency\n\n```bash\nnpm i @gogovega/firebase-config-node@latest --omit=dev --save\n```\n\n2. Retrieve the config-node and use the built-in methods\n\n```js\nmodule.exports = function (RED) {\n  function MyFirebaseNode(this, config) {\n    RED.nodes.createNode(this, config);\n\n    // Get the config-node\n    const configNode = RED.nodes.getNode(config.database);\n\n    // Init the RTDB and subscribe to the communication status\n    configNode.addStatusListener(this, \"rtdb\");\n\n    // The RTDB reference instance\n    const rtdb = configNode.rtdb.database;\n\n    // Gets data from msg.path and yields a `payload`\n    this.on(\"input\", async (msg, send, done) =\u003e {\n      try {\n        const snapshot = await configNode.rtdb.get(msg.path);\n        send({ payload: snapshot });\n        done();\n      } catch (error) {\n        done(error);\n      }\n    });\n\n    // Unsubscribe the communication status\n    this.on(\"close\", (done) =\u003e configNode.removeStatusListener(this, \"rtdb\", done));\n  }\n\n  RED.nodes.registerType(\"my-firebase-node\", MyFirebaseNode);\n};\n```\n\n## Getting Started Link\n\n- [Firebase Site](https://firebase.google.com/): What is Firebase?\n- [Firestore Nodes](https://github.com/GogoVega/node-red-contrib-cloud-firestore): You search for the Google Cloud Firestore Nodes?\n- [Firebase RTDB Nodes](https://github.com/GogoVega/node-red-contrib-cloud-firestore): You search for the Firebase Realtime Databases Nodes?\n- [Change Log](./CHANGELOG.md): Whats changed?\n\n## Versioning\n\nWhile in development, the version number of this package will remain at 0.x.y. x will be incremented for breaking changes, y for new features and patches.\n\nOnce config node and libraries are stable, the version number will be updated to 1.0.0 and full SemVer rules will be applied.\n\n## License\n\nMIT License\n\nCopyright (c) 2023 Gauthier Dandele\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgogovega%2Ffirebase-config-node","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgogovega%2Ffirebase-config-node","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgogovega%2Ffirebase-config-node/lists"}