From 53e97729dc2c87e81c8eba01c150f1af8006aabe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C4=B1dvan=20Akca?= Date: Sat, 20 Apr 2024 14:46:23 +0200 Subject: [PATCH] feat(firebase): add find firebase realtime database record action --- .../index.js | 32 +++++++++++++++++++ .../src/apps/firebase/actions/index.js | 2 ++ packages/docs/pages/apps/firebase/actions.md | 2 ++ 3 files changed, 36 insertions(+) create mode 100644 packages/backend/src/apps/firebase/actions/find-firebase-realtime-database-record/index.js diff --git a/packages/backend/src/apps/firebase/actions/find-firebase-realtime-database-record/index.js b/packages/backend/src/apps/firebase/actions/find-firebase-realtime-database-record/index.js new file mode 100644 index 00000000..e2c1aca0 --- /dev/null +++ b/packages/backend/src/apps/firebase/actions/find-firebase-realtime-database-record/index.js @@ -0,0 +1,32 @@ +import defineAction from '../../../../helpers/define-action.js'; + +export default defineAction({ + name: 'Find Firebase Realtime Database Record', + key: 'findFirebaseRealtimeDatabaseRecord', + description: 'Finds a child object in Firebase Realtime Database.', + arguments: [ + { + label: 'Path', + key: 'path', + type: 'string', + required: true, + description: + "Indicate the path to the key of the object where the child objects to be queried are located, for example, 'foo/bar/here'.", + variables: true, + }, + ], + + async run($) { + const { path } = $.step.parameters; + + const { data } = await $.http.get(`${path}.json`, { + additionalProperties: { + setFirestoreBaseUrl: false, + }, + }); + + $.setActionItem({ + raw: data, + }); + }, +}); diff --git a/packages/backend/src/apps/firebase/actions/index.js b/packages/backend/src/apps/firebase/actions/index.js index 3112c6b6..b2db33a1 100644 --- a/packages/backend/src/apps/firebase/actions/index.js +++ b/packages/backend/src/apps/firebase/actions/index.js @@ -1,9 +1,11 @@ import createCloudFirestoreDocument from './create-cloud-firestore-document/index.js'; import createFirebaseRealtimeDatabaseRecord from './create-firebase-realtime-database-record/index.js'; import findCloudFirestoreDocument from './find-cloud-firestore-document/index.js'; +import findFirebaseRealtimeDatabaseRecord from './find-firebase-realtime-database-record/index.js'; export default [ createCloudFirestoreDocument, createFirebaseRealtimeDatabaseRecord, findCloudFirestoreDocument, + findFirebaseRealtimeDatabaseRecord, ]; diff --git a/packages/docs/pages/apps/firebase/actions.md b/packages/docs/pages/apps/firebase/actions.md index d99575ca..2afdabfe 100644 --- a/packages/docs/pages/apps/firebase/actions.md +++ b/packages/docs/pages/apps/firebase/actions.md @@ -7,6 +7,8 @@ items: desc: Creates a child object within your Firebase Realtime Database. - name: Find Cloud Firestore document desc: Finds a document within a collection. + - name: Find Firebase Realtime Database Record + desc: Finds a child object in Firebase Realtime Database. ---