Firebase

Functions

Run backend code with Cloud Functions.


Overview

Cloud Functions let you run backend code in response to events triggered by Firebase features and HTTPS requests.

Project Structure

Your functions are located in apps/firebase/functions/:

functions/
├── src/
│   └── index.ts
├── package.json
└── tsconfig.json

Writing Functions

Create an HTTP function:

import * as functions from 'firebase-functions';

export const helloWorld = functions.https.onRequest((request, response) => {
  response.send("Hello from Firebase!");
});

Create a Firestore trigger:

export const onUserCreate = functions.firestore
  .document('users/{userId}')
  .onCreate((snap, context) => {
    const userData = snap.data();
    console.log('New user created:', userData);
  });

Deployment

Deploy your functions:

cd apps/firebase/functions
npm run deploy

Calling Functions from iOS

import FirebaseFunctions

let functions = Functions.functions()
let result = try await functions.httpsCallable("helloWorld").call()

Environment Configuration

Store secrets and configuration:

firebase functions:config:set api.key="YOUR_API_KEY"

Access in your function:

const apiKey = functions.config().api.key;
Previous
Firestore