Esposter
    Preparing search index...

    Module @esposter/azure-functions - v2.31.1

    @esposter/azure-functions

    Apache-2.0 licensed

    Serverless Azure Functions backend for Esposter. Handles asynchronous workloads triggered by Azure EventGrid events — push notifications, webhook delivery, and friend request notifications.


    We highly recommend you take a look at the documentation to level up.

    Functions are triggered by Azure EventGrid events published by the main app — they are never called directly via HTTP from the client. Each function handles one async concern:

    Function Trigger Description
    processPushNotification EventGrid Sends web-push notifications to offline users when a new message is created
    processWebhook EventGrid Delivers outgoing webhook payloads to registered endpoints
    pushWebhook EventGrid Pushes webhook events to Azure WebPubSub for fan-out delivery
    processFriendRequestNotification EventGrid Notifies users of incoming friend requests
    App (createMessage) → Azure EventGrid → processPushNotification
                                          → processWebhook
                                          → pushWebhook
    
    • @azure/functions — Azure Functions runtime
    • @azure/eventgrid — EventGrid event parsing
    • @azure/web-pubsub — WebPubSub real-time delivery
    • @esposter/db + @esposter/db-schema — database access
    • web-push — RFC 8030 web-push delivery

    Run from packages/azure-functions/:

    pnpm build        # compile to dist/
    pnpm test # vitest watch mode (coverage is run from the repo root)
    pnpm lint:fix # auto-fix lint
    pnpm typecheck # type check

    This project is licensed under the Apache-2.0 license.

    Interfaces

    WebhookEventGridData

    Variables

    db
    eventGridPublisherClient
    processFriendRequestNotificationHandler
    ProcessProperties
    processPushNotificationHandler
    processScheduledMessageJobHandler
    processWebhookHandler
    pushWebhookHandler
    webhookEventGridDataSchema
    webpush

    Functions

    assertCanCreateMessage
    getCreateMessageNotificationPayload
    getQueueClient
    getTableClient
    getWebhookCreateMessageInput
    getWebPubSubServiceClient
    sendFriendRequestNotification
    sendPushNotification
    sendReminderNotification