# Firebridge ## Docs - [Actions Overview](https://firebridge.dev/cloud/actions/actions-overview.md): Cloud actions make it simple to define a set of database operations with consistent names and parameters. They also provide type safety to common actions like creating or updadating a document. - [firestoreAdd](https://firebridge.dev/cloud/actions/firestoreAdd.md): The `firestoreAdd` function is a higher-order function that takes a collection path and an options object, and returns a function that can be used to add documents to the specified collection. - [firestoreDelete](https://firebridge.dev/cloud/actions/firestoreDelete.md): The `firestoreDelete` function is a higher-order function that returns a function that deletes a document from a collection. - [firestoreGet](https://firebridge.dev/cloud/actions/firestoreGet.md): The `firestoreGet` function is a higher-order function that takes a collection path and an options object, and returns a function that can be used to get a documents from a specified address. - [firestoreMerge](https://firebridge.dev/cloud/actions/firestoreMerge.md): The `firestoreMerge` function is a higher-order function that returns a function specifically designed for merging updates into a document in a collection. - [firestoreSet](https://firebridge.dev/cloud/actions/firestoreSet.md): The `firestoreSet` function is a higher-order function that takes a collection path and an options object, and returns a function that can be used to set a documents at a specific address. - [firestoreUpdate](https://firebridge.dev/cloud/actions/firestoreUpdate.md): The `firestoreUpdate` function is a higher-order function that returns a function that updates a document in a collection. - [Cloud Installation](https://firebridge.dev/cloud/cloud-installation.md): Get started with Firebridge on React. - [Batch Execution](https://firebridge.dev/cloud/execution/batch.md): The `executeFirestoreBatch` utility streamlines the process of executing multiple Firestore operations in a batch. This is crucial for ensuring atomic transactions across different documents in Firestore, where either all operations succeed or none at all. - [Parallel Execution](https://firebridge.dev/cloud/execution/parallel.md): The `executeFirestoreParallel` utility facilitates the execution of multiple Firestore operations concurrently. This function is ideal for scenarios where several independent document manipulations need to occur simultaneously, significantly improving performance by parallelizing operations. - [Callables](https://firebridge.dev/cloud/invokeables/callable.md): The `callable` utility provides a robust approach to managing Firebase Cloud Functions, ensuring user authentication, request validation, and permission management. It's designed to secure and simplify handling callable Cloud Functions in Firebase. - [Requestables](https://firebridge.dev/cloud/invokeables/requestable.md): The `requestable` utility offers a sophisticated approach to managing Firebase HTTPS triggers, providing key functionalities like API key validation, request body validation, and custom action invocation. It's designed to streamline and secure HTTP request handling in Firebase Cloud Functions. - [incrementMetric](https://firebridge.dev/cloud/metrics/increment.md): Track events in real-time by incrementing metric values - [Metrics Overview](https://firebridge.dev/cloud/metrics/overview.md): Track and analyze events with FireBridge's powerful metrics system - [Types Reference](https://firebridge.dev/cloud/metrics/types.md): TypeScript type definitions for the FireBridge metrics system - [updateMetric](https://firebridge.dev/cloud/metrics/update.md): Batch update metrics with multiple events or rebuild historical data - [Utilities](https://firebridge.dev/cloud/metrics/utilities.md): Helper functions and utilities for working with FireBridge metrics - [Change Types](https://firebridge.dev/cloud/snapshots/getChangeType.md): Detecting document changes within Firestore Cloud Functions is essential for real-time data handling. The `getChangeType` utility facilitates this by categorizing document changes, making it easier to implement responsive and efficient cloud functions. - [readQuerySnapshot](https://firebridge.dev/cloud/snapshots/readQuerySnapshot.md): The `readQuerySnapshot` utility efficiently processes Firestore query snapshots, converting them into an array of document data objects, each paired with its corresponding document ID. It filters out non-existent documents, ensuring clean and reliable data arrays. - [readSnapshot](https://firebridge.dev/cloud/snapshots/readSnapshot.md): The `readSnapshot` utility simplifies the process of extracting data from Firestore document snapshots. It neatly packages the document's data along with its ID, or returns undefined if the document does not exist, streamlining Firestore document reads. - [hydrateAllTimestamps](https://firebridge.dev/cloud/timestamps/hydrateAllTimestamps.md): The `hydrateAllTimestamps` function is a powerful tool for converting all serialized Firestore timestamps within an object back into Firestore Timestamp objects. It is ideal for rehydrating timestamp data in complex objects, ensuring proper timestamp representation in Firestore. - [hydrateTimestamp](https://firebridge.dev/cloud/timestamps/hydrateTimestamp.md): The `hydrateTimestamp` utility is essential for converting serialized Firestore timestamps back into Firestore Timestamp objects. This function ensures that timestamps stored in serialized formats are correctly restored to their original Firestore Timestamp representation. - [maxTimestamp](https://firebridge.dev/cloud/timestamps/maxTimestamp.md): The `maxTimestamp` utility function efficiently identifies the most recent timestamp from an array of Firestore timestamps. This tool is particularly useful in scenarios where determining the latest event or update time is essential. - [minTimestamp](https://firebridge.dev/cloud/timestamps/minTimestamp.md): The `minTimestamp` utility efficiently finds the earliest timestamp from an array of Firestore timestamps. It's essential for applications where tracking the initial occurrence of an event or the first update is crucial. - [sortTimestamps](https://firebridge.dev/cloud/timestamps/sortTimestamps.md): The `sortTimestamps` function is a tailored utility for sorting Firestore timestamps. It compares two timestamps and determines their chronological order, making it invaluable for organizing time-based data in Firestore. - [timestampToDate](https://firebridge.dev/cloud/timestamps/timestampToDate.md): The `timestampToDate` utility adeptly converts serialized Firestore timestamps into JavaScript Date objects. This function is crucial for applications that require manipulating Firestore timestamp data in standard JavaScript date formats. - [Get Started](https://firebridge.dev/get-started.md): Firebridge comes in two parts, our client-side React libraries and our server-side cloud library. They can be used independently, but they share some of the same concepts so using them together is a great developer experience. - [Why Firebridge?](https://firebridge.dev/introduction.md): Firebridge is a set of patterns that will help you build powerful and consistent developer experiences with Firebase on React Web and Native. - [useCallable](https://firebridge.dev/react/hooks/useCallable.md): The `useCallable` custom hook streamlines the process of invoking Firebase Cloud Functions from React applications. It simplifies making requests to cloud functions, providing an easy-to-use interface for sending requests and handling responses. - [useCollection](https://firebridge.dev/react/hooks/useCollection.md): The `useCollection` hook makes it simple to connect with realtime Firestore collections, even when paths are dynamic or depend on the ID of the current user. This hook is particularly useful in React applications where collection paths depend on runtime values like user IDs or route parameters. - [useDocument](https://firebridge.dev/react/hooks/useDocument.md): The `useDocument` hook makes it simple to connect with realtime Firestore documents, even when paths are dynamic or depend on the ID of the current user. This hook is particularly useful in React applications where document paths depend on runtime values like user IDs or route parameters. - [React Installation](https://firebridge.dev/react/react-installation.md): Get started with Firebridge on React. ## OpenAPI Specs - [openapi](https://firebridge.dev/api-reference/openapi.json)