File size: 607 Bytes
936b397
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
defmodule PlausibleWeb.Controllers.API.Revenue do
  @moduledoc """
  Revenue specific functions for the API scope
  """

  @revenue_metrics Plausible.Stats.Goal.Revenue.revenue_metrics()
  def format_revenue_metric({metric, value}) do
    if metric in @revenue_metrics do
      {metric, format_money(value)}
    else
      {metric, value}
    end
  end

  def format_money(value) do
    case value do
      %Money{} ->
        %{
          short: Money.to_string!(value, format: :short, fractional_digits: 1),
          long: Money.to_string!(value)
        }

      _any ->
        value
    end
  end
end