# Generated React README This README will guide you through the process of using the generated React SDK package for the connector `krow-connector`. It will also provide examples on how to use your generated SDK to call your Data Connect queries and mutations. **If you're looking for the `JavaScript README`, you can find it at [`dataconnect-generated/README.md`](../README.md)** ***NOTE:** This README is generated alongside the generated SDK. If you make changes to this file, they will be overwritten when the SDK is regenerated.* You can use this generated SDK by importing from the package `@dataconnect/generated/react` as shown below. Both CommonJS and ESM imports are supported. You can also follow the instructions from the [Data Connect documentation](https://firebase.google.com/docs/data-connect/web-sdk#react). # Table of Contents - [**Overview**](#generated-react-readme) - [**TanStack Query Firebase & TanStack React Query**](#tanstack-query-firebase-tanstack-react-query) - [*Package Installation*](#installing-tanstack-query-firebase-and-tanstack-react-query-packages) - [*Configuring TanStack Query*](#configuring-tanstack-query) - [**Accessing the connector**](#accessing-the-connector) - [*Connecting to the local Emulator*](#connecting-to-the-local-emulator) - [**Queries**](#queries) - [*listStaff*](#liststaff) - [*listEvents*](#listevents) - [*getEventById*](#geteventbyid) - [*filterEvents*](#filterevents) - [*listVendor*](#listvendor) - [*getVendorById*](#getvendorbyid) - [*filterVendors*](#filtervendors) - [*listVendorDefaultSettings*](#listvendordefaultsettings) - [*getVendorDefaultSettingById*](#getvendordefaultsettingbyid) - [*filterVendorDefaultSettings*](#filtervendordefaultsettings) - [*listVendorRate*](#listvendorrate) - [*getVendorRateById*](#getvendorratebyid) - [*filterVendorRates*](#filtervendorrates) - [**Mutations**](#mutations) - [*CreateVendor*](#createvendor) - [*UpdateVendor*](#updatevendor) - [*DeleteVendor*](#deletevendor) - [*CreateVendorRate*](#createvendorrate) - [*UpdateVendorRate*](#updatevendorrate) - [*DeleteVendorRate*](#deletevendorrate) - [*CreateEvent*](#createevent) - [*UpdateEvent*](#updateevent) - [*DeleteEvent*](#deleteevent) - [*CreateStaff*](#createstaff) - [*CreateVendorDefaultSetting*](#createvendordefaultsetting) - [*UpdateVendorDefaultSetting*](#updatevendordefaultsetting) - [*DeleteVendorDefaultSetting*](#deletevendordefaultsetting) # TanStack Query Firebase & TanStack React Query This SDK provides [React](https://react.dev/) hooks generated specific to your application, for the operations found in the connector `krow-connector`. These hooks are generated using [TanStack Query Firebase](https://react-query-firebase.invertase.dev/) by our partners at Invertase, a library built on top of [TanStack React Query v5](https://tanstack.com/query/v5/docs/framework/react/overview). ***You do not need to be familiar with Tanstack Query or Tanstack Query Firebase to use this SDK.*** However, you may find it useful to learn more about them, as they will empower you as a user of this Generated React SDK. ## Installing TanStack Query Firebase and TanStack React Query Packages In order to use the React generated SDK, you must install the `TanStack React Query` and `TanStack Query Firebase` packages. ```bash npm i --save @tanstack/react-query @tanstack-query-firebase/react ``` ```bash npm i --save firebase@latest # Note: React has a peer dependency on ^11.3.0 ``` You can also follow the installation instructions from the [Data Connect documentation](https://firebase.google.com/docs/data-connect/web-sdk#tanstack-install), or the [TanStack Query Firebase documentation](https://react-query-firebase.invertase.dev/react) and [TanStack React Query documentation](https://tanstack.com/query/v5/docs/framework/react/installation). ## Configuring TanStack Query In order to use the React generated SDK in your application, you must wrap your application's component tree in a `QueryClientProvider` component from TanStack React Query. None of your generated React SDK hooks will work without this provider. ```javascript import { QueryClientProvider } from '@tanstack/react-query'; // Create a TanStack Query client instance const queryClient = new QueryClient() function App() { return ( // Provide the client to your App ) } ``` To learn more about `QueryClientProvider`, see the [TanStack React Query documentation](https://tanstack.com/query/latest/docs/framework/react/quick-start) and the [TanStack Query Firebase documentation](https://invertase.docs.page/tanstack-query-firebase/react#usage). # Accessing the connector A connector is a collection of Queries and Mutations. One SDK is generated for each connector - this SDK is generated for the connector `krow-connector`. You can find more information about connectors in the [Data Connect documentation](https://firebase.google.com/docs/data-connect#how-does). ```javascript import { getDataConnect } from 'firebase/data-connect'; import { connectorConfig } from '@dataconnect/generated'; const dataConnect = getDataConnect(connectorConfig); ``` ## Connecting to the local Emulator By default, the connector will connect to the production service. To connect to the emulator, you can use the following code. You can also follow the emulator instructions from the [Data Connect documentation](https://firebase.google.com/docs/data-connect/web-sdk#emulator-react-angular). ```javascript import { connectDataConnectEmulator, getDataConnect } from 'firebase/data-connect'; import { connectorConfig } from '@dataconnect/generated'; const dataConnect = getDataConnect(connectorConfig); connectDataConnectEmulator(dataConnect, 'localhost', 9399); ``` After it's initialized, you can call your Data Connect [queries](#queries) and [mutations](#mutations) using the hooks provided from your generated React SDK. # Queries The React generated SDK provides Query hook functions that call and return [`useDataConnectQuery`](https://react-query-firebase.invertase.dev/react/data-connect/querying) hooks from TanStack Query Firebase. Calling these hook functions will return a `UseQueryResult` object. This object holds the state of your Query, including whether the Query is loading, has completed, or has succeeded/failed, and the most recent data returned by the Query, among other things. To learn more about these hooks and how to use them, see the [TanStack Query Firebase documentation](https://react-query-firebase.invertase.dev/react/data-connect/querying). TanStack React Query caches the results of your Queries, so using the same Query hook function in multiple places in your application allows the entire application to automatically see updates to that Query's data. Query hooks execute their Queries automatically when called, and periodically refresh, unless you change the `queryOptions` for the Query. To learn how to stop a Query from automatically executing, including how to make a query "lazy", see the [TanStack React Query documentation](https://tanstack.com/query/latest/docs/framework/react/guides/disabling-queries). To learn more about TanStack React Query's Queries, see the [TanStack React Query documentation](https://tanstack.com/query/v5/docs/framework/react/guides/queries). ## Using Query Hooks Here's a general overview of how to use the generated Query hooks in your code: - If the Query has no variables, the Query hook function does not require arguments. - If the Query has any required variables, the Query hook function will require at least one argument: an object that contains all the required variables for the Query. - If the Query has some required and some optional variables, only required variables are necessary in the variables argument object, and optional variables may be provided as well. - If all of the Query's variables are optional, the Query hook function does not require any arguments. - Query hook functions can be called with or without passing in a `DataConnect` instance as an argument. If no `DataConnect` argument is passed in, then the generated SDK will call `getDataConnect(connectorConfig)` behind the scenes for you. - Query hooks functions can be called with or without passing in an `options` argument of type `useDataConnectQueryOptions`. To learn more about the `options` argument, see the [TanStack React Query documentation](https://tanstack.com/query/v5/docs/framework/react/guides/query-options). - ***Special case:*** If the Query has all optional variables and you would like to provide an `options` argument to the Query hook function without providing any variables, you must pass `undefined` where you would normally pass the Query's variables, and then may provide the `options` argument. Below are examples of how to use the `krow-connector` connector's generated Query hook functions to execute each Query. You can also follow the examples from the [Data Connect documentation](https://firebase.google.com/docs/data-connect/web-sdk#operations-react-angular). ## listStaff You can execute the `listStaff` Query using the following Query hook function, which is defined in [dataconnect-generated/react/index.d.ts](./index.d.ts): ```javascript useListStaff(dc: DataConnect, options?: useDataConnectQueryOptions): UseDataConnectQueryResult; ``` You can also pass in a `DataConnect` instance to the Query hook function. ```javascript useListStaff(options?: useDataConnectQueryOptions): UseDataConnectQueryResult; ``` ### Variables The `listStaff` Query has no variables. ### Return Type Recall that calling the `listStaff` Query hook function returns a `UseQueryResult` object. This object holds the state of your Query, including whether the Query is loading, has completed, or has succeeded/failed, and any data returned by the Query, among other things. To check the status of a Query, use the `UseQueryResult.status` field. You can also check for pending / success / error status using the `UseQueryResult.isPending`, `UseQueryResult.isSuccess`, and `UseQueryResult.isError` fields. To access the data returned by a Query, use the `UseQueryResult.data` field. The data for the `listStaff` Query is of type `ListStaffData`, which is defined in [dataconnect-generated/index.d.ts](../index.d.ts). It has the following fields: ```javascript export interface ListStaffData { staffs: ({ id: UUIDString; employeeName: string; vendorId?: UUIDString | null; email?: string | null; position?: string | null; employmentType: EmploymentType; rating?: number | null; reliabilityScore?: number | null; backgroundCheckStatus: BackgroundCheckStatus; certifications?: string | null; } & Staff_Key)[]; } ``` To learn more about the `UseQueryResult` object, see the [TanStack React Query documentation](https://tanstack.com/query/v5/docs/framework/react/reference/useQuery). ### Using `listStaff`'s Query hook function ```javascript import { getDataConnect } from 'firebase/data-connect'; import { connectorConfig } from '@dataconnect/generated'; import { useListStaff } from '@dataconnect/generated/react' export default function ListStaffComponent() { // You don't have to do anything to "execute" the Query. // Call the Query hook function to get a `UseQueryResult` object which holds the state of your Query. const query = useListStaff(); // You can also pass in a `DataConnect` instance to the Query hook function. const dataConnect = getDataConnect(connectorConfig); const query = useListStaff(dataConnect); // You can also pass in a `useDataConnectQueryOptions` object to the Query hook function. const options = { staleTime: 5 * 1000 }; const query = useListStaff(options); // You can also pass both a `DataConnect` instance and a `useDataConnectQueryOptions` object. const dataConnect = getDataConnect(connectorConfig); const options = { staleTime: 5 * 1000 }; const query = useListStaff(dataConnect, options); // Then, you can render your component dynamically based on the status of the Query. if (query.isPending) { return
Loading...
; } if (query.isError) { return
Error: {query.error.message}
; } // If the Query is successful, you can access the data returned using the `UseQueryResult.data` field. if (query.isSuccess) { console.log(query.data.staffs); } return
Query execution {query.isSuccess ? 'successful' : 'failed'}!
; } ``` ## listEvents You can execute the `listEvents` Query using the following Query hook function, which is defined in [dataconnect-generated/react/index.d.ts](./index.d.ts): ```javascript useListEvents(dc: DataConnect, options?: useDataConnectQueryOptions): UseDataConnectQueryResult; ``` You can also pass in a `DataConnect` instance to the Query hook function. ```javascript useListEvents(options?: useDataConnectQueryOptions): UseDataConnectQueryResult; ``` ### Variables The `listEvents` Query has no variables. ### Return Type Recall that calling the `listEvents` Query hook function returns a `UseQueryResult` object. This object holds the state of your Query, including whether the Query is loading, has completed, or has succeeded/failed, and any data returned by the Query, among other things. To check the status of a Query, use the `UseQueryResult.status` field. You can also check for pending / success / error status using the `UseQueryResult.isPending`, `UseQueryResult.isSuccess`, and `UseQueryResult.isError` fields. To access the data returned by a Query, use the `UseQueryResult.data` field. The data for the `listEvents` Query is of type `ListEventsData`, which is defined in [dataconnect-generated/index.d.ts](../index.d.ts). It has the following fields: ```javascript export interface ListEventsData { events: ({ id: UUIDString; eventName: string; status: EventStatus; date: TimestampString; isRapid?: boolean | null; isRecurring?: boolean | null; isMultiDay?: boolean | null; recurrenceType?: RecurrenceType | null; recurrenceStartDate?: TimestampString | null; recurrenceEndDate?: TimestampString | null; scatterDates?: string | null; multiDayStartDate?: TimestampString | null; multiDayEndDate?: TimestampString | null; bufferTimeBefore?: number | null; bufferTimeAfter?: number | null; conflictDetectionEnabled?: boolean | null; detectedConflicts?: string | null; businessId: UUIDString; businessName?: string | null; vendorId?: UUIDString | null; vendorName?: string | null; hub?: string | null; eventLocation?: string | null; contractType?: ContractType | null; poReference?: string | null; shifts?: string | null; addons?: string | null; total?: number | null; clientName?: string | null; clientEmail?: string | null; clientPhone?: string | null; invoiceId?: UUIDString | null; notes?: string | null; requested?: number | null; assignedStaff?: string | null; } & Event_Key)[]; } ``` To learn more about the `UseQueryResult` object, see the [TanStack React Query documentation](https://tanstack.com/query/v5/docs/framework/react/reference/useQuery). ### Using `listEvents`'s Query hook function ```javascript import { getDataConnect } from 'firebase/data-connect'; import { connectorConfig } from '@dataconnect/generated'; import { useListEvents } from '@dataconnect/generated/react' export default function ListEventsComponent() { // You don't have to do anything to "execute" the Query. // Call the Query hook function to get a `UseQueryResult` object which holds the state of your Query. const query = useListEvents(); // You can also pass in a `DataConnect` instance to the Query hook function. const dataConnect = getDataConnect(connectorConfig); const query = useListEvents(dataConnect); // You can also pass in a `useDataConnectQueryOptions` object to the Query hook function. const options = { staleTime: 5 * 1000 }; const query = useListEvents(options); // You can also pass both a `DataConnect` instance and a `useDataConnectQueryOptions` object. const dataConnect = getDataConnect(connectorConfig); const options = { staleTime: 5 * 1000 }; const query = useListEvents(dataConnect, options); // Then, you can render your component dynamically based on the status of the Query. if (query.isPending) { return
Loading...
; } if (query.isError) { return
Error: {query.error.message}
; } // If the Query is successful, you can access the data returned using the `UseQueryResult.data` field. if (query.isSuccess) { console.log(query.data.events); } return
Query execution {query.isSuccess ? 'successful' : 'failed'}!
; } ``` ## getEventById You can execute the `getEventById` Query using the following Query hook function, which is defined in [dataconnect-generated/react/index.d.ts](./index.d.ts): ```javascript useGetEventById(dc: DataConnect, vars: GetEventByIdVariables, options?: useDataConnectQueryOptions): UseDataConnectQueryResult; ``` You can also pass in a `DataConnect` instance to the Query hook function. ```javascript useGetEventById(vars: GetEventByIdVariables, options?: useDataConnectQueryOptions): UseDataConnectQueryResult; ``` ### Variables The `getEventById` Query requires an argument of type `GetEventByIdVariables`, which is defined in [dataconnect-generated/index.d.ts](../index.d.ts). It has the following fields: ```javascript export interface GetEventByIdVariables { id: UUIDString; } ``` ### Return Type Recall that calling the `getEventById` Query hook function returns a `UseQueryResult` object. This object holds the state of your Query, including whether the Query is loading, has completed, or has succeeded/failed, and any data returned by the Query, among other things. To check the status of a Query, use the `UseQueryResult.status` field. You can also check for pending / success / error status using the `UseQueryResult.isPending`, `UseQueryResult.isSuccess`, and `UseQueryResult.isError` fields. To access the data returned by a Query, use the `UseQueryResult.data` field. The data for the `getEventById` Query is of type `GetEventByIdData`, which is defined in [dataconnect-generated/index.d.ts](../index.d.ts). It has the following fields: ```javascript export interface GetEventByIdData { event?: { id: UUIDString; eventName: string; status: EventStatus; date: TimestampString; isRapid?: boolean | null; isRecurring?: boolean | null; isMultiDay?: boolean | null; recurrenceType?: RecurrenceType | null; recurrenceStartDate?: TimestampString | null; recurrenceEndDate?: TimestampString | null; scatterDates?: string | null; multiDayStartDate?: TimestampString | null; multiDayEndDate?: TimestampString | null; bufferTimeBefore?: number | null; bufferTimeAfter?: number | null; conflictDetectionEnabled?: boolean | null; detectedConflicts?: string | null; businessId: UUIDString; businessName?: string | null; vendorId?: UUIDString | null; vendorName?: string | null; hub?: string | null; eventLocation?: string | null; contractType?: ContractType | null; poReference?: string | null; shifts?: string | null; addons?: string | null; total?: number | null; clientName?: string | null; clientEmail?: string | null; clientPhone?: string | null; invoiceId?: UUIDString | null; notes?: string | null; requested?: number | null; assignedStaff?: string | null; } & Event_Key; } ``` To learn more about the `UseQueryResult` object, see the [TanStack React Query documentation](https://tanstack.com/query/v5/docs/framework/react/reference/useQuery). ### Using `getEventById`'s Query hook function ```javascript import { getDataConnect } from 'firebase/data-connect'; import { connectorConfig, GetEventByIdVariables } from '@dataconnect/generated'; import { useGetEventById } from '@dataconnect/generated/react' export default function GetEventByIdComponent() { // The `useGetEventById` Query hook requires an argument of type `GetEventByIdVariables`: const getEventByIdVars: GetEventByIdVariables = { id: ..., }; // You don't have to do anything to "execute" the Query. // Call the Query hook function to get a `UseQueryResult` object which holds the state of your Query. const query = useGetEventById(getEventByIdVars); // Variables can be defined inline as well. const query = useGetEventById({ id: ..., }); // You can also pass in a `DataConnect` instance to the Query hook function. const dataConnect = getDataConnect(connectorConfig); const query = useGetEventById(dataConnect, getEventByIdVars); // You can also pass in a `useDataConnectQueryOptions` object to the Query hook function. const options = { staleTime: 5 * 1000 }; const query = useGetEventById(getEventByIdVars, options); // You can also pass both a `DataConnect` instance and a `useDataConnectQueryOptions` object. const dataConnect = getDataConnect(connectorConfig); const options = { staleTime: 5 * 1000 }; const query = useGetEventById(dataConnect, getEventByIdVars, options); // Then, you can render your component dynamically based on the status of the Query. if (query.isPending) { return
Loading...
; } if (query.isError) { return
Error: {query.error.message}
; } // If the Query is successful, you can access the data returned using the `UseQueryResult.data` field. if (query.isSuccess) { console.log(query.data.event); } return
Query execution {query.isSuccess ? 'successful' : 'failed'}!
; } ``` ## filterEvents You can execute the `filterEvents` Query using the following Query hook function, which is defined in [dataconnect-generated/react/index.d.ts](./index.d.ts): ```javascript useFilterEvents(dc: DataConnect, vars?: FilterEventsVariables, options?: useDataConnectQueryOptions): UseDataConnectQueryResult; ``` You can also pass in a `DataConnect` instance to the Query hook function. ```javascript useFilterEvents(vars?: FilterEventsVariables, options?: useDataConnectQueryOptions): UseDataConnectQueryResult; ``` ### Variables The `filterEvents` Query has an optional argument of type `FilterEventsVariables`, which is defined in [dataconnect-generated/index.d.ts](../index.d.ts). It has the following fields: ```javascript export interface FilterEventsVariables { status?: EventStatus | null; businessId?: UUIDString | null; vendorId?: UUIDString | null; isRecurring?: boolean | null; isRapid?: boolean | null; isMultiDay?: boolean | null; recurrenceType?: RecurrenceType | null; date?: TimestampString | null; hub?: string | null; eventLocation?: string | null; contractType?: ContractType | null; clientEmail?: string | null; } ``` ### Return Type Recall that calling the `filterEvents` Query hook function returns a `UseQueryResult` object. This object holds the state of your Query, including whether the Query is loading, has completed, or has succeeded/failed, and any data returned by the Query, among other things. To check the status of a Query, use the `UseQueryResult.status` field. You can also check for pending / success / error status using the `UseQueryResult.isPending`, `UseQueryResult.isSuccess`, and `UseQueryResult.isError` fields. To access the data returned by a Query, use the `UseQueryResult.data` field. The data for the `filterEvents` Query is of type `FilterEventsData`, which is defined in [dataconnect-generated/index.d.ts](../index.d.ts). It has the following fields: ```javascript export interface FilterEventsData { events: ({ id: UUIDString; eventName: string; status: EventStatus; date: TimestampString; isRapid?: boolean | null; isRecurring?: boolean | null; isMultiDay?: boolean | null; recurrenceType?: RecurrenceType | null; recurrenceStartDate?: TimestampString | null; recurrenceEndDate?: TimestampString | null; scatterDates?: string | null; multiDayStartDate?: TimestampString | null; multiDayEndDate?: TimestampString | null; bufferTimeBefore?: number | null; bufferTimeAfter?: number | null; conflictDetectionEnabled?: boolean | null; detectedConflicts?: string | null; businessId: UUIDString; businessName?: string | null; vendorId?: UUIDString | null; vendorName?: string | null; hub?: string | null; eventLocation?: string | null; contractType?: ContractType | null; poReference?: string | null; shifts?: string | null; addons?: string | null; total?: number | null; clientName?: string | null; clientEmail?: string | null; clientPhone?: string | null; invoiceId?: UUIDString | null; notes?: string | null; requested?: number | null; assignedStaff?: string | null; } & Event_Key)[]; } ``` To learn more about the `UseQueryResult` object, see the [TanStack React Query documentation](https://tanstack.com/query/v5/docs/framework/react/reference/useQuery). ### Using `filterEvents`'s Query hook function ```javascript import { getDataConnect } from 'firebase/data-connect'; import { connectorConfig, FilterEventsVariables } from '@dataconnect/generated'; import { useFilterEvents } from '@dataconnect/generated/react' export default function FilterEventsComponent() { // The `useFilterEvents` Query hook has an optional argument of type `FilterEventsVariables`: const filterEventsVars: FilterEventsVariables = { status: ..., // optional businessId: ..., // optional vendorId: ..., // optional isRecurring: ..., // optional isRapid: ..., // optional isMultiDay: ..., // optional recurrenceType: ..., // optional date: ..., // optional hub: ..., // optional eventLocation: ..., // optional contractType: ..., // optional clientEmail: ..., // optional }; // You don't have to do anything to "execute" the Query. // Call the Query hook function to get a `UseQueryResult` object which holds the state of your Query. const query = useFilterEvents(filterEventsVars); // Variables can be defined inline as well. const query = useFilterEvents({ status: ..., businessId: ..., vendorId: ..., isRecurring: ..., isRapid: ..., isMultiDay: ..., recurrenceType: ..., date: ..., hub: ..., eventLocation: ..., contractType: ..., clientEmail: ..., }); // Since all variables are optional for this Query, you can omit the `FilterEventsVariables` argument. // (as long as you don't want to provide any `options`!) const query = useFilterEvents(); // You can also pass in a `DataConnect` instance to the Query hook function. const dataConnect = getDataConnect(connectorConfig); const query = useFilterEvents(dataConnect, filterEventsVars); // You can also pass in a `useDataConnectQueryOptions` object to the Query hook function. const options = { staleTime: 5 * 1000 }; const query = useFilterEvents(filterEventsVars, options); // If you'd like to provide options without providing any variables, you must // pass `undefined` where you would normally pass the variables. const query = useFilterEvents(undefined, options); // You can also pass both a `DataConnect` instance and a `useDataConnectQueryOptions` object. const dataConnect = getDataConnect(connectorConfig); const options = { staleTime: 5 * 1000 }; const query = useFilterEvents(dataConnect, filterEventsVars /** or undefined */, options); // Then, you can render your component dynamically based on the status of the Query. if (query.isPending) { return
Loading...
; } if (query.isError) { return
Error: {query.error.message}
; } // If the Query is successful, you can access the data returned using the `UseQueryResult.data` field. if (query.isSuccess) { console.log(query.data.events); } return
Query execution {query.isSuccess ? 'successful' : 'failed'}!
; } ``` ## listVendor You can execute the `listVendor` Query using the following Query hook function, which is defined in [dataconnect-generated/react/index.d.ts](./index.d.ts): ```javascript useListVendor(dc: DataConnect, options?: useDataConnectQueryOptions): UseDataConnectQueryResult; ``` You can also pass in a `DataConnect` instance to the Query hook function. ```javascript useListVendor(options?: useDataConnectQueryOptions): UseDataConnectQueryResult; ``` ### Variables The `listVendor` Query has no variables. ### Return Type Recall that calling the `listVendor` Query hook function returns a `UseQueryResult` object. This object holds the state of your Query, including whether the Query is loading, has completed, or has succeeded/failed, and any data returned by the Query, among other things. To check the status of a Query, use the `UseQueryResult.status` field. You can also check for pending / success / error status using the `UseQueryResult.isPending`, `UseQueryResult.isSuccess`, and `UseQueryResult.isError` fields. To access the data returned by a Query, use the `UseQueryResult.data` field. The data for the `listVendor` Query is of type `ListVendorData`, which is defined in [dataconnect-generated/index.d.ts](../index.d.ts). It has the following fields: ```javascript export interface ListVendorData { vendors: ({ id: UUIDString; vendorNumber: string; legalName: string; region: VendorRegion; platformType: VendorPlatformType; primaryContactEmail: string; approvalStatus: VendorApprovalStatus; isActive?: boolean | null; } & Vendor_Key)[]; } ``` To learn more about the `UseQueryResult` object, see the [TanStack React Query documentation](https://tanstack.com/query/v5/docs/framework/react/reference/useQuery). ### Using `listVendor`'s Query hook function ```javascript import { getDataConnect } from 'firebase/data-connect'; import { connectorConfig } from '@dataconnect/generated'; import { useListVendor } from '@dataconnect/generated/react' export default function ListVendorComponent() { // You don't have to do anything to "execute" the Query. // Call the Query hook function to get a `UseQueryResult` object which holds the state of your Query. const query = useListVendor(); // You can also pass in a `DataConnect` instance to the Query hook function. const dataConnect = getDataConnect(connectorConfig); const query = useListVendor(dataConnect); // You can also pass in a `useDataConnectQueryOptions` object to the Query hook function. const options = { staleTime: 5 * 1000 }; const query = useListVendor(options); // You can also pass both a `DataConnect` instance and a `useDataConnectQueryOptions` object. const dataConnect = getDataConnect(connectorConfig); const options = { staleTime: 5 * 1000 }; const query = useListVendor(dataConnect, options); // Then, you can render your component dynamically based on the status of the Query. if (query.isPending) { return
Loading...
; } if (query.isError) { return
Error: {query.error.message}
; } // If the Query is successful, you can access the data returned using the `UseQueryResult.data` field. if (query.isSuccess) { console.log(query.data.vendors); } return
Query execution {query.isSuccess ? 'successful' : 'failed'}!
; } ``` ## getVendorById You can execute the `getVendorById` Query using the following Query hook function, which is defined in [dataconnect-generated/react/index.d.ts](./index.d.ts): ```javascript useGetVendorById(dc: DataConnect, vars: GetVendorByIdVariables, options?: useDataConnectQueryOptions): UseDataConnectQueryResult; ``` You can also pass in a `DataConnect` instance to the Query hook function. ```javascript useGetVendorById(vars: GetVendorByIdVariables, options?: useDataConnectQueryOptions): UseDataConnectQueryResult; ``` ### Variables The `getVendorById` Query requires an argument of type `GetVendorByIdVariables`, which is defined in [dataconnect-generated/index.d.ts](../index.d.ts). It has the following fields: ```javascript export interface GetVendorByIdVariables { id: UUIDString; } ``` ### Return Type Recall that calling the `getVendorById` Query hook function returns a `UseQueryResult` object. This object holds the state of your Query, including whether the Query is loading, has completed, or has succeeded/failed, and any data returned by the Query, among other things. To check the status of a Query, use the `UseQueryResult.status` field. You can also check for pending / success / error status using the `UseQueryResult.isPending`, `UseQueryResult.isSuccess`, and `UseQueryResult.isError` fields. To access the data returned by a Query, use the `UseQueryResult.data` field. The data for the `getVendorById` Query is of type `GetVendorByIdData`, which is defined in [dataconnect-generated/index.d.ts](../index.d.ts). It has the following fields: ```javascript export interface GetVendorByIdData { vendor?: { id: UUIDString; vendorNumber: string; legalName: string; region: VendorRegion; platformType: VendorPlatformType; primaryContactEmail: string; approvalStatus: VendorApprovalStatus; isActive?: boolean | null; } & Vendor_Key; } ``` To learn more about the `UseQueryResult` object, see the [TanStack React Query documentation](https://tanstack.com/query/v5/docs/framework/react/reference/useQuery). ### Using `getVendorById`'s Query hook function ```javascript import { getDataConnect } from 'firebase/data-connect'; import { connectorConfig, GetVendorByIdVariables } from '@dataconnect/generated'; import { useGetVendorById } from '@dataconnect/generated/react' export default function GetVendorByIdComponent() { // The `useGetVendorById` Query hook requires an argument of type `GetVendorByIdVariables`: const getVendorByIdVars: GetVendorByIdVariables = { id: ..., }; // You don't have to do anything to "execute" the Query. // Call the Query hook function to get a `UseQueryResult` object which holds the state of your Query. const query = useGetVendorById(getVendorByIdVars); // Variables can be defined inline as well. const query = useGetVendorById({ id: ..., }); // You can also pass in a `DataConnect` instance to the Query hook function. const dataConnect = getDataConnect(connectorConfig); const query = useGetVendorById(dataConnect, getVendorByIdVars); // You can also pass in a `useDataConnectQueryOptions` object to the Query hook function. const options = { staleTime: 5 * 1000 }; const query = useGetVendorById(getVendorByIdVars, options); // You can also pass both a `DataConnect` instance and a `useDataConnectQueryOptions` object. const dataConnect = getDataConnect(connectorConfig); const options = { staleTime: 5 * 1000 }; const query = useGetVendorById(dataConnect, getVendorByIdVars, options); // Then, you can render your component dynamically based on the status of the Query. if (query.isPending) { return
Loading...
; } if (query.isError) { return
Error: {query.error.message}
; } // If the Query is successful, you can access the data returned using the `UseQueryResult.data` field. if (query.isSuccess) { console.log(query.data.vendor); } return
Query execution {query.isSuccess ? 'successful' : 'failed'}!
; } ``` ## filterVendors You can execute the `filterVendors` Query using the following Query hook function, which is defined in [dataconnect-generated/react/index.d.ts](./index.d.ts): ```javascript useFilterVendors(dc: DataConnect, vars?: FilterVendorsVariables, options?: useDataConnectQueryOptions): UseDataConnectQueryResult; ``` You can also pass in a `DataConnect` instance to the Query hook function. ```javascript useFilterVendors(vars?: FilterVendorsVariables, options?: useDataConnectQueryOptions): UseDataConnectQueryResult; ``` ### Variables The `filterVendors` Query has an optional argument of type `FilterVendorsVariables`, which is defined in [dataconnect-generated/index.d.ts](../index.d.ts). It has the following fields: ```javascript export interface FilterVendorsVariables { region?: VendorRegion | null; approvalStatus?: VendorApprovalStatus | null; isActive?: boolean | null; vendorNumber?: string | null; primaryContactEmail?: string | null; legalName?: string | null; platformType?: VendorPlatformType | null; } ``` ### Return Type Recall that calling the `filterVendors` Query hook function returns a `UseQueryResult` object. This object holds the state of your Query, including whether the Query is loading, has completed, or has succeeded/failed, and any data returned by the Query, among other things. To check the status of a Query, use the `UseQueryResult.status` field. You can also check for pending / success / error status using the `UseQueryResult.isPending`, `UseQueryResult.isSuccess`, and `UseQueryResult.isError` fields. To access the data returned by a Query, use the `UseQueryResult.data` field. The data for the `filterVendors` Query is of type `FilterVendorsData`, which is defined in [dataconnect-generated/index.d.ts](../index.d.ts). It has the following fields: ```javascript export interface FilterVendorsData { vendors: ({ id: UUIDString; vendorNumber: string; legalName: string; region: VendorRegion; platformType: VendorPlatformType; primaryContactEmail: string; approvalStatus: VendorApprovalStatus; isActive?: boolean | null; } & Vendor_Key)[]; } ``` To learn more about the `UseQueryResult` object, see the [TanStack React Query documentation](https://tanstack.com/query/v5/docs/framework/react/reference/useQuery). ### Using `filterVendors`'s Query hook function ```javascript import { getDataConnect } from 'firebase/data-connect'; import { connectorConfig, FilterVendorsVariables } from '@dataconnect/generated'; import { useFilterVendors } from '@dataconnect/generated/react' export default function FilterVendorsComponent() { // The `useFilterVendors` Query hook has an optional argument of type `FilterVendorsVariables`: const filterVendorsVars: FilterVendorsVariables = { region: ..., // optional approvalStatus: ..., // optional isActive: ..., // optional vendorNumber: ..., // optional primaryContactEmail: ..., // optional legalName: ..., // optional platformType: ..., // optional }; // You don't have to do anything to "execute" the Query. // Call the Query hook function to get a `UseQueryResult` object which holds the state of your Query. const query = useFilterVendors(filterVendorsVars); // Variables can be defined inline as well. const query = useFilterVendors({ region: ..., approvalStatus: ..., isActive: ..., vendorNumber: ..., primaryContactEmail: ..., legalName: ..., platformType: ..., }); // Since all variables are optional for this Query, you can omit the `FilterVendorsVariables` argument. // (as long as you don't want to provide any `options`!) const query = useFilterVendors(); // You can also pass in a `DataConnect` instance to the Query hook function. const dataConnect = getDataConnect(connectorConfig); const query = useFilterVendors(dataConnect, filterVendorsVars); // You can also pass in a `useDataConnectQueryOptions` object to the Query hook function. const options = { staleTime: 5 * 1000 }; const query = useFilterVendors(filterVendorsVars, options); // If you'd like to provide options without providing any variables, you must // pass `undefined` where you would normally pass the variables. const query = useFilterVendors(undefined, options); // You can also pass both a `DataConnect` instance and a `useDataConnectQueryOptions` object. const dataConnect = getDataConnect(connectorConfig); const options = { staleTime: 5 * 1000 }; const query = useFilterVendors(dataConnect, filterVendorsVars /** or undefined */, options); // Then, you can render your component dynamically based on the status of the Query. if (query.isPending) { return
Loading...
; } if (query.isError) { return
Error: {query.error.message}
; } // If the Query is successful, you can access the data returned using the `UseQueryResult.data` field. if (query.isSuccess) { console.log(query.data.vendors); } return
Query execution {query.isSuccess ? 'successful' : 'failed'}!
; } ``` ## listVendorDefaultSettings You can execute the `listVendorDefaultSettings` Query using the following Query hook function, which is defined in [dataconnect-generated/react/index.d.ts](./index.d.ts): ```javascript useListVendorDefaultSettings(dc: DataConnect, options?: useDataConnectQueryOptions): UseDataConnectQueryResult; ``` You can also pass in a `DataConnect` instance to the Query hook function. ```javascript useListVendorDefaultSettings(options?: useDataConnectQueryOptions): UseDataConnectQueryResult; ``` ### Variables The `listVendorDefaultSettings` Query has no variables. ### Return Type Recall that calling the `listVendorDefaultSettings` Query hook function returns a `UseQueryResult` object. This object holds the state of your Query, including whether the Query is loading, has completed, or has succeeded/failed, and any data returned by the Query, among other things. To check the status of a Query, use the `UseQueryResult.status` field. You can also check for pending / success / error status using the `UseQueryResult.isPending`, `UseQueryResult.isSuccess`, and `UseQueryResult.isError` fields. To access the data returned by a Query, use the `UseQueryResult.data` field. The data for the `listVendorDefaultSettings` Query is of type `ListVendorDefaultSettingsData`, which is defined in [dataconnect-generated/index.d.ts](../index.d.ts). It has the following fields: ```javascript export interface ListVendorDefaultSettingsData { vendorDefaultSettings: ({ id: UUIDString; vendorName: string; defaultMarkupPercentage: number; defaultVendorFeePercentage: number; } & VendorDefaultSetting_Key)[]; } ``` To learn more about the `UseQueryResult` object, see the [TanStack React Query documentation](https://tanstack.com/query/v5/docs/framework/react/reference/useQuery). ### Using `listVendorDefaultSettings`'s Query hook function ```javascript import { getDataConnect } from 'firebase/data-connect'; import { connectorConfig } from '@dataconnect/generated'; import { useListVendorDefaultSettings } from '@dataconnect/generated/react' export default function ListVendorDefaultSettingsComponent() { // You don't have to do anything to "execute" the Query. // Call the Query hook function to get a `UseQueryResult` object which holds the state of your Query. const query = useListVendorDefaultSettings(); // You can also pass in a `DataConnect` instance to the Query hook function. const dataConnect = getDataConnect(connectorConfig); const query = useListVendorDefaultSettings(dataConnect); // You can also pass in a `useDataConnectQueryOptions` object to the Query hook function. const options = { staleTime: 5 * 1000 }; const query = useListVendorDefaultSettings(options); // You can also pass both a `DataConnect` instance and a `useDataConnectQueryOptions` object. const dataConnect = getDataConnect(connectorConfig); const options = { staleTime: 5 * 1000 }; const query = useListVendorDefaultSettings(dataConnect, options); // Then, you can render your component dynamically based on the status of the Query. if (query.isPending) { return
Loading...
; } if (query.isError) { return
Error: {query.error.message}
; } // If the Query is successful, you can access the data returned using the `UseQueryResult.data` field. if (query.isSuccess) { console.log(query.data.vendorDefaultSettings); } return
Query execution {query.isSuccess ? 'successful' : 'failed'}!
; } ``` ## getVendorDefaultSettingById You can execute the `getVendorDefaultSettingById` Query using the following Query hook function, which is defined in [dataconnect-generated/react/index.d.ts](./index.d.ts): ```javascript useGetVendorDefaultSettingById(dc: DataConnect, vars: GetVendorDefaultSettingByIdVariables, options?: useDataConnectQueryOptions): UseDataConnectQueryResult; ``` You can also pass in a `DataConnect` instance to the Query hook function. ```javascript useGetVendorDefaultSettingById(vars: GetVendorDefaultSettingByIdVariables, options?: useDataConnectQueryOptions): UseDataConnectQueryResult; ``` ### Variables The `getVendorDefaultSettingById` Query requires an argument of type `GetVendorDefaultSettingByIdVariables`, which is defined in [dataconnect-generated/index.d.ts](../index.d.ts). It has the following fields: ```javascript export interface GetVendorDefaultSettingByIdVariables { id: UUIDString; } ``` ### Return Type Recall that calling the `getVendorDefaultSettingById` Query hook function returns a `UseQueryResult` object. This object holds the state of your Query, including whether the Query is loading, has completed, or has succeeded/failed, and any data returned by the Query, among other things. To check the status of a Query, use the `UseQueryResult.status` field. You can also check for pending / success / error status using the `UseQueryResult.isPending`, `UseQueryResult.isSuccess`, and `UseQueryResult.isError` fields. To access the data returned by a Query, use the `UseQueryResult.data` field. The data for the `getVendorDefaultSettingById` Query is of type `GetVendorDefaultSettingByIdData`, which is defined in [dataconnect-generated/index.d.ts](../index.d.ts). It has the following fields: ```javascript export interface GetVendorDefaultSettingByIdData { vendorDefaultSetting?: { id: UUIDString; vendorName: string; defaultMarkupPercentage: number; defaultVendorFeePercentage: number; } & VendorDefaultSetting_Key; } ``` To learn more about the `UseQueryResult` object, see the [TanStack React Query documentation](https://tanstack.com/query/v5/docs/framework/react/reference/useQuery). ### Using `getVendorDefaultSettingById`'s Query hook function ```javascript import { getDataConnect } from 'firebase/data-connect'; import { connectorConfig, GetVendorDefaultSettingByIdVariables } from '@dataconnect/generated'; import { useGetVendorDefaultSettingById } from '@dataconnect/generated/react' export default function GetVendorDefaultSettingByIdComponent() { // The `useGetVendorDefaultSettingById` Query hook requires an argument of type `GetVendorDefaultSettingByIdVariables`: const getVendorDefaultSettingByIdVars: GetVendorDefaultSettingByIdVariables = { id: ..., }; // You don't have to do anything to "execute" the Query. // Call the Query hook function to get a `UseQueryResult` object which holds the state of your Query. const query = useGetVendorDefaultSettingById(getVendorDefaultSettingByIdVars); // Variables can be defined inline as well. const query = useGetVendorDefaultSettingById({ id: ..., }); // You can also pass in a `DataConnect` instance to the Query hook function. const dataConnect = getDataConnect(connectorConfig); const query = useGetVendorDefaultSettingById(dataConnect, getVendorDefaultSettingByIdVars); // You can also pass in a `useDataConnectQueryOptions` object to the Query hook function. const options = { staleTime: 5 * 1000 }; const query = useGetVendorDefaultSettingById(getVendorDefaultSettingByIdVars, options); // You can also pass both a `DataConnect` instance and a `useDataConnectQueryOptions` object. const dataConnect = getDataConnect(connectorConfig); const options = { staleTime: 5 * 1000 }; const query = useGetVendorDefaultSettingById(dataConnect, getVendorDefaultSettingByIdVars, options); // Then, you can render your component dynamically based on the status of the Query. if (query.isPending) { return
Loading...
; } if (query.isError) { return
Error: {query.error.message}
; } // If the Query is successful, you can access the data returned using the `UseQueryResult.data` field. if (query.isSuccess) { console.log(query.data.vendorDefaultSetting); } return
Query execution {query.isSuccess ? 'successful' : 'failed'}!
; } ``` ## filterVendorDefaultSettings You can execute the `filterVendorDefaultSettings` Query using the following Query hook function, which is defined in [dataconnect-generated/react/index.d.ts](./index.d.ts): ```javascript useFilterVendorDefaultSettings(dc: DataConnect, vars?: FilterVendorDefaultSettingsVariables, options?: useDataConnectQueryOptions): UseDataConnectQueryResult; ``` You can also pass in a `DataConnect` instance to the Query hook function. ```javascript useFilterVendorDefaultSettings(vars?: FilterVendorDefaultSettingsVariables, options?: useDataConnectQueryOptions): UseDataConnectQueryResult; ``` ### Variables The `filterVendorDefaultSettings` Query has an optional argument of type `FilterVendorDefaultSettingsVariables`, which is defined in [dataconnect-generated/index.d.ts](../index.d.ts). It has the following fields: ```javascript export interface FilterVendorDefaultSettingsVariables { vendorName?: string | null; defaultMarkupPercentage?: number | null; defaultVendorFeePercentage?: number | null; } ``` ### Return Type Recall that calling the `filterVendorDefaultSettings` Query hook function returns a `UseQueryResult` object. This object holds the state of your Query, including whether the Query is loading, has completed, or has succeeded/failed, and any data returned by the Query, among other things. To check the status of a Query, use the `UseQueryResult.status` field. You can also check for pending / success / error status using the `UseQueryResult.isPending`, `UseQueryResult.isSuccess`, and `UseQueryResult.isError` fields. To access the data returned by a Query, use the `UseQueryResult.data` field. The data for the `filterVendorDefaultSettings` Query is of type `FilterVendorDefaultSettingsData`, which is defined in [dataconnect-generated/index.d.ts](../index.d.ts). It has the following fields: ```javascript export interface FilterVendorDefaultSettingsData { vendorDefaultSettings: ({ id: UUIDString; vendorName: string; defaultMarkupPercentage: number; defaultVendorFeePercentage: number; } & VendorDefaultSetting_Key)[]; } ``` To learn more about the `UseQueryResult` object, see the [TanStack React Query documentation](https://tanstack.com/query/v5/docs/framework/react/reference/useQuery). ### Using `filterVendorDefaultSettings`'s Query hook function ```javascript import { getDataConnect } from 'firebase/data-connect'; import { connectorConfig, FilterVendorDefaultSettingsVariables } from '@dataconnect/generated'; import { useFilterVendorDefaultSettings } from '@dataconnect/generated/react' export default function FilterVendorDefaultSettingsComponent() { // The `useFilterVendorDefaultSettings` Query hook has an optional argument of type `FilterVendorDefaultSettingsVariables`: const filterVendorDefaultSettingsVars: FilterVendorDefaultSettingsVariables = { vendorName: ..., // optional defaultMarkupPercentage: ..., // optional defaultVendorFeePercentage: ..., // optional }; // You don't have to do anything to "execute" the Query. // Call the Query hook function to get a `UseQueryResult` object which holds the state of your Query. const query = useFilterVendorDefaultSettings(filterVendorDefaultSettingsVars); // Variables can be defined inline as well. const query = useFilterVendorDefaultSettings({ vendorName: ..., defaultMarkupPercentage: ..., defaultVendorFeePercentage: ..., }); // Since all variables are optional for this Query, you can omit the `FilterVendorDefaultSettingsVariables` argument. // (as long as you don't want to provide any `options`!) const query = useFilterVendorDefaultSettings(); // You can also pass in a `DataConnect` instance to the Query hook function. const dataConnect = getDataConnect(connectorConfig); const query = useFilterVendorDefaultSettings(dataConnect, filterVendorDefaultSettingsVars); // You can also pass in a `useDataConnectQueryOptions` object to the Query hook function. const options = { staleTime: 5 * 1000 }; const query = useFilterVendorDefaultSettings(filterVendorDefaultSettingsVars, options); // If you'd like to provide options without providing any variables, you must // pass `undefined` where you would normally pass the variables. const query = useFilterVendorDefaultSettings(undefined, options); // You can also pass both a `DataConnect` instance and a `useDataConnectQueryOptions` object. const dataConnect = getDataConnect(connectorConfig); const options = { staleTime: 5 * 1000 }; const query = useFilterVendorDefaultSettings(dataConnect, filterVendorDefaultSettingsVars /** or undefined */, options); // Then, you can render your component dynamically based on the status of the Query. if (query.isPending) { return
Loading...
; } if (query.isError) { return
Error: {query.error.message}
; } // If the Query is successful, you can access the data returned using the `UseQueryResult.data` field. if (query.isSuccess) { console.log(query.data.vendorDefaultSettings); } return
Query execution {query.isSuccess ? 'successful' : 'failed'}!
; } ``` ## listVendorRate You can execute the `listVendorRate` Query using the following Query hook function, which is defined in [dataconnect-generated/react/index.d.ts](./index.d.ts): ```javascript useListVendorRate(dc: DataConnect, options?: useDataConnectQueryOptions): UseDataConnectQueryResult; ``` You can also pass in a `DataConnect` instance to the Query hook function. ```javascript useListVendorRate(options?: useDataConnectQueryOptions): UseDataConnectQueryResult; ``` ### Variables The `listVendorRate` Query has no variables. ### Return Type Recall that calling the `listVendorRate` Query hook function returns a `UseQueryResult` object. This object holds the state of your Query, including whether the Query is loading, has completed, or has succeeded/failed, and any data returned by the Query, among other things. To check the status of a Query, use the `UseQueryResult.status` field. You can also check for pending / success / error status using the `UseQueryResult.isPending`, `UseQueryResult.isSuccess`, and `UseQueryResult.isError` fields. To access the data returned by a Query, use the `UseQueryResult.data` field. The data for the `listVendorRate` Query is of type `ListVendorRateData`, which is defined in [dataconnect-generated/index.d.ts](../index.d.ts). It has the following fields: ```javascript export interface ListVendorRateData { vendorRates: ({ id: UUIDString; vendorName: string; category: VendorRateCategory; roleName: string; employeeWage: number; markupPercentage?: number | null; vendorFeePercentage?: number | null; clientRate: number; } & VendorRate_Key)[]; } ``` To learn more about the `UseQueryResult` object, see the [TanStack React Query documentation](https://tanstack.com/query/v5/docs/framework/react/reference/useQuery). ### Using `listVendorRate`'s Query hook function ```javascript import { getDataConnect } from 'firebase/data-connect'; import { connectorConfig } from '@dataconnect/generated'; import { useListVendorRate } from '@dataconnect/generated/react' export default function ListVendorRateComponent() { // You don't have to do anything to "execute" the Query. // Call the Query hook function to get a `UseQueryResult` object which holds the state of your Query. const query = useListVendorRate(); // You can also pass in a `DataConnect` instance to the Query hook function. const dataConnect = getDataConnect(connectorConfig); const query = useListVendorRate(dataConnect); // You can also pass in a `useDataConnectQueryOptions` object to the Query hook function. const options = { staleTime: 5 * 1000 }; const query = useListVendorRate(options); // You can also pass both a `DataConnect` instance and a `useDataConnectQueryOptions` object. const dataConnect = getDataConnect(connectorConfig); const options = { staleTime: 5 * 1000 }; const query = useListVendorRate(dataConnect, options); // Then, you can render your component dynamically based on the status of the Query. if (query.isPending) { return
Loading...
; } if (query.isError) { return
Error: {query.error.message}
; } // If the Query is successful, you can access the data returned using the `UseQueryResult.data` field. if (query.isSuccess) { console.log(query.data.vendorRates); } return
Query execution {query.isSuccess ? 'successful' : 'failed'}!
; } ``` ## getVendorRateById You can execute the `getVendorRateById` Query using the following Query hook function, which is defined in [dataconnect-generated/react/index.d.ts](./index.d.ts): ```javascript useGetVendorRateById(dc: DataConnect, vars: GetVendorRateByIdVariables, options?: useDataConnectQueryOptions): UseDataConnectQueryResult; ``` You can also pass in a `DataConnect` instance to the Query hook function. ```javascript useGetVendorRateById(vars: GetVendorRateByIdVariables, options?: useDataConnectQueryOptions): UseDataConnectQueryResult; ``` ### Variables The `getVendorRateById` Query requires an argument of type `GetVendorRateByIdVariables`, which is defined in [dataconnect-generated/index.d.ts](../index.d.ts). It has the following fields: ```javascript export interface GetVendorRateByIdVariables { id: UUIDString; } ``` ### Return Type Recall that calling the `getVendorRateById` Query hook function returns a `UseQueryResult` object. This object holds the state of your Query, including whether the Query is loading, has completed, or has succeeded/failed, and any data returned by the Query, among other things. To check the status of a Query, use the `UseQueryResult.status` field. You can also check for pending / success / error status using the `UseQueryResult.isPending`, `UseQueryResult.isSuccess`, and `UseQueryResult.isError` fields. To access the data returned by a Query, use the `UseQueryResult.data` field. The data for the `getVendorRateById` Query is of type `GetVendorRateByIdData`, which is defined in [dataconnect-generated/index.d.ts](../index.d.ts). It has the following fields: ```javascript export interface GetVendorRateByIdData { vendorRate?: { id: UUIDString; vendorName: string; category: VendorRateCategory; roleName: string; employeeWage: number; markupPercentage?: number | null; vendorFeePercentage?: number | null; clientRate: number; createdDate?: TimestampString | null; updatedDate?: TimestampString | null; createdBy?: string | null; } & VendorRate_Key; } ``` To learn more about the `UseQueryResult` object, see the [TanStack React Query documentation](https://tanstack.com/query/v5/docs/framework/react/reference/useQuery). ### Using `getVendorRateById`'s Query hook function ```javascript import { getDataConnect } from 'firebase/data-connect'; import { connectorConfig, GetVendorRateByIdVariables } from '@dataconnect/generated'; import { useGetVendorRateById } from '@dataconnect/generated/react' export default function GetVendorRateByIdComponent() { // The `useGetVendorRateById` Query hook requires an argument of type `GetVendorRateByIdVariables`: const getVendorRateByIdVars: GetVendorRateByIdVariables = { id: ..., }; // You don't have to do anything to "execute" the Query. // Call the Query hook function to get a `UseQueryResult` object which holds the state of your Query. const query = useGetVendorRateById(getVendorRateByIdVars); // Variables can be defined inline as well. const query = useGetVendorRateById({ id: ..., }); // You can also pass in a `DataConnect` instance to the Query hook function. const dataConnect = getDataConnect(connectorConfig); const query = useGetVendorRateById(dataConnect, getVendorRateByIdVars); // You can also pass in a `useDataConnectQueryOptions` object to the Query hook function. const options = { staleTime: 5 * 1000 }; const query = useGetVendorRateById(getVendorRateByIdVars, options); // You can also pass both a `DataConnect` instance and a `useDataConnectQueryOptions` object. const dataConnect = getDataConnect(connectorConfig); const options = { staleTime: 5 * 1000 }; const query = useGetVendorRateById(dataConnect, getVendorRateByIdVars, options); // Then, you can render your component dynamically based on the status of the Query. if (query.isPending) { return
Loading...
; } if (query.isError) { return
Error: {query.error.message}
; } // If the Query is successful, you can access the data returned using the `UseQueryResult.data` field. if (query.isSuccess) { console.log(query.data.vendorRate); } return
Query execution {query.isSuccess ? 'successful' : 'failed'}!
; } ``` ## filterVendorRates You can execute the `filterVendorRates` Query using the following Query hook function, which is defined in [dataconnect-generated/react/index.d.ts](./index.d.ts): ```javascript useFilterVendorRates(dc: DataConnect, vars?: FilterVendorRatesVariables, options?: useDataConnectQueryOptions): UseDataConnectQueryResult; ``` You can also pass in a `DataConnect` instance to the Query hook function. ```javascript useFilterVendorRates(vars?: FilterVendorRatesVariables, options?: useDataConnectQueryOptions): UseDataConnectQueryResult; ``` ### Variables The `filterVendorRates` Query has an optional argument of type `FilterVendorRatesVariables`, which is defined in [dataconnect-generated/index.d.ts](../index.d.ts). It has the following fields: ```javascript export interface FilterVendorRatesVariables { vendorName?: string | null; category?: VendorRateCategory | null; roleName?: string | null; minClientRate?: number | null; maxClientRate?: number | null; } ``` ### Return Type Recall that calling the `filterVendorRates` Query hook function returns a `UseQueryResult` object. This object holds the state of your Query, including whether the Query is loading, has completed, or has succeeded/failed, and any data returned by the Query, among other things. To check the status of a Query, use the `UseQueryResult.status` field. You can also check for pending / success / error status using the `UseQueryResult.isPending`, `UseQueryResult.isSuccess`, and `UseQueryResult.isError` fields. To access the data returned by a Query, use the `UseQueryResult.data` field. The data for the `filterVendorRates` Query is of type `FilterVendorRatesData`, which is defined in [dataconnect-generated/index.d.ts](../index.d.ts). It has the following fields: ```javascript export interface FilterVendorRatesData { vendorRates: ({ id: UUIDString; vendorName: string; category: VendorRateCategory; roleName: string; employeeWage: number; markupPercentage?: number | null; vendorFeePercentage?: number | null; clientRate: number; } & VendorRate_Key)[]; } ``` To learn more about the `UseQueryResult` object, see the [TanStack React Query documentation](https://tanstack.com/query/v5/docs/framework/react/reference/useQuery). ### Using `filterVendorRates`'s Query hook function ```javascript import { getDataConnect } from 'firebase/data-connect'; import { connectorConfig, FilterVendorRatesVariables } from '@dataconnect/generated'; import { useFilterVendorRates } from '@dataconnect/generated/react' export default function FilterVendorRatesComponent() { // The `useFilterVendorRates` Query hook has an optional argument of type `FilterVendorRatesVariables`: const filterVendorRatesVars: FilterVendorRatesVariables = { vendorName: ..., // optional category: ..., // optional roleName: ..., // optional minClientRate: ..., // optional maxClientRate: ..., // optional }; // You don't have to do anything to "execute" the Query. // Call the Query hook function to get a `UseQueryResult` object which holds the state of your Query. const query = useFilterVendorRates(filterVendorRatesVars); // Variables can be defined inline as well. const query = useFilterVendorRates({ vendorName: ..., category: ..., roleName: ..., minClientRate: ..., maxClientRate: ..., }); // Since all variables are optional for this Query, you can omit the `FilterVendorRatesVariables` argument. // (as long as you don't want to provide any `options`!) const query = useFilterVendorRates(); // You can also pass in a `DataConnect` instance to the Query hook function. const dataConnect = getDataConnect(connectorConfig); const query = useFilterVendorRates(dataConnect, filterVendorRatesVars); // You can also pass in a `useDataConnectQueryOptions` object to the Query hook function. const options = { staleTime: 5 * 1000 }; const query = useFilterVendorRates(filterVendorRatesVars, options); // If you'd like to provide options without providing any variables, you must // pass `undefined` where you would normally pass the variables. const query = useFilterVendorRates(undefined, options); // You can also pass both a `DataConnect` instance and a `useDataConnectQueryOptions` object. const dataConnect = getDataConnect(connectorConfig); const options = { staleTime: 5 * 1000 }; const query = useFilterVendorRates(dataConnect, filterVendorRatesVars /** or undefined */, options); // Then, you can render your component dynamically based on the status of the Query. if (query.isPending) { return
Loading...
; } if (query.isError) { return
Error: {query.error.message}
; } // If the Query is successful, you can access the data returned using the `UseQueryResult.data` field. if (query.isSuccess) { console.log(query.data.vendorRates); } return
Query execution {query.isSuccess ? 'successful' : 'failed'}!
; } ``` # Mutations The React generated SDK provides Mutations hook functions that call and return [`useDataConnectMutation`](https://react-query-firebase.invertase.dev/react/data-connect/mutations) hooks from TanStack Query Firebase. Calling these hook functions will return a `UseMutationResult` object. This object holds the state of your Mutation, including whether the Mutation is loading, has completed, or has succeeded/failed, and the most recent data returned by the Mutation, among other things. To learn more about these hooks and how to use them, see the [TanStack Query Firebase documentation](https://react-query-firebase.invertase.dev/react/data-connect/mutations). Mutation hooks do not execute their Mutations automatically when called. Rather, after calling the Mutation hook function and getting a `UseMutationResult` object, you must call the `UseMutationResult.mutate()` function to execute the Mutation. To learn more about TanStack React Query's Mutations, see the [TanStack React Query documentation](https://tanstack.com/query/v5/docs/framework/react/guides/mutations). ## Using Mutation Hooks Here's a general overview of how to use the generated Mutation hooks in your code: - Mutation hook functions are not called with the arguments to the Mutation. Instead, arguments are passed to `UseMutationResult.mutate()`. - If the Mutation has no variables, the `mutate()` function does not require arguments. - If the Mutation has any required variables, the `mutate()` function will require at least one argument: an object that contains all the required variables for the Mutation. - If the Mutation has some required and some optional variables, only required variables are necessary in the variables argument object, and optional variables may be provided as well. - If all of the Mutation's variables are optional, the Mutation hook function does not require any arguments. - Mutation hook functions can be called with or without passing in a `DataConnect` instance as an argument. If no `DataConnect` argument is passed in, then the generated SDK will call `getDataConnect(connectorConfig)` behind the scenes for you. - Mutation hooks also accept an `options` argument of type `useDataConnectMutationOptions`. To learn more about the `options` argument, see the [TanStack React Query documentation](https://tanstack.com/query/v5/docs/framework/react/guides/mutations#mutation-side-effects). - `UseMutationResult.mutate()` also accepts an `options` argument of type `useDataConnectMutationOptions`. - ***Special case:*** If the Mutation has no arguments (or all optional arguments and you wish to provide none), and you want to pass `options` to `UseMutationResult.mutate()`, you must pass `undefined` where you would normally pass the Mutation's arguments, and then may provide the options argument. Below are examples of how to use the `krow-connector` connector's generated Mutation hook functions to execute each Mutation. You can also follow the examples from the [Data Connect documentation](https://firebase.google.com/docs/data-connect/web-sdk#operations-react-angular). ## CreateVendor You can execute the `CreateVendor` Mutation using the `UseMutationResult` object returned by the following Mutation hook function (which is defined in [dataconnect-generated/react/index.d.ts](./index.d.ts)): ```javascript useCreateVendor(options?: useDataConnectMutationOptions): UseDataConnectMutationResult; ``` You can also pass in a `DataConnect` instance to the Mutation hook function. ```javascript useCreateVendor(dc: DataConnect, options?: useDataConnectMutationOptions): UseDataConnectMutationResult; ``` ### Variables The `CreateVendor` Mutation requires an argument of type `CreateVendorVariables`, which is defined in [dataconnect-generated/index.d.ts](../index.d.ts). It has the following fields: ```javascript export interface CreateVendorVariables { vendorNumber: string; legalName: string; region: VendorRegion; platformType: VendorPlatformType; primaryContactEmail: string; approvalStatus: VendorApprovalStatus; isActive?: boolean | null; } ``` ### Return Type Recall that calling the `CreateVendor` Mutation hook function returns a `UseMutationResult` object. This object holds the state of your Mutation, including whether the Mutation is loading, has completed, or has succeeded/failed, among other things. To check the status of a Mutation, use the `UseMutationResult.status` field. You can also check for pending / success / error status using the `UseMutationResult.isPending`, `UseMutationResult.isSuccess`, and `UseMutationResult.isError` fields. To execute the Mutation, call `UseMutationResult.mutate()`. This function executes the Mutation, but does not return the data from the Mutation. To access the data returned by a Mutation, use the `UseMutationResult.data` field. The data for the `CreateVendor` Mutation is of type `CreateVendorData`, which is defined in [dataconnect-generated/index.d.ts](../index.d.ts). It has the following fields: ```javascript export interface CreateVendorData { vendor_insert: Vendor_Key; } ``` To learn more about the `UseMutationResult` object, see the [TanStack React Query documentation](https://tanstack.com/query/v5/docs/framework/react/reference/useMutation). ### Using `CreateVendor`'s Mutation hook function ```javascript import { getDataConnect } from 'firebase/data-connect'; import { connectorConfig, CreateVendorVariables } from '@dataconnect/generated'; import { useCreateVendor } from '@dataconnect/generated/react' export default function CreateVendorComponent() { // Call the Mutation hook function to get a `UseMutationResult` object which holds the state of your Mutation. const mutation = useCreateVendor(); // You can also pass in a `DataConnect` instance to the Mutation hook function. const dataConnect = getDataConnect(connectorConfig); const mutation = useCreateVendor(dataConnect); // You can also pass in a `useDataConnectMutationOptions` object to the Mutation hook function. const options = { onSuccess: () => { console.log('Mutation succeeded!'); } }; const mutation = useCreateVendor(options); // You can also pass both a `DataConnect` instance and a `useDataConnectMutationOptions` object. const dataConnect = getDataConnect(connectorConfig); const options = { onSuccess: () => { console.log('Mutation succeeded!'); } }; const mutation = useCreateVendor(dataConnect, options); // After calling the Mutation hook function, you must call `UseMutationResult.mutate()` to execute the Mutation. // The `useCreateVendor` Mutation requires an argument of type `CreateVendorVariables`: const createVendorVars: CreateVendorVariables = { vendorNumber: ..., legalName: ..., region: ..., platformType: ..., primaryContactEmail: ..., approvalStatus: ..., isActive: ..., // optional }; mutation.mutate(createVendorVars); // Variables can be defined inline as well. mutation.mutate({ vendorNumber: ..., legalName: ..., region: ..., platformType: ..., primaryContactEmail: ..., approvalStatus: ..., isActive: ..., }); // You can also pass in a `useDataConnectMutationOptions` object to `UseMutationResult.mutate()`. const options = { onSuccess: () => { console.log('Mutation succeeded!'); } }; mutation.mutate(createVendorVars, options); // Then, you can render your component dynamically based on the status of the Mutation. if (mutation.isPending) { return
Loading...
; } if (mutation.isError) { return
Error: {mutation.error.message}
; } // If the Mutation is successful, you can access the data returned using the `UseMutationResult.data` field. if (mutation.isSuccess) { console.log(mutation.data.vendor_insert); } return
Mutation execution {mutation.isSuccess ? 'successful' : 'failed'}!
; } ``` ## UpdateVendor You can execute the `UpdateVendor` Mutation using the `UseMutationResult` object returned by the following Mutation hook function (which is defined in [dataconnect-generated/react/index.d.ts](./index.d.ts)): ```javascript useUpdateVendor(options?: useDataConnectMutationOptions): UseDataConnectMutationResult; ``` You can also pass in a `DataConnect` instance to the Mutation hook function. ```javascript useUpdateVendor(dc: DataConnect, options?: useDataConnectMutationOptions): UseDataConnectMutationResult; ``` ### Variables The `UpdateVendor` Mutation requires an argument of type `UpdateVendorVariables`, which is defined in [dataconnect-generated/index.d.ts](../index.d.ts). It has the following fields: ```javascript export interface UpdateVendorVariables { id: UUIDString; vendorNumber?: string | null; legalName?: string | null; region?: VendorRegion | null; platformType?: VendorPlatformType | null; primaryContactEmail?: string | null; approvalStatus?: VendorApprovalStatus | null; isActive?: boolean | null; } ``` ### Return Type Recall that calling the `UpdateVendor` Mutation hook function returns a `UseMutationResult` object. This object holds the state of your Mutation, including whether the Mutation is loading, has completed, or has succeeded/failed, among other things. To check the status of a Mutation, use the `UseMutationResult.status` field. You can also check for pending / success / error status using the `UseMutationResult.isPending`, `UseMutationResult.isSuccess`, and `UseMutationResult.isError` fields. To execute the Mutation, call `UseMutationResult.mutate()`. This function executes the Mutation, but does not return the data from the Mutation. To access the data returned by a Mutation, use the `UseMutationResult.data` field. The data for the `UpdateVendor` Mutation is of type `UpdateVendorData`, which is defined in [dataconnect-generated/index.d.ts](../index.d.ts). It has the following fields: ```javascript export interface UpdateVendorData { vendor_update?: Vendor_Key | null; } ``` To learn more about the `UseMutationResult` object, see the [TanStack React Query documentation](https://tanstack.com/query/v5/docs/framework/react/reference/useMutation). ### Using `UpdateVendor`'s Mutation hook function ```javascript import { getDataConnect } from 'firebase/data-connect'; import { connectorConfig, UpdateVendorVariables } from '@dataconnect/generated'; import { useUpdateVendor } from '@dataconnect/generated/react' export default function UpdateVendorComponent() { // Call the Mutation hook function to get a `UseMutationResult` object which holds the state of your Mutation. const mutation = useUpdateVendor(); // You can also pass in a `DataConnect` instance to the Mutation hook function. const dataConnect = getDataConnect(connectorConfig); const mutation = useUpdateVendor(dataConnect); // You can also pass in a `useDataConnectMutationOptions` object to the Mutation hook function. const options = { onSuccess: () => { console.log('Mutation succeeded!'); } }; const mutation = useUpdateVendor(options); // You can also pass both a `DataConnect` instance and a `useDataConnectMutationOptions` object. const dataConnect = getDataConnect(connectorConfig); const options = { onSuccess: () => { console.log('Mutation succeeded!'); } }; const mutation = useUpdateVendor(dataConnect, options); // After calling the Mutation hook function, you must call `UseMutationResult.mutate()` to execute the Mutation. // The `useUpdateVendor` Mutation requires an argument of type `UpdateVendorVariables`: const updateVendorVars: UpdateVendorVariables = { id: ..., vendorNumber: ..., // optional legalName: ..., // optional region: ..., // optional platformType: ..., // optional primaryContactEmail: ..., // optional approvalStatus: ..., // optional isActive: ..., // optional }; mutation.mutate(updateVendorVars); // Variables can be defined inline as well. mutation.mutate({ id: ..., vendorNumber: ..., legalName: ..., region: ..., platformType: ..., primaryContactEmail: ..., approvalStatus: ..., isActive: ..., }); // You can also pass in a `useDataConnectMutationOptions` object to `UseMutationResult.mutate()`. const options = { onSuccess: () => { console.log('Mutation succeeded!'); } }; mutation.mutate(updateVendorVars, options); // Then, you can render your component dynamically based on the status of the Mutation. if (mutation.isPending) { return
Loading...
; } if (mutation.isError) { return
Error: {mutation.error.message}
; } // If the Mutation is successful, you can access the data returned using the `UseMutationResult.data` field. if (mutation.isSuccess) { console.log(mutation.data.vendor_update); } return
Mutation execution {mutation.isSuccess ? 'successful' : 'failed'}!
; } ``` ## DeleteVendor You can execute the `DeleteVendor` Mutation using the `UseMutationResult` object returned by the following Mutation hook function (which is defined in [dataconnect-generated/react/index.d.ts](./index.d.ts)): ```javascript useDeleteVendor(options?: useDataConnectMutationOptions): UseDataConnectMutationResult; ``` You can also pass in a `DataConnect` instance to the Mutation hook function. ```javascript useDeleteVendor(dc: DataConnect, options?: useDataConnectMutationOptions): UseDataConnectMutationResult; ``` ### Variables The `DeleteVendor` Mutation requires an argument of type `DeleteVendorVariables`, which is defined in [dataconnect-generated/index.d.ts](../index.d.ts). It has the following fields: ```javascript export interface DeleteVendorVariables { id: UUIDString; } ``` ### Return Type Recall that calling the `DeleteVendor` Mutation hook function returns a `UseMutationResult` object. This object holds the state of your Mutation, including whether the Mutation is loading, has completed, or has succeeded/failed, among other things. To check the status of a Mutation, use the `UseMutationResult.status` field. You can also check for pending / success / error status using the `UseMutationResult.isPending`, `UseMutationResult.isSuccess`, and `UseMutationResult.isError` fields. To execute the Mutation, call `UseMutationResult.mutate()`. This function executes the Mutation, but does not return the data from the Mutation. To access the data returned by a Mutation, use the `UseMutationResult.data` field. The data for the `DeleteVendor` Mutation is of type `DeleteVendorData`, which is defined in [dataconnect-generated/index.d.ts](../index.d.ts). It has the following fields: ```javascript export interface DeleteVendorData { vendor_delete?: Vendor_Key | null; } ``` To learn more about the `UseMutationResult` object, see the [TanStack React Query documentation](https://tanstack.com/query/v5/docs/framework/react/reference/useMutation). ### Using `DeleteVendor`'s Mutation hook function ```javascript import { getDataConnect } from 'firebase/data-connect'; import { connectorConfig, DeleteVendorVariables } from '@dataconnect/generated'; import { useDeleteVendor } from '@dataconnect/generated/react' export default function DeleteVendorComponent() { // Call the Mutation hook function to get a `UseMutationResult` object which holds the state of your Mutation. const mutation = useDeleteVendor(); // You can also pass in a `DataConnect` instance to the Mutation hook function. const dataConnect = getDataConnect(connectorConfig); const mutation = useDeleteVendor(dataConnect); // You can also pass in a `useDataConnectMutationOptions` object to the Mutation hook function. const options = { onSuccess: () => { console.log('Mutation succeeded!'); } }; const mutation = useDeleteVendor(options); // You can also pass both a `DataConnect` instance and a `useDataConnectMutationOptions` object. const dataConnect = getDataConnect(connectorConfig); const options = { onSuccess: () => { console.log('Mutation succeeded!'); } }; const mutation = useDeleteVendor(dataConnect, options); // After calling the Mutation hook function, you must call `UseMutationResult.mutate()` to execute the Mutation. // The `useDeleteVendor` Mutation requires an argument of type `DeleteVendorVariables`: const deleteVendorVars: DeleteVendorVariables = { id: ..., }; mutation.mutate(deleteVendorVars); // Variables can be defined inline as well. mutation.mutate({ id: ..., }); // You can also pass in a `useDataConnectMutationOptions` object to `UseMutationResult.mutate()`. const options = { onSuccess: () => { console.log('Mutation succeeded!'); } }; mutation.mutate(deleteVendorVars, options); // Then, you can render your component dynamically based on the status of the Mutation. if (mutation.isPending) { return
Loading...
; } if (mutation.isError) { return
Error: {mutation.error.message}
; } // If the Mutation is successful, you can access the data returned using the `UseMutationResult.data` field. if (mutation.isSuccess) { console.log(mutation.data.vendor_delete); } return
Mutation execution {mutation.isSuccess ? 'successful' : 'failed'}!
; } ``` ## CreateVendorRate You can execute the `CreateVendorRate` Mutation using the `UseMutationResult` object returned by the following Mutation hook function (which is defined in [dataconnect-generated/react/index.d.ts](./index.d.ts)): ```javascript useCreateVendorRate(options?: useDataConnectMutationOptions): UseDataConnectMutationResult; ``` You can also pass in a `DataConnect` instance to the Mutation hook function. ```javascript useCreateVendorRate(dc: DataConnect, options?: useDataConnectMutationOptions): UseDataConnectMutationResult; ``` ### Variables The `CreateVendorRate` Mutation requires an argument of type `CreateVendorRateVariables`, which is defined in [dataconnect-generated/index.d.ts](../index.d.ts). It has the following fields: ```javascript export interface CreateVendorRateVariables { vendorName: string; category: VendorRateCategory; roleName: string; employeeWage: number; markupPercentage?: number | null; vendorFeePercentage?: number | null; clientRate: number; } ``` ### Return Type Recall that calling the `CreateVendorRate` Mutation hook function returns a `UseMutationResult` object. This object holds the state of your Mutation, including whether the Mutation is loading, has completed, or has succeeded/failed, among other things. To check the status of a Mutation, use the `UseMutationResult.status` field. You can also check for pending / success / error status using the `UseMutationResult.isPending`, `UseMutationResult.isSuccess`, and `UseMutationResult.isError` fields. To execute the Mutation, call `UseMutationResult.mutate()`. This function executes the Mutation, but does not return the data from the Mutation. To access the data returned by a Mutation, use the `UseMutationResult.data` field. The data for the `CreateVendorRate` Mutation is of type `CreateVendorRateData`, which is defined in [dataconnect-generated/index.d.ts](../index.d.ts). It has the following fields: ```javascript export interface CreateVendorRateData { vendorRate_insert: VendorRate_Key; } ``` To learn more about the `UseMutationResult` object, see the [TanStack React Query documentation](https://tanstack.com/query/v5/docs/framework/react/reference/useMutation). ### Using `CreateVendorRate`'s Mutation hook function ```javascript import { getDataConnect } from 'firebase/data-connect'; import { connectorConfig, CreateVendorRateVariables } from '@dataconnect/generated'; import { useCreateVendorRate } from '@dataconnect/generated/react' export default function CreateVendorRateComponent() { // Call the Mutation hook function to get a `UseMutationResult` object which holds the state of your Mutation. const mutation = useCreateVendorRate(); // You can also pass in a `DataConnect` instance to the Mutation hook function. const dataConnect = getDataConnect(connectorConfig); const mutation = useCreateVendorRate(dataConnect); // You can also pass in a `useDataConnectMutationOptions` object to the Mutation hook function. const options = { onSuccess: () => { console.log('Mutation succeeded!'); } }; const mutation = useCreateVendorRate(options); // You can also pass both a `DataConnect` instance and a `useDataConnectMutationOptions` object. const dataConnect = getDataConnect(connectorConfig); const options = { onSuccess: () => { console.log('Mutation succeeded!'); } }; const mutation = useCreateVendorRate(dataConnect, options); // After calling the Mutation hook function, you must call `UseMutationResult.mutate()` to execute the Mutation. // The `useCreateVendorRate` Mutation requires an argument of type `CreateVendorRateVariables`: const createVendorRateVars: CreateVendorRateVariables = { vendorName: ..., category: ..., roleName: ..., employeeWage: ..., markupPercentage: ..., // optional vendorFeePercentage: ..., // optional clientRate: ..., }; mutation.mutate(createVendorRateVars); // Variables can be defined inline as well. mutation.mutate({ vendorName: ..., category: ..., roleName: ..., employeeWage: ..., markupPercentage: ..., vendorFeePercentage: ..., clientRate: ..., }); // You can also pass in a `useDataConnectMutationOptions` object to `UseMutationResult.mutate()`. const options = { onSuccess: () => { console.log('Mutation succeeded!'); } }; mutation.mutate(createVendorRateVars, options); // Then, you can render your component dynamically based on the status of the Mutation. if (mutation.isPending) { return
Loading...
; } if (mutation.isError) { return
Error: {mutation.error.message}
; } // If the Mutation is successful, you can access the data returned using the `UseMutationResult.data` field. if (mutation.isSuccess) { console.log(mutation.data.vendorRate_insert); } return
Mutation execution {mutation.isSuccess ? 'successful' : 'failed'}!
; } ``` ## UpdateVendorRate You can execute the `UpdateVendorRate` Mutation using the `UseMutationResult` object returned by the following Mutation hook function (which is defined in [dataconnect-generated/react/index.d.ts](./index.d.ts)): ```javascript useUpdateVendorRate(options?: useDataConnectMutationOptions): UseDataConnectMutationResult; ``` You can also pass in a `DataConnect` instance to the Mutation hook function. ```javascript useUpdateVendorRate(dc: DataConnect, options?: useDataConnectMutationOptions): UseDataConnectMutationResult; ``` ### Variables The `UpdateVendorRate` Mutation requires an argument of type `UpdateVendorRateVariables`, which is defined in [dataconnect-generated/index.d.ts](../index.d.ts). It has the following fields: ```javascript export interface UpdateVendorRateVariables { id: UUIDString; vendorName?: string | null; category?: VendorRateCategory | null; roleName?: string | null; employeeWage?: number | null; markupPercentage?: number | null; vendorFeePercentage?: number | null; clientRate?: number | null; } ``` ### Return Type Recall that calling the `UpdateVendorRate` Mutation hook function returns a `UseMutationResult` object. This object holds the state of your Mutation, including whether the Mutation is loading, has completed, or has succeeded/failed, among other things. To check the status of a Mutation, use the `UseMutationResult.status` field. You can also check for pending / success / error status using the `UseMutationResult.isPending`, `UseMutationResult.isSuccess`, and `UseMutationResult.isError` fields. To execute the Mutation, call `UseMutationResult.mutate()`. This function executes the Mutation, but does not return the data from the Mutation. To access the data returned by a Mutation, use the `UseMutationResult.data` field. The data for the `UpdateVendorRate` Mutation is of type `UpdateVendorRateData`, which is defined in [dataconnect-generated/index.d.ts](../index.d.ts). It has the following fields: ```javascript export interface UpdateVendorRateData { vendorRate_update?: VendorRate_Key | null; } ``` To learn more about the `UseMutationResult` object, see the [TanStack React Query documentation](https://tanstack.com/query/v5/docs/framework/react/reference/useMutation). ### Using `UpdateVendorRate`'s Mutation hook function ```javascript import { getDataConnect } from 'firebase/data-connect'; import { connectorConfig, UpdateVendorRateVariables } from '@dataconnect/generated'; import { useUpdateVendorRate } from '@dataconnect/generated/react' export default function UpdateVendorRateComponent() { // Call the Mutation hook function to get a `UseMutationResult` object which holds the state of your Mutation. const mutation = useUpdateVendorRate(); // You can also pass in a `DataConnect` instance to the Mutation hook function. const dataConnect = getDataConnect(connectorConfig); const mutation = useUpdateVendorRate(dataConnect); // You can also pass in a `useDataConnectMutationOptions` object to the Mutation hook function. const options = { onSuccess: () => { console.log('Mutation succeeded!'); } }; const mutation = useUpdateVendorRate(options); // You can also pass both a `DataConnect` instance and a `useDataConnectMutationOptions` object. const dataConnect = getDataConnect(connectorConfig); const options = { onSuccess: () => { console.log('Mutation succeeded!'); } }; const mutation = useUpdateVendorRate(dataConnect, options); // After calling the Mutation hook function, you must call `UseMutationResult.mutate()` to execute the Mutation. // The `useUpdateVendorRate` Mutation requires an argument of type `UpdateVendorRateVariables`: const updateVendorRateVars: UpdateVendorRateVariables = { id: ..., vendorName: ..., // optional category: ..., // optional roleName: ..., // optional employeeWage: ..., // optional markupPercentage: ..., // optional vendorFeePercentage: ..., // optional clientRate: ..., // optional }; mutation.mutate(updateVendorRateVars); // Variables can be defined inline as well. mutation.mutate({ id: ..., vendorName: ..., category: ..., roleName: ..., employeeWage: ..., markupPercentage: ..., vendorFeePercentage: ..., clientRate: ..., }); // You can also pass in a `useDataConnectMutationOptions` object to `UseMutationResult.mutate()`. const options = { onSuccess: () => { console.log('Mutation succeeded!'); } }; mutation.mutate(updateVendorRateVars, options); // Then, you can render your component dynamically based on the status of the Mutation. if (mutation.isPending) { return
Loading...
; } if (mutation.isError) { return
Error: {mutation.error.message}
; } // If the Mutation is successful, you can access the data returned using the `UseMutationResult.data` field. if (mutation.isSuccess) { console.log(mutation.data.vendorRate_update); } return
Mutation execution {mutation.isSuccess ? 'successful' : 'failed'}!
; } ``` ## DeleteVendorRate You can execute the `DeleteVendorRate` Mutation using the `UseMutationResult` object returned by the following Mutation hook function (which is defined in [dataconnect-generated/react/index.d.ts](./index.d.ts)): ```javascript useDeleteVendorRate(options?: useDataConnectMutationOptions): UseDataConnectMutationResult; ``` You can also pass in a `DataConnect` instance to the Mutation hook function. ```javascript useDeleteVendorRate(dc: DataConnect, options?: useDataConnectMutationOptions): UseDataConnectMutationResult; ``` ### Variables The `DeleteVendorRate` Mutation requires an argument of type `DeleteVendorRateVariables`, which is defined in [dataconnect-generated/index.d.ts](../index.d.ts). It has the following fields: ```javascript export interface DeleteVendorRateVariables { id: UUIDString; } ``` ### Return Type Recall that calling the `DeleteVendorRate` Mutation hook function returns a `UseMutationResult` object. This object holds the state of your Mutation, including whether the Mutation is loading, has completed, or has succeeded/failed, among other things. To check the status of a Mutation, use the `UseMutationResult.status` field. You can also check for pending / success / error status using the `UseMutationResult.isPending`, `UseMutationResult.isSuccess`, and `UseMutationResult.isError` fields. To execute the Mutation, call `UseMutationResult.mutate()`. This function executes the Mutation, but does not return the data from the Mutation. To access the data returned by a Mutation, use the `UseMutationResult.data` field. The data for the `DeleteVendorRate` Mutation is of type `DeleteVendorRateData`, which is defined in [dataconnect-generated/index.d.ts](../index.d.ts). It has the following fields: ```javascript export interface DeleteVendorRateData { vendorRate_delete?: VendorRate_Key | null; } ``` To learn more about the `UseMutationResult` object, see the [TanStack React Query documentation](https://tanstack.com/query/v5/docs/framework/react/reference/useMutation). ### Using `DeleteVendorRate`'s Mutation hook function ```javascript import { getDataConnect } from 'firebase/data-connect'; import { connectorConfig, DeleteVendorRateVariables } from '@dataconnect/generated'; import { useDeleteVendorRate } from '@dataconnect/generated/react' export default function DeleteVendorRateComponent() { // Call the Mutation hook function to get a `UseMutationResult` object which holds the state of your Mutation. const mutation = useDeleteVendorRate(); // You can also pass in a `DataConnect` instance to the Mutation hook function. const dataConnect = getDataConnect(connectorConfig); const mutation = useDeleteVendorRate(dataConnect); // You can also pass in a `useDataConnectMutationOptions` object to the Mutation hook function. const options = { onSuccess: () => { console.log('Mutation succeeded!'); } }; const mutation = useDeleteVendorRate(options); // You can also pass both a `DataConnect` instance and a `useDataConnectMutationOptions` object. const dataConnect = getDataConnect(connectorConfig); const options = { onSuccess: () => { console.log('Mutation succeeded!'); } }; const mutation = useDeleteVendorRate(dataConnect, options); // After calling the Mutation hook function, you must call `UseMutationResult.mutate()` to execute the Mutation. // The `useDeleteVendorRate` Mutation requires an argument of type `DeleteVendorRateVariables`: const deleteVendorRateVars: DeleteVendorRateVariables = { id: ..., }; mutation.mutate(deleteVendorRateVars); // Variables can be defined inline as well. mutation.mutate({ id: ..., }); // You can also pass in a `useDataConnectMutationOptions` object to `UseMutationResult.mutate()`. const options = { onSuccess: () => { console.log('Mutation succeeded!'); } }; mutation.mutate(deleteVendorRateVars, options); // Then, you can render your component dynamically based on the status of the Mutation. if (mutation.isPending) { return
Loading...
; } if (mutation.isError) { return
Error: {mutation.error.message}
; } // If the Mutation is successful, you can access the data returned using the `UseMutationResult.data` field. if (mutation.isSuccess) { console.log(mutation.data.vendorRate_delete); } return
Mutation execution {mutation.isSuccess ? 'successful' : 'failed'}!
; } ``` ## CreateEvent You can execute the `CreateEvent` Mutation using the `UseMutationResult` object returned by the following Mutation hook function (which is defined in [dataconnect-generated/react/index.d.ts](./index.d.ts)): ```javascript useCreateEvent(options?: useDataConnectMutationOptions): UseDataConnectMutationResult; ``` You can also pass in a `DataConnect` instance to the Mutation hook function. ```javascript useCreateEvent(dc: DataConnect, options?: useDataConnectMutationOptions): UseDataConnectMutationResult; ``` ### Variables The `CreateEvent` Mutation requires an argument of type `CreateEventVariables`, which is defined in [dataconnect-generated/index.d.ts](../index.d.ts). It has the following fields: ```javascript export interface CreateEventVariables { eventName: string; isRapid?: boolean | null; isRecurring?: boolean | null; isMultiDay?: boolean | null; recurrenceType?: RecurrenceType | null; recurrenceStartDate?: TimestampString | null; recurrenceEndDate?: TimestampString | null; scatterDates?: string | null; multiDayStartDate?: TimestampString | null; multiDayEndDate?: TimestampString | null; bufferTimeBefore?: number | null; bufferTimeAfter?: number | null; conflictDetectionEnabled?: boolean | null; detectedConflicts?: string | null; businessId: UUIDString; businessName?: string | null; vendorId?: UUIDString | null; vendorName?: string | null; hub?: string | null; eventLocation?: string | null; contractType?: ContractType | null; poReference?: string | null; status: EventStatus; date: TimestampString; shifts?: string | null; addons?: string | null; total?: number | null; clientName?: string | null; clientEmail?: string | null; clientPhone?: string | null; invoiceId?: UUIDString | null; notes?: string | null; requested?: number | null; assignedStaff?: string | null; } ``` ### Return Type Recall that calling the `CreateEvent` Mutation hook function returns a `UseMutationResult` object. This object holds the state of your Mutation, including whether the Mutation is loading, has completed, or has succeeded/failed, among other things. To check the status of a Mutation, use the `UseMutationResult.status` field. You can also check for pending / success / error status using the `UseMutationResult.isPending`, `UseMutationResult.isSuccess`, and `UseMutationResult.isError` fields. To execute the Mutation, call `UseMutationResult.mutate()`. This function executes the Mutation, but does not return the data from the Mutation. To access the data returned by a Mutation, use the `UseMutationResult.data` field. The data for the `CreateEvent` Mutation is of type `CreateEventData`, which is defined in [dataconnect-generated/index.d.ts](../index.d.ts). It has the following fields: ```javascript export interface CreateEventData { event_insert: Event_Key; } ``` To learn more about the `UseMutationResult` object, see the [TanStack React Query documentation](https://tanstack.com/query/v5/docs/framework/react/reference/useMutation). ### Using `CreateEvent`'s Mutation hook function ```javascript import { getDataConnect } from 'firebase/data-connect'; import { connectorConfig, CreateEventVariables } from '@dataconnect/generated'; import { useCreateEvent } from '@dataconnect/generated/react' export default function CreateEventComponent() { // Call the Mutation hook function to get a `UseMutationResult` object which holds the state of your Mutation. const mutation = useCreateEvent(); // You can also pass in a `DataConnect` instance to the Mutation hook function. const dataConnect = getDataConnect(connectorConfig); const mutation = useCreateEvent(dataConnect); // You can also pass in a `useDataConnectMutationOptions` object to the Mutation hook function. const options = { onSuccess: () => { console.log('Mutation succeeded!'); } }; const mutation = useCreateEvent(options); // You can also pass both a `DataConnect` instance and a `useDataConnectMutationOptions` object. const dataConnect = getDataConnect(connectorConfig); const options = { onSuccess: () => { console.log('Mutation succeeded!'); } }; const mutation = useCreateEvent(dataConnect, options); // After calling the Mutation hook function, you must call `UseMutationResult.mutate()` to execute the Mutation. // The `useCreateEvent` Mutation requires an argument of type `CreateEventVariables`: const createEventVars: CreateEventVariables = { eventName: ..., isRapid: ..., // optional isRecurring: ..., // optional isMultiDay: ..., // optional recurrenceType: ..., // optional recurrenceStartDate: ..., // optional recurrenceEndDate: ..., // optional scatterDates: ..., // optional multiDayStartDate: ..., // optional multiDayEndDate: ..., // optional bufferTimeBefore: ..., // optional bufferTimeAfter: ..., // optional conflictDetectionEnabled: ..., // optional detectedConflicts: ..., // optional businessId: ..., businessName: ..., // optional vendorId: ..., // optional vendorName: ..., // optional hub: ..., // optional eventLocation: ..., // optional contractType: ..., // optional poReference: ..., // optional status: ..., date: ..., shifts: ..., // optional addons: ..., // optional total: ..., // optional clientName: ..., // optional clientEmail: ..., // optional clientPhone: ..., // optional invoiceId: ..., // optional notes: ..., // optional requested: ..., // optional assignedStaff: ..., // optional }; mutation.mutate(createEventVars); // Variables can be defined inline as well. mutation.mutate({ eventName: ..., isRapid: ..., isRecurring: ..., isMultiDay: ..., recurrenceType: ..., recurrenceStartDate: ..., recurrenceEndDate: ..., scatterDates: ..., multiDayStartDate: ..., multiDayEndDate: ..., bufferTimeBefore: ..., bufferTimeAfter: ..., conflictDetectionEnabled: ..., detectedConflicts: ..., businessId: ..., businessName: ..., vendorId: ..., vendorName: ..., hub: ..., eventLocation: ..., contractType: ..., poReference: ..., status: ..., date: ..., shifts: ..., addons: ..., total: ..., clientName: ..., clientEmail: ..., clientPhone: ..., invoiceId: ..., notes: ..., requested: ..., assignedStaff: ..., }); // You can also pass in a `useDataConnectMutationOptions` object to `UseMutationResult.mutate()`. const options = { onSuccess: () => { console.log('Mutation succeeded!'); } }; mutation.mutate(createEventVars, options); // Then, you can render your component dynamically based on the status of the Mutation. if (mutation.isPending) { return
Loading...
; } if (mutation.isError) { return
Error: {mutation.error.message}
; } // If the Mutation is successful, you can access the data returned using the `UseMutationResult.data` field. if (mutation.isSuccess) { console.log(mutation.data.event_insert); } return
Mutation execution {mutation.isSuccess ? 'successful' : 'failed'}!
; } ``` ## UpdateEvent You can execute the `UpdateEvent` Mutation using the `UseMutationResult` object returned by the following Mutation hook function (which is defined in [dataconnect-generated/react/index.d.ts](./index.d.ts)): ```javascript useUpdateEvent(options?: useDataConnectMutationOptions): UseDataConnectMutationResult; ``` You can also pass in a `DataConnect` instance to the Mutation hook function. ```javascript useUpdateEvent(dc: DataConnect, options?: useDataConnectMutationOptions): UseDataConnectMutationResult; ``` ### Variables The `UpdateEvent` Mutation requires an argument of type `UpdateEventVariables`, which is defined in [dataconnect-generated/index.d.ts](../index.d.ts). It has the following fields: ```javascript export interface UpdateEventVariables { id: UUIDString; eventName?: string | null; isRapid?: boolean | null; isRecurring?: boolean | null; isMultiDay?: boolean | null; recurrenceType?: RecurrenceType | null; recurrenceStartDate?: TimestampString | null; recurrenceEndDate?: TimestampString | null; scatterDates?: string | null; multiDayStartDate?: TimestampString | null; multiDayEndDate?: TimestampString | null; bufferTimeBefore?: number | null; bufferTimeAfter?: number | null; conflictDetectionEnabled?: boolean | null; detectedConflicts?: string | null; businessId?: UUIDString | null; businessName?: string | null; vendorId?: UUIDString | null; vendorName?: string | null; hub?: string | null; eventLocation?: string | null; contractType?: ContractType | null; poReference?: string | null; status?: EventStatus | null; date?: TimestampString | null; shifts?: string | null; addons?: string | null; total?: number | null; clientName?: string | null; clientEmail?: string | null; clientPhone?: string | null; invoiceId?: UUIDString | null; notes?: string | null; requested?: number | null; assignedStaff?: string | null; } ``` ### Return Type Recall that calling the `UpdateEvent` Mutation hook function returns a `UseMutationResult` object. This object holds the state of your Mutation, including whether the Mutation is loading, has completed, or has succeeded/failed, among other things. To check the status of a Mutation, use the `UseMutationResult.status` field. You can also check for pending / success / error status using the `UseMutationResult.isPending`, `UseMutationResult.isSuccess`, and `UseMutationResult.isError` fields. To execute the Mutation, call `UseMutationResult.mutate()`. This function executes the Mutation, but does not return the data from the Mutation. To access the data returned by a Mutation, use the `UseMutationResult.data` field. The data for the `UpdateEvent` Mutation is of type `UpdateEventData`, which is defined in [dataconnect-generated/index.d.ts](../index.d.ts). It has the following fields: ```javascript export interface UpdateEventData { event_update?: Event_Key | null; } ``` To learn more about the `UseMutationResult` object, see the [TanStack React Query documentation](https://tanstack.com/query/v5/docs/framework/react/reference/useMutation). ### Using `UpdateEvent`'s Mutation hook function ```javascript import { getDataConnect } from 'firebase/data-connect'; import { connectorConfig, UpdateEventVariables } from '@dataconnect/generated'; import { useUpdateEvent } from '@dataconnect/generated/react' export default function UpdateEventComponent() { // Call the Mutation hook function to get a `UseMutationResult` object which holds the state of your Mutation. const mutation = useUpdateEvent(); // You can also pass in a `DataConnect` instance to the Mutation hook function. const dataConnect = getDataConnect(connectorConfig); const mutation = useUpdateEvent(dataConnect); // You can also pass in a `useDataConnectMutationOptions` object to the Mutation hook function. const options = { onSuccess: () => { console.log('Mutation succeeded!'); } }; const mutation = useUpdateEvent(options); // You can also pass both a `DataConnect` instance and a `useDataConnectMutationOptions` object. const dataConnect = getDataConnect(connectorConfig); const options = { onSuccess: () => { console.log('Mutation succeeded!'); } }; const mutation = useUpdateEvent(dataConnect, options); // After calling the Mutation hook function, you must call `UseMutationResult.mutate()` to execute the Mutation. // The `useUpdateEvent` Mutation requires an argument of type `UpdateEventVariables`: const updateEventVars: UpdateEventVariables = { id: ..., eventName: ..., // optional isRapid: ..., // optional isRecurring: ..., // optional isMultiDay: ..., // optional recurrenceType: ..., // optional recurrenceStartDate: ..., // optional recurrenceEndDate: ..., // optional scatterDates: ..., // optional multiDayStartDate: ..., // optional multiDayEndDate: ..., // optional bufferTimeBefore: ..., // optional bufferTimeAfter: ..., // optional conflictDetectionEnabled: ..., // optional detectedConflicts: ..., // optional businessId: ..., // optional businessName: ..., // optional vendorId: ..., // optional vendorName: ..., // optional hub: ..., // optional eventLocation: ..., // optional contractType: ..., // optional poReference: ..., // optional status: ..., // optional date: ..., // optional shifts: ..., // optional addons: ..., // optional total: ..., // optional clientName: ..., // optional clientEmail: ..., // optional clientPhone: ..., // optional invoiceId: ..., // optional notes: ..., // optional requested: ..., // optional assignedStaff: ..., // optional }; mutation.mutate(updateEventVars); // Variables can be defined inline as well. mutation.mutate({ id: ..., eventName: ..., isRapid: ..., isRecurring: ..., isMultiDay: ..., recurrenceType: ..., recurrenceStartDate: ..., recurrenceEndDate: ..., scatterDates: ..., multiDayStartDate: ..., multiDayEndDate: ..., bufferTimeBefore: ..., bufferTimeAfter: ..., conflictDetectionEnabled: ..., detectedConflicts: ..., businessId: ..., businessName: ..., vendorId: ..., vendorName: ..., hub: ..., eventLocation: ..., contractType: ..., poReference: ..., status: ..., date: ..., shifts: ..., addons: ..., total: ..., clientName: ..., clientEmail: ..., clientPhone: ..., invoiceId: ..., notes: ..., requested: ..., assignedStaff: ..., }); // You can also pass in a `useDataConnectMutationOptions` object to `UseMutationResult.mutate()`. const options = { onSuccess: () => { console.log('Mutation succeeded!'); } }; mutation.mutate(updateEventVars, options); // Then, you can render your component dynamically based on the status of the Mutation. if (mutation.isPending) { return
Loading...
; } if (mutation.isError) { return
Error: {mutation.error.message}
; } // If the Mutation is successful, you can access the data returned using the `UseMutationResult.data` field. if (mutation.isSuccess) { console.log(mutation.data.event_update); } return
Mutation execution {mutation.isSuccess ? 'successful' : 'failed'}!
; } ``` ## DeleteEvent You can execute the `DeleteEvent` Mutation using the `UseMutationResult` object returned by the following Mutation hook function (which is defined in [dataconnect-generated/react/index.d.ts](./index.d.ts)): ```javascript useDeleteEvent(options?: useDataConnectMutationOptions): UseDataConnectMutationResult; ``` You can also pass in a `DataConnect` instance to the Mutation hook function. ```javascript useDeleteEvent(dc: DataConnect, options?: useDataConnectMutationOptions): UseDataConnectMutationResult; ``` ### Variables The `DeleteEvent` Mutation requires an argument of type `DeleteEventVariables`, which is defined in [dataconnect-generated/index.d.ts](../index.d.ts). It has the following fields: ```javascript export interface DeleteEventVariables { id: UUIDString; } ``` ### Return Type Recall that calling the `DeleteEvent` Mutation hook function returns a `UseMutationResult` object. This object holds the state of your Mutation, including whether the Mutation is loading, has completed, or has succeeded/failed, among other things. To check the status of a Mutation, use the `UseMutationResult.status` field. You can also check for pending / success / error status using the `UseMutationResult.isPending`, `UseMutationResult.isSuccess`, and `UseMutationResult.isError` fields. To execute the Mutation, call `UseMutationResult.mutate()`. This function executes the Mutation, but does not return the data from the Mutation. To access the data returned by a Mutation, use the `UseMutationResult.data` field. The data for the `DeleteEvent` Mutation is of type `DeleteEventData`, which is defined in [dataconnect-generated/index.d.ts](../index.d.ts). It has the following fields: ```javascript export interface DeleteEventData { event_delete?: Event_Key | null; } ``` To learn more about the `UseMutationResult` object, see the [TanStack React Query documentation](https://tanstack.com/query/v5/docs/framework/react/reference/useMutation). ### Using `DeleteEvent`'s Mutation hook function ```javascript import { getDataConnect } from 'firebase/data-connect'; import { connectorConfig, DeleteEventVariables } from '@dataconnect/generated'; import { useDeleteEvent } from '@dataconnect/generated/react' export default function DeleteEventComponent() { // Call the Mutation hook function to get a `UseMutationResult` object which holds the state of your Mutation. const mutation = useDeleteEvent(); // You can also pass in a `DataConnect` instance to the Mutation hook function. const dataConnect = getDataConnect(connectorConfig); const mutation = useDeleteEvent(dataConnect); // You can also pass in a `useDataConnectMutationOptions` object to the Mutation hook function. const options = { onSuccess: () => { console.log('Mutation succeeded!'); } }; const mutation = useDeleteEvent(options); // You can also pass both a `DataConnect` instance and a `useDataConnectMutationOptions` object. const dataConnect = getDataConnect(connectorConfig); const options = { onSuccess: () => { console.log('Mutation succeeded!'); } }; const mutation = useDeleteEvent(dataConnect, options); // After calling the Mutation hook function, you must call `UseMutationResult.mutate()` to execute the Mutation. // The `useDeleteEvent` Mutation requires an argument of type `DeleteEventVariables`: const deleteEventVars: DeleteEventVariables = { id: ..., }; mutation.mutate(deleteEventVars); // Variables can be defined inline as well. mutation.mutate({ id: ..., }); // You can also pass in a `useDataConnectMutationOptions` object to `UseMutationResult.mutate()`. const options = { onSuccess: () => { console.log('Mutation succeeded!'); } }; mutation.mutate(deleteEventVars, options); // Then, you can render your component dynamically based on the status of the Mutation. if (mutation.isPending) { return
Loading...
; } if (mutation.isError) { return
Error: {mutation.error.message}
; } // If the Mutation is successful, you can access the data returned using the `UseMutationResult.data` field. if (mutation.isSuccess) { console.log(mutation.data.event_delete); } return
Mutation execution {mutation.isSuccess ? 'successful' : 'failed'}!
; } ``` ## CreateStaff You can execute the `CreateStaff` Mutation using the `UseMutationResult` object returned by the following Mutation hook function (which is defined in [dataconnect-generated/react/index.d.ts](./index.d.ts)): ```javascript useCreateStaff(options?: useDataConnectMutationOptions): UseDataConnectMutationResult; ``` You can also pass in a `DataConnect` instance to the Mutation hook function. ```javascript useCreateStaff(dc: DataConnect, options?: useDataConnectMutationOptions): UseDataConnectMutationResult; ``` ### Variables The `CreateStaff` Mutation requires an argument of type `CreateStaffVariables`, which is defined in [dataconnect-generated/index.d.ts](../index.d.ts). It has the following fields: ```javascript export interface CreateStaffVariables { employeeName: string; vendorId?: UUIDString | null; email?: string | null; position?: string | null; employmentType: EmploymentType; rating?: number | null; reliabilityScore?: number | null; backgroundCheckStatus: BackgroundCheckStatus; certifications?: string | null; } ``` ### Return Type Recall that calling the `CreateStaff` Mutation hook function returns a `UseMutationResult` object. This object holds the state of your Mutation, including whether the Mutation is loading, has completed, or has succeeded/failed, among other things. To check the status of a Mutation, use the `UseMutationResult.status` field. You can also check for pending / success / error status using the `UseMutationResult.isPending`, `UseMutationResult.isSuccess`, and `UseMutationResult.isError` fields. To execute the Mutation, call `UseMutationResult.mutate()`. This function executes the Mutation, but does not return the data from the Mutation. To access the data returned by a Mutation, use the `UseMutationResult.data` field. The data for the `CreateStaff` Mutation is of type `CreateStaffData`, which is defined in [dataconnect-generated/index.d.ts](../index.d.ts). It has the following fields: ```javascript export interface CreateStaffData { staff_insert: Staff_Key; } ``` To learn more about the `UseMutationResult` object, see the [TanStack React Query documentation](https://tanstack.com/query/v5/docs/framework/react/reference/useMutation). ### Using `CreateStaff`'s Mutation hook function ```javascript import { getDataConnect } from 'firebase/data-connect'; import { connectorConfig, CreateStaffVariables } from '@dataconnect/generated'; import { useCreateStaff } from '@dataconnect/generated/react' export default function CreateStaffComponent() { // Call the Mutation hook function to get a `UseMutationResult` object which holds the state of your Mutation. const mutation = useCreateStaff(); // You can also pass in a `DataConnect` instance to the Mutation hook function. const dataConnect = getDataConnect(connectorConfig); const mutation = useCreateStaff(dataConnect); // You can also pass in a `useDataConnectMutationOptions` object to the Mutation hook function. const options = { onSuccess: () => { console.log('Mutation succeeded!'); } }; const mutation = useCreateStaff(options); // You can also pass both a `DataConnect` instance and a `useDataConnectMutationOptions` object. const dataConnect = getDataConnect(connectorConfig); const options = { onSuccess: () => { console.log('Mutation succeeded!'); } }; const mutation = useCreateStaff(dataConnect, options); // After calling the Mutation hook function, you must call `UseMutationResult.mutate()` to execute the Mutation. // The `useCreateStaff` Mutation requires an argument of type `CreateStaffVariables`: const createStaffVars: CreateStaffVariables = { employeeName: ..., vendorId: ..., // optional email: ..., // optional position: ..., // optional employmentType: ..., rating: ..., // optional reliabilityScore: ..., // optional backgroundCheckStatus: ..., certifications: ..., // optional }; mutation.mutate(createStaffVars); // Variables can be defined inline as well. mutation.mutate({ employeeName: ..., vendorId: ..., email: ..., position: ..., employmentType: ..., rating: ..., reliabilityScore: ..., backgroundCheckStatus: ..., certifications: ..., }); // You can also pass in a `useDataConnectMutationOptions` object to `UseMutationResult.mutate()`. const options = { onSuccess: () => { console.log('Mutation succeeded!'); } }; mutation.mutate(createStaffVars, options); // Then, you can render your component dynamically based on the status of the Mutation. if (mutation.isPending) { return
Loading...
; } if (mutation.isError) { return
Error: {mutation.error.message}
; } // If the Mutation is successful, you can access the data returned using the `UseMutationResult.data` field. if (mutation.isSuccess) { console.log(mutation.data.staff_insert); } return
Mutation execution {mutation.isSuccess ? 'successful' : 'failed'}!
; } ``` ## CreateVendorDefaultSetting You can execute the `CreateVendorDefaultSetting` Mutation using the `UseMutationResult` object returned by the following Mutation hook function (which is defined in [dataconnect-generated/react/index.d.ts](./index.d.ts)): ```javascript useCreateVendorDefaultSetting(options?: useDataConnectMutationOptions): UseDataConnectMutationResult; ``` You can also pass in a `DataConnect` instance to the Mutation hook function. ```javascript useCreateVendorDefaultSetting(dc: DataConnect, options?: useDataConnectMutationOptions): UseDataConnectMutationResult; ``` ### Variables The `CreateVendorDefaultSetting` Mutation requires an argument of type `CreateVendorDefaultSettingVariables`, which is defined in [dataconnect-generated/index.d.ts](../index.d.ts). It has the following fields: ```javascript export interface CreateVendorDefaultSettingVariables { vendorName: string; defaultMarkupPercentage: number; defaultVendorFeePercentage: number; } ``` ### Return Type Recall that calling the `CreateVendorDefaultSetting` Mutation hook function returns a `UseMutationResult` object. This object holds the state of your Mutation, including whether the Mutation is loading, has completed, or has succeeded/failed, among other things. To check the status of a Mutation, use the `UseMutationResult.status` field. You can also check for pending / success / error status using the `UseMutationResult.isPending`, `UseMutationResult.isSuccess`, and `UseMutationResult.isError` fields. To execute the Mutation, call `UseMutationResult.mutate()`. This function executes the Mutation, but does not return the data from the Mutation. To access the data returned by a Mutation, use the `UseMutationResult.data` field. The data for the `CreateVendorDefaultSetting` Mutation is of type `CreateVendorDefaultSettingData`, which is defined in [dataconnect-generated/index.d.ts](../index.d.ts). It has the following fields: ```javascript export interface CreateVendorDefaultSettingData { vendorDefaultSetting_insert: VendorDefaultSetting_Key; } ``` To learn more about the `UseMutationResult` object, see the [TanStack React Query documentation](https://tanstack.com/query/v5/docs/framework/react/reference/useMutation). ### Using `CreateVendorDefaultSetting`'s Mutation hook function ```javascript import { getDataConnect } from 'firebase/data-connect'; import { connectorConfig, CreateVendorDefaultSettingVariables } from '@dataconnect/generated'; import { useCreateVendorDefaultSetting } from '@dataconnect/generated/react' export default function CreateVendorDefaultSettingComponent() { // Call the Mutation hook function to get a `UseMutationResult` object which holds the state of your Mutation. const mutation = useCreateVendorDefaultSetting(); // You can also pass in a `DataConnect` instance to the Mutation hook function. const dataConnect = getDataConnect(connectorConfig); const mutation = useCreateVendorDefaultSetting(dataConnect); // You can also pass in a `useDataConnectMutationOptions` object to the Mutation hook function. const options = { onSuccess: () => { console.log('Mutation succeeded!'); } }; const mutation = useCreateVendorDefaultSetting(options); // You can also pass both a `DataConnect` instance and a `useDataConnectMutationOptions` object. const dataConnect = getDataConnect(connectorConfig); const options = { onSuccess: () => { console.log('Mutation succeeded!'); } }; const mutation = useCreateVendorDefaultSetting(dataConnect, options); // After calling the Mutation hook function, you must call `UseMutationResult.mutate()` to execute the Mutation. // The `useCreateVendorDefaultSetting` Mutation requires an argument of type `CreateVendorDefaultSettingVariables`: const createVendorDefaultSettingVars: CreateVendorDefaultSettingVariables = { vendorName: ..., defaultMarkupPercentage: ..., defaultVendorFeePercentage: ..., }; mutation.mutate(createVendorDefaultSettingVars); // Variables can be defined inline as well. mutation.mutate({ vendorName: ..., defaultMarkupPercentage: ..., defaultVendorFeePercentage: ..., }); // You can also pass in a `useDataConnectMutationOptions` object to `UseMutationResult.mutate()`. const options = { onSuccess: () => { console.log('Mutation succeeded!'); } }; mutation.mutate(createVendorDefaultSettingVars, options); // Then, you can render your component dynamically based on the status of the Mutation. if (mutation.isPending) { return
Loading...
; } if (mutation.isError) { return
Error: {mutation.error.message}
; } // If the Mutation is successful, you can access the data returned using the `UseMutationResult.data` field. if (mutation.isSuccess) { console.log(mutation.data.vendorDefaultSetting_insert); } return
Mutation execution {mutation.isSuccess ? 'successful' : 'failed'}!
; } ``` ## UpdateVendorDefaultSetting You can execute the `UpdateVendorDefaultSetting` Mutation using the `UseMutationResult` object returned by the following Mutation hook function (which is defined in [dataconnect-generated/react/index.d.ts](./index.d.ts)): ```javascript useUpdateVendorDefaultSetting(options?: useDataConnectMutationOptions): UseDataConnectMutationResult; ``` You can also pass in a `DataConnect` instance to the Mutation hook function. ```javascript useUpdateVendorDefaultSetting(dc: DataConnect, options?: useDataConnectMutationOptions): UseDataConnectMutationResult; ``` ### Variables The `UpdateVendorDefaultSetting` Mutation requires an argument of type `UpdateVendorDefaultSettingVariables`, which is defined in [dataconnect-generated/index.d.ts](../index.d.ts). It has the following fields: ```javascript export interface UpdateVendorDefaultSettingVariables { id: UUIDString; vendorName?: string | null; defaultMarkupPercentage?: number | null; defaultVendorFeePercentage?: number | null; } ``` ### Return Type Recall that calling the `UpdateVendorDefaultSetting` Mutation hook function returns a `UseMutationResult` object. This object holds the state of your Mutation, including whether the Mutation is loading, has completed, or has succeeded/failed, among other things. To check the status of a Mutation, use the `UseMutationResult.status` field. You can also check for pending / success / error status using the `UseMutationResult.isPending`, `UseMutationResult.isSuccess`, and `UseMutationResult.isError` fields. To execute the Mutation, call `UseMutationResult.mutate()`. This function executes the Mutation, but does not return the data from the Mutation. To access the data returned by a Mutation, use the `UseMutationResult.data` field. The data for the `UpdateVendorDefaultSetting` Mutation is of type `UpdateVendorDefaultSettingData`, which is defined in [dataconnect-generated/index.d.ts](../index.d.ts). It has the following fields: ```javascript export interface UpdateVendorDefaultSettingData { vendorDefaultSetting_update?: VendorDefaultSetting_Key | null; } ``` To learn more about the `UseMutationResult` object, see the [TanStack React Query documentation](https://tanstack.com/query/v5/docs/framework/react/reference/useMutation). ### Using `UpdateVendorDefaultSetting`'s Mutation hook function ```javascript import { getDataConnect } from 'firebase/data-connect'; import { connectorConfig, UpdateVendorDefaultSettingVariables } from '@dataconnect/generated'; import { useUpdateVendorDefaultSetting } from '@dataconnect/generated/react' export default function UpdateVendorDefaultSettingComponent() { // Call the Mutation hook function to get a `UseMutationResult` object which holds the state of your Mutation. const mutation = useUpdateVendorDefaultSetting(); // You can also pass in a `DataConnect` instance to the Mutation hook function. const dataConnect = getDataConnect(connectorConfig); const mutation = useUpdateVendorDefaultSetting(dataConnect); // You can also pass in a `useDataConnectMutationOptions` object to the Mutation hook function. const options = { onSuccess: () => { console.log('Mutation succeeded!'); } }; const mutation = useUpdateVendorDefaultSetting(options); // You can also pass both a `DataConnect` instance and a `useDataConnectMutationOptions` object. const dataConnect = getDataConnect(connectorConfig); const options = { onSuccess: () => { console.log('Mutation succeeded!'); } }; const mutation = useUpdateVendorDefaultSetting(dataConnect, options); // After calling the Mutation hook function, you must call `UseMutationResult.mutate()` to execute the Mutation. // The `useUpdateVendorDefaultSetting` Mutation requires an argument of type `UpdateVendorDefaultSettingVariables`: const updateVendorDefaultSettingVars: UpdateVendorDefaultSettingVariables = { id: ..., vendorName: ..., // optional defaultMarkupPercentage: ..., // optional defaultVendorFeePercentage: ..., // optional }; mutation.mutate(updateVendorDefaultSettingVars); // Variables can be defined inline as well. mutation.mutate({ id: ..., vendorName: ..., defaultMarkupPercentage: ..., defaultVendorFeePercentage: ..., }); // You can also pass in a `useDataConnectMutationOptions` object to `UseMutationResult.mutate()`. const options = { onSuccess: () => { console.log('Mutation succeeded!'); } }; mutation.mutate(updateVendorDefaultSettingVars, options); // Then, you can render your component dynamically based on the status of the Mutation. if (mutation.isPending) { return
Loading...
; } if (mutation.isError) { return
Error: {mutation.error.message}
; } // If the Mutation is successful, you can access the data returned using the `UseMutationResult.data` field. if (mutation.isSuccess) { console.log(mutation.data.vendorDefaultSetting_update); } return
Mutation execution {mutation.isSuccess ? 'successful' : 'failed'}!
; } ``` ## DeleteVendorDefaultSetting You can execute the `DeleteVendorDefaultSetting` Mutation using the `UseMutationResult` object returned by the following Mutation hook function (which is defined in [dataconnect-generated/react/index.d.ts](./index.d.ts)): ```javascript useDeleteVendorDefaultSetting(options?: useDataConnectMutationOptions): UseDataConnectMutationResult; ``` You can also pass in a `DataConnect` instance to the Mutation hook function. ```javascript useDeleteVendorDefaultSetting(dc: DataConnect, options?: useDataConnectMutationOptions): UseDataConnectMutationResult; ``` ### Variables The `DeleteVendorDefaultSetting` Mutation requires an argument of type `DeleteVendorDefaultSettingVariables`, which is defined in [dataconnect-generated/index.d.ts](../index.d.ts). It has the following fields: ```javascript export interface DeleteVendorDefaultSettingVariables { id: UUIDString; } ``` ### Return Type Recall that calling the `DeleteVendorDefaultSetting` Mutation hook function returns a `UseMutationResult` object. This object holds the state of your Mutation, including whether the Mutation is loading, has completed, or has succeeded/failed, among other things. To check the status of a Mutation, use the `UseMutationResult.status` field. You can also check for pending / success / error status using the `UseMutationResult.isPending`, `UseMutationResult.isSuccess`, and `UseMutationResult.isError` fields. To execute the Mutation, call `UseMutationResult.mutate()`. This function executes the Mutation, but does not return the data from the Mutation. To access the data returned by a Mutation, use the `UseMutationResult.data` field. The data for the `DeleteVendorDefaultSetting` Mutation is of type `DeleteVendorDefaultSettingData`, which is defined in [dataconnect-generated/index.d.ts](../index.d.ts). It has the following fields: ```javascript export interface DeleteVendorDefaultSettingData { vendorDefaultSetting_delete?: VendorDefaultSetting_Key | null; } ``` To learn more about the `UseMutationResult` object, see the [TanStack React Query documentation](https://tanstack.com/query/v5/docs/framework/react/reference/useMutation). ### Using `DeleteVendorDefaultSetting`'s Mutation hook function ```javascript import { getDataConnect } from 'firebase/data-connect'; import { connectorConfig, DeleteVendorDefaultSettingVariables } from '@dataconnect/generated'; import { useDeleteVendorDefaultSetting } from '@dataconnect/generated/react' export default function DeleteVendorDefaultSettingComponent() { // Call the Mutation hook function to get a `UseMutationResult` object which holds the state of your Mutation. const mutation = useDeleteVendorDefaultSetting(); // You can also pass in a `DataConnect` instance to the Mutation hook function. const dataConnect = getDataConnect(connectorConfig); const mutation = useDeleteVendorDefaultSetting(dataConnect); // You can also pass in a `useDataConnectMutationOptions` object to the Mutation hook function. const options = { onSuccess: () => { console.log('Mutation succeeded!'); } }; const mutation = useDeleteVendorDefaultSetting(options); // You can also pass both a `DataConnect` instance and a `useDataConnectMutationOptions` object. const dataConnect = getDataConnect(connectorConfig); const options = { onSuccess: () => { console.log('Mutation succeeded!'); } }; const mutation = useDeleteVendorDefaultSetting(dataConnect, options); // After calling the Mutation hook function, you must call `UseMutationResult.mutate()` to execute the Mutation. // The `useDeleteVendorDefaultSetting` Mutation requires an argument of type `DeleteVendorDefaultSettingVariables`: const deleteVendorDefaultSettingVars: DeleteVendorDefaultSettingVariables = { id: ..., }; mutation.mutate(deleteVendorDefaultSettingVars); // Variables can be defined inline as well. mutation.mutate({ id: ..., }); // You can also pass in a `useDataConnectMutationOptions` object to `UseMutationResult.mutate()`. const options = { onSuccess: () => { console.log('Mutation succeeded!'); } }; mutation.mutate(deleteVendorDefaultSettingVars, options); // Then, you can render your component dynamically based on the status of the Mutation. if (mutation.isPending) { return
Loading...
; } if (mutation.isError) { return
Error: {mutation.error.message}
; } // If the Mutation is successful, you can access the data returned using the `UseMutationResult.data` field. if (mutation.isSuccess) { console.log(mutation.data.vendorDefaultSetting_delete); } return
Mutation execution {mutation.isSuccess ? 'successful' : 'failed'}!
; } ```