Files
customer-service/lib/customer_service_web/plugs/extract_organization_id.ex
HaimKortovich 4519f797fd
All checks were successful
Build and Publish / build-release (push) Successful in 3m7s
partition by org_id and add auth
2026-05-15 10:08:54 -05:00

23 lines
579 B
Elixir

defmodule CustomerServiceWeb.Plugs.ExtractOrganizationId do
@moduledoc """
Extract `X-Organization-Id` request header.
Stores the organization identifier in conn.private[__MODULE__] for downstream authorization checks.
"""
@behaviour Plug
import Plug.Conn, only: [get_req_header: 2, put_private: 3]
@impl Plug
def init(_opts), do: %{}
@impl Plug
def call(conn, _opts) do
case get_req_header(conn, "x-organization-id") do
[org_id | _rest] -> put_private(conn, __MODULE__, org_id)
[] -> put_private(conn, __MODULE__, nil)
end
end
end