Esposter
    Preparing search index...

    Module @esposter/azure-functions - v2.36.0

    @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.

    ReplayId
    WebhookEventGridData
    TodoReminderContent
    db
    eventGridPublisherClient
    MAX_DEAD_LETTER_REPLAY_ATTEMPTS
    processBlobDeletionHandler
    processFriendRequestNotificationHandler
    ProcessProperties
    processPushNotificationHandler
    processScheduledMessageJobHandler
    processThreadReplyNotificationHandler
    processWebhookHandler
    purgeDeletedResourcesHandler
    pushWebhookHandler
    replayDeadLetterEventHandler
    sendTodoReminderHandler
    todoReminderContentSchema
    webhookEventGridDataSchema
    webpush
    assertCanCreateMessage
    createAndBroadcastMessage
    createEventGridNotificationHandler
    deleteReplayedBlob
    formatReplayId
    getContainerClient
    getCreateMessageNotificationPayload
    getIsReplayable
    getPushNotificationData
    getServiceBusSender
    getTableClient
    getWebhookCreateMessageInput
    getWebPubSubServiceClient
    logAndRethrow
    parseReplayId
    sendFriendRequestNotification
    sendPushNotification
    sendReminderNotification
    sendThreadReplyNotification
    sendTodoReminderNotification
    sendWebPushNotifications
    writeDeadLetterBlob