Files
AdPlatform-Server/Registration
2026-03-14 13:50:09 -07:00
..
2026-03-14 13:50:09 -07:00
2026-03-14 13:50:09 -07:00
2026-03-14 13:50:09 -07:00
2026-03-14 13:50:09 -07:00
2026-03-14 13:50:09 -07:00
2026-03-14 13:50:09 -07:00
2026-03-14 13:50:09 -07:00
2026-03-14 13:50:09 -07:00
2026-03-14 13:50:09 -07:00

Registration Function

Azure Function (isolated worker, .NET 8) for managing prospect registration in AdPlatform.

Architecture

Prospect → Registration Function → dbRegistration (future)
Admin Panel → Management API → Registration Function (proxy)
                             → spClientManagement (approve → dbAdPlatform)

Management validates admin sessions, then proxies registration calls to this Function. The Function never touches dbAdPlatform. Management never touches dbRegistration.

Endpoints

Method Route Auth Description
GET /api/registration/pending Function Key List pending applicants
GET /api/registration/{id} Function Key Get single applicant
POST /api/registration/register Function Key New prospect signup
POST /api/registration/{id}/reject Function Key Reject applicant
POST /api/registration/{id}/complete Function Key Mark approved (called after platform client created)
GET /api/registration/health Anonymous Health check

Mock Mode (Current)

Starts with 4 realistic test applicants in memory. State persists within a Function host lifecycle and resets on cold start. No database required.

To switch to mock mode, in Program.cs:

services.AddSingleton<IRegistrationDataService, MockDataService>();

Database Mode (Future)

When dbRegistration is ready:

  1. Create the database and run the spRegistration stored proc migration
  2. Set ConnectionStrings:Sql to the registration database connection string
  3. In Program.cs, swap DI registration:
services.AddSingleton<SqlService>();
services.AddSingleton<IRegistrationDataService, SqlDataService>();

The SqlDataService calls dbo.spRegistration with the standard @action/@rqst/@resp OUTPUT pattern used across all AdPlatform services.

Local Development

# Requires Azure Functions Core Tools
func start

Test with:

curl http://localhost:7071/api/registration/health
curl http://localhost:7071/api/registration/pending

Deployment

Deploy as an Azure Function App (Consumption or Flex Consumption plan).

After deployment:

  1. Copy the Function Key from Azure Portal → Function App → App Keys
  2. Set in Management API config:
    • Registration:BaseUrl = https://your-function-app.azurewebsites.net/api
    • Registration:FunctionKey = <key from portal>

These can be set as Azure Container App environment variables:

Registration__BaseUrl=https://your-function-app.azurewebsites.net/api
Registration__FunctionKey=<key>

Mock Applicants

The mock data includes 4 test applicants representing the target market (small businesses with low ad spend thresholds):

Business Category Payment Verified Days Waiting
Bella's Boutique Retail Yes 3
Pacific Coast Plumbing Home Services Yes 1
Sunrise Dental Group Healthcare No ~0.25
FreshBite Meal Prep Food & Beverage Yes ~0.08