#ifndef ZENBU_CONNECTOR_AUTH_HTTP_ADAPTER_H
#define ZENBU_CONNECTOR_AUTH_HTTP_ADAPTER_H

#include "auth/auth_http.h"
#include "connectors/connector.h"

typedef struct {
  Auth_Store *store;
  uint8 cookie_secret[AUTH_CRYPTO_COOKIE_SECRET_MAX_BYTES];
  size_t cookie_secret_length;
  int64 session_idle_ttl_secs;
} Connector_Auth_HTTP_Context;

boolean Connector_Auth_HTTP_Init(
    Connector_Auth_HTTP_Context *context,
    const char *database_path,
    const char *cookie_secret_hex,
    int64 session_idle_ttl_secs);

void Connector_Auth_HTTP_Destroy(Connector_Auth_HTTP_Context *context);

Connector_Auth_Adapter Connector_Auth_HTTP_Create_Adapter(
    Connector_Auth_HTTP_Context *context);

#endif
