diff --git a/lib/extreme.ex b/lib/extreme.ex index 8edb979..5b1af0a 100644 --- a/lib/extreme.ex +++ b/lib/extreme.ex @@ -26,7 +26,6 @@ defmodule Commanded.EventStore.Adapters.Extreme do alias Extreme.Msg, as: ExMsg @event_store Commanded.EventStore.Adapters.Extreme.EventStore - @stream_prefix Config.stream_prefix() @serializer Config.serializer() @spec append_to_stream(String.t(), non_neg_integer, list(EventData.t())) :: @@ -82,7 +81,7 @@ defmodule Commanded.EventStore.Adapters.Extreme do def subscribe_to_all_streams(subscription_name, subscriber, start_from \\ :origin) def subscribe_to_all_streams(subscription_name, subscriber, start_from) do - stream = "$ce-" <> @stream_prefix + stream = "$streams" case SubscriptionsSupervisor.start_subscription( stream, @@ -177,11 +176,9 @@ defmodule Commanded.EventStore.Adapters.Extreme do ) end - defp prefix(suffix), do: @stream_prefix <> "-" <> suffix + defp snapshot_stream(source_uuid), do: "snapshot-" <> source_uuid - defp snapshot_stream(source_uuid), do: @stream_prefix <> "snapshot-" <> source_uuid - - defp stream_name(stream), do: prefix(stream) + defp stream_name(stream), do: stream defp normalize_start_version(0), do: 0 defp normalize_start_version(start_version), do: start_version - 1 diff --git a/lib/extreme/application.ex b/lib/extreme/application.ex index 58503d2..32bbc71 100644 --- a/lib/extreme/application.ex +++ b/lib/extreme/application.ex @@ -25,7 +25,7 @@ defmodule Commanded.EventStore.Adapters.Extreme.Application do start: {EventPublisher, :start_link, [ @event_store, - "$ce-" <> Config.stream_prefix(), + "$streams", [name: EventPublisher] ]}, restart: :permanent, diff --git a/lib/extreme/config.ex b/lib/extreme/config.ex index 1c3d1ec..a794309 100644 --- a/lib/extreme/config.ex +++ b/lib/extreme/config.ex @@ -4,16 +4,6 @@ defmodule Commanded.EventStore.Adapters.Extreme.Config do raise ArgumentError, "expects :extreme to be configured in environment" end - def stream_prefix do - prefix = Application.get_env(:commanded_extreme_adapter, :stream_prefix) || - raise ArgumentError, "expects :stream_prefix to be configured in environment" - - case String.contains?(prefix, "-") do - true -> raise ArgumentError, ":stream_prefix cannot contain a dash (\"-\")" - false -> prefix - end - end - def serializer do Application.get_env(:commanded_extreme_adapter, :serializer) || raise ArgumentError, "expects :serializer to be configured in environment" diff --git a/mix.exs b/mix.exs index ff27349..db6fc70 100644 --- a/mix.exs +++ b/mix.exs @@ -1,7 +1,7 @@ defmodule Commanded.EventStore.Adapters.Extreme.Mixfile do use Mix.Project - @version "0.5.0" + @version "0.5.3" def project do [ @@ -32,9 +32,9 @@ defmodule Commanded.EventStore.Adapters.Extreme.Mixfile do defp deps do [ {:commanded, ">= 0.16.0", runtime: false}, - {:extreme, "~> 0.11"}, + {:extreme, "~> 0.13.3"}, {:hackney, "~> 1.8.0", override: true}, - {:httpoison, "~> 0.11.1"}, + {:httpoison, "~> 1.3"}, # Test & build tooling { diff --git a/mix.lock b/mix.lock index 86d2251..cd3942f 100644 --- a/mix.lock +++ b/mix.lock @@ -1,23 +1,26 @@ %{ "certifi": {:hex, :certifi, "1.2.1", "c3904f192bd5284e5b13f20db3ceac9626e14eeacfbb492e19583cf0e37b22be", [:rebar3], [], "hexpm"}, - "commanded": {:hex, :commanded, "0.16.0", "10ab39952faf4af8bc0b077cce870f343e5e695b1e8cced4f425db66f651b048", [:mix], [{:phoenix_pubsub, "~> 1.0", [hex: :phoenix_pubsub, repo: "hexpm", optional: true]}, {:poison, "~> 3.1", [hex: :poison, repo: "hexpm", optional: false]}, {:uuid, "~> 1.1", [hex: :uuid, repo: "hexpm", optional: false]}], "hexpm"}, + "commanded": {:hex, :commanded, "0.17.1", "bcc44dcc8c2e4974d4e3ba936f24069715c5de44ef07c43ae6b8b1ab0e078ecf", [:mix], [{:phoenix_pubsub, "~> 1.1", [hex: :phoenix_pubsub, repo: "hexpm", optional: true]}, {:poison, "~> 3.1 or ~> 4.0", [hex: :poison, repo: "hexpm", optional: false]}, {:uuid, "~> 1.1", [hex: :uuid, repo: "hexpm", optional: false]}], "hexpm"}, "docker": {:git, "https://github.com/bearice/elixir-docker.git", "03809fc594b9706c106fc28b7ef03c2dbde2fe93", [tag: "03809fc594b9706c106fc28b7ef03c2dbde2fe93"]}, - "earmark": {:hex, :earmark, "1.2.4", "99b637c62a4d65a20a9fb674b8cffb8baa771c04605a80c911c4418c69b75439", [:mix], [], "hexpm"}, - "ex_doc": {:hex, :ex_doc, "0.18.3", "f4b0e4a2ec6f333dccf761838a4b253d75e11f714b85ae271c9ae361367897b7", [:mix], [{:earmark, "~> 1.1", [hex: :earmark, repo: "hexpm", optional: false]}], "hexpm"}, + "earmark": {:hex, :earmark, "1.2.6", "b6da42b3831458d3ecc57314dff3051b080b9b2be88c2e5aa41cd642a5b044ed", [:mix], [], "hexpm"}, + "elixir_uuid": {:hex, :elixir_uuid, "1.2.0", "ff26e938f95830b1db152cb6e594d711c10c02c6391236900ddd070a6b01271d", [:mix], [], "hexpm"}, + "ex_doc": {:hex, :ex_doc, "0.19.1", "519bb9c19526ca51d326c060cb1778d4a9056b190086a8c6c115828eaccea6cf", [:mix], [{:earmark, "~> 1.1", [hex: :earmark, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.7", [hex: :makeup_elixir, repo: "hexpm", optional: false]}], "hexpm"}, "exjsx": {:hex, :exjsx, "3.2.1", "1bc5bf1e4fd249104178f0885030bcd75a4526f4d2a1e976f4b428d347614f0f", [:mix], [{:jsx, "~> 2.8.0", [hex: :jsx, repo: "hexpm", optional: false]}], "hexpm"}, "exprotobuf": {:hex, :exprotobuf, "1.2.9", "f3cac1b0d0444da3c72cdfe80e394d721275dc80b1d7703ead9dad9267e93822", [:mix], [{:gpb, "~> 3.24", [hex: :gpb, repo: "hexpm", optional: false]}], "hexpm"}, - "extreme": {:hex, :extreme, "0.11.0", "ce21ac55a3d5e37ba41b66e9f7b415b13190b0730f130639b7f486dc017f74d3", [:mix], [{:exprotobuf, "~> 1.2", [hex: :exprotobuf, repo: "hexpm", optional: false]}, {:httpoison, "~> 0.11", [hex: :httpoison, repo: "hexpm", optional: false]}, {:poison, "~> 2.2 or ~> 3.0", [hex: :poison, repo: "hexpm", optional: false]}, {:uuid, "~> 1.1.4", [hex: :uuid, repo: "hexpm", optional: false]}], "hexpm"}, - "file_system": {:hex, :file_system, "0.2.4", "f0bdda195c0e46e987333e986452ec523aed21d784189144f647c43eaf307064", [:mix], [], "hexpm"}, - "fs": {:hex, :fs, "0.9.2", "ed17036c26c3f70ac49781ed9220a50c36775c6ca2cf8182d123b6566e49ec59", [:rebar], [], "hexpm"}, + "extreme": {:hex, :extreme, "0.13.3", "447183c4ffecfb608bec3583f3798ad20bc241783b097e9d3a38858ec20b9577", [:mix], [{:elixir_uuid, "~> 1.2", [hex: :elixir_uuid, repo: "hexpm", optional: false]}, {:exprotobuf, "~> 1.2", [hex: :exprotobuf, repo: "hexpm", optional: false]}, {:httpoison, "~> 1.2", [hex: :httpoison, repo: "hexpm", optional: false]}, {:poison, "~> 2.2 or ~> 3.0 or ~> 4.0", [hex: :poison, repo: "hexpm", optional: false]}], "hexpm"}, + "file_system": {:hex, :file_system, "0.2.6", "fd4dc3af89b9ab1dc8ccbcc214a0e60c41f34be251d9307920748a14bf41f1d3", [:mix], [], "hexpm"}, "gpb": {:hex, :gpb, "3.28.1", "6849b2f0004dc4e7644f4f67e7cdd18e893f0ab87eb7ad82b9cb1483ce60eed0", [:make, :rebar], [], "hexpm"}, "hackney": {:hex, :hackney, "1.8.6", "21a725db3569b3fb11a6af17d5c5f654052ce9624219f1317e8639183de4a423", [:rebar3], [{:certifi, "1.2.1", [hex: :certifi, repo: "hexpm", optional: false]}, {:idna, "5.0.2", [hex: :idna, repo: "hexpm", optional: false]}, {:metrics, "1.0.1", [hex: :metrics, repo: "hexpm", optional: false]}, {:mimerl, "1.0.2", [hex: :mimerl, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "1.1.1", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}], "hexpm"}, - "httpoison": {:hex, :httpoison, "0.11.2", "9e59f17a473ef6948f63c51db07320477bad8ba88cf1df60a3eee01150306665", [:mix], [{:hackney, "~> 1.8.0", [hex: :hackney, repo: "hexpm", optional: false]}], "hexpm"}, + "httpoison": {:hex, :httpoison, "1.3.1", "7ac607311f5f706b44e8b3fab736d0737f2f62a31910ccd9afe7227b43edb7f0", [:mix], [{:hackney, "~> 1.8", [hex: :hackney, repo: "hexpm", optional: false]}], "hexpm"}, "idna": {:hex, :idna, "5.0.2", "ac203208ada855d95dc591a764b6e87259cb0e2a364218f215ad662daa8cd6b4", [:rebar3], [{:unicode_util_compat, "0.2.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm"}, "jsx": {:hex, :jsx, "2.8.3", "a05252d381885240744d955fbe3cf810504eb2567164824e19303ea59eef62cf", [:mix, :rebar3], [], "hexpm"}, + "makeup": {:hex, :makeup, "0.5.5", "9e08dfc45280c5684d771ad58159f718a7b5788596099bdfb0284597d368a882", [:mix], [{:nimble_parsec, "~> 0.4", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm"}, + "makeup_elixir": {:hex, :makeup_elixir, "0.10.0", "0f09c2ddf352887a956d84f8f7e702111122ca32fbbc84c2f0569b8b65cbf7fa", [:mix], [{:makeup, "~> 0.5.5", [hex: :makeup, repo: "hexpm", optional: false]}], "hexpm"}, "metrics": {:hex, :metrics, "1.0.1", "25f094dea2cda98213cecc3aeff09e940299d950904393b2a29d191c346a8486", [:rebar3], [], "hexpm"}, "mimerl": {:hex, :mimerl, "1.0.2", "993f9b0e084083405ed8252b99460c4f0563e41729ab42d9074fd5e52439be88", [:rebar3], [], "hexpm"}, - "mix_test_watch": {:hex, :mix_test_watch, "0.6.0", "5e206ed04860555a455de2983937efd3ce79f42bd8536fc6b900cc286f5bb830", [:mix], [{:file_system, "~> 0.2.1 or ~> 0.3", [hex: :file_system, repo: "hexpm", optional: false]}], "hexpm"}, - "poison": {:hex, :poison, "3.1.0", "d9eb636610e096f86f25d9a46f35a9facac35609a7591b3be3326e99a0484665", [:mix], [], "hexpm"}, + "mix_test_watch": {:hex, :mix_test_watch, "0.9.0", "c72132a6071261893518fa08e121e911c9358713f62794a90c95db59042af375", [:mix], [{:file_system, "~> 0.2.1 or ~> 0.3", [hex: :file_system, repo: "hexpm", optional: false]}], "hexpm"}, + "nimble_parsec": {:hex, :nimble_parsec, "0.4.0", "ee261bb53214943679422be70f1658fff573c5d0b0a1ecd0f18738944f818efe", [:mix], [], "hexpm"}, + "poison": {:hex, :poison, "4.0.1", "bcb755a16fac91cad79bfe9fc3585bb07b9331e50cfe3420a24bcc2d735709ae", [:mix], [], "hexpm"}, "ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.1", "28a4d65b7f59893bc2c7de786dec1e1555bd742d336043fe644ae956c3497fbe", [:make, :rebar], [], "hexpm"}, "unicode_util_compat": {:hex, :unicode_util_compat, "0.2.0", "dbbccf6781821b1c0701845eaf966c9b6d83d7c3bfc65ca2b78b88b8678bfa35", [:rebar3], [], "hexpm"}, "uuid": {:hex, :uuid, "1.1.8", "e22fc04499de0de3ed1116b770c7737779f226ceefa0badb3592e64d5cfb4eb9", [:mix], [], "hexpm"},