From aa46de4f393937f11abfdbe3b96a7dabba4d3542 Mon Sep 17 00:00:00 2001 From: MosesMuiru Date: Fri, 1 Mar 2024 19:04:34 +0300 Subject: [PATCH 1/4] updated new version of tesla --- config/config.exs | 3 ++- mix.exs | 9 ++++++--- mix.lock | 16 +++++++++------- 3 files changed, 17 insertions(+), 11 deletions(-) diff --git a/config/config.exs b/config/config.exs index e15f998..ea96305 100644 --- a/config/config.exs +++ b/config/config.exs @@ -1,6 +1,7 @@ # This file is responsible for configuring your application # and its dependencies with the aid of the Mix.Config module. -use Mix.Config +# use Mix.Config +import Config # This configuration is loaded before any dependency and is restricted # to this project. If another project depends on this project, this diff --git a/mix.exs b/mix.exs index c9c85eb..7899294 100644 --- a/mix.exs +++ b/mix.exs @@ -34,9 +34,12 @@ defmodule AtEx.MixProject do # Run "mix help deps" to learn about dependencies. defp deps do [ - {:tesla, "~> 1.4.3"}, - {:jason, "~> 1.1"}, - {:ex_doc, "~> 0.19", only: :dev, runtime: false} + #{:tesla, "~> 1.4.3"}, + #{:jason, "~> 1.1"}, + {:jason, "~> 1.4"}, + {:tesla, "~> 1.8"}, + {:ex_doc, "~> 0.31.1", only: :dev, runtime: false} + #{:ex_doc, "~> 0.19", only: :dev, runtime: false} ] end diff --git a/mix.lock b/mix.lock index 6bc86fe..d78da46 100644 --- a/mix.lock +++ b/mix.lock @@ -1,10 +1,12 @@ %{ "earmark": {:hex, :earmark, "1.4.3", "364ca2e9710f6bff494117dbbd53880d84bebb692dafc3a78eb50aa3183f2bfd", [:mix], [], "hexpm", "8cf8a291ebf1c7b9539e3cddb19e9cef066c2441b1640f13c34c1d3cfc825fec"}, - "ex_doc": {:hex, :ex_doc, "0.21.2", "caca5bc28ed7b3bdc0b662f8afe2bee1eedb5c3cf7b322feeeb7c6ebbde089d6", [:mix], [{:earmark, "~> 1.3.3 or ~> 1.4", [hex: :earmark, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}], "hexpm", "f1155337ae17ff7a1255217b4c1ceefcd1860b7ceb1a1874031e7a861b052e39"}, - "jason": {:hex, :jason, "1.2.2", "ba43e3f2709fd1aa1dce90aaabfd039d000469c05c56f0b8e31978e03fa39052", [:mix], [{:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "18a228f5f0058ee183f29f9eae0805c6e59d61c3b006760668d8d18ff0d12179"}, - "makeup": {:hex, :makeup, "1.0.0", "671df94cf5a594b739ce03b0d0316aa64312cee2574b6a44becb83cd90fb05dc", [:mix], [{:nimble_parsec, "~> 0.5.0", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "a10c6eb62cca416019663129699769f0c2ccf39428b3bb3c0cb38c718a0c186d"}, - "makeup_elixir": {:hex, :makeup_elixir, "0.14.0", "cf8b7c66ad1cff4c14679698d532f0b5d45a3968ffbcbfd590339cb57742f1ae", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}], "hexpm", "d4b316c7222a85bbaa2fd7c6e90e37e953257ad196dc229505137c5e505e9eff"}, - "mime": {:hex, :mime, "1.6.0", "dabde576a497cef4bbdd60aceee8160e02a6c89250d6c0b29e56c0dfb00db3d2", [:mix], [], "hexpm", "31a1a8613f8321143dde1dafc36006a17d28d02bdfecb9e95a880fa7aabd19a7"}, - "nimble_parsec": {:hex, :nimble_parsec, "0.5.2", "1d71150d5293d703a9c38d4329da57d3935faed2031d64bc19e77b654ef2d177", [:mix], [], "hexpm", "51aa192e0941313c394956718bdb1e59325874f88f45871cff90345b97f60bba"}, - "tesla": {:hex, :tesla, "1.4.3", "f5a494e08fb1abe4fd9c28abb17f3d9b62b8f6fc492860baa91efb1aab61c8a0", [:mix], [{:castore, "~> 0.1", [hex: :castore, repo: "hexpm", optional: true]}, {:exjsx, ">= 3.0.0", [hex: :exjsx, repo: "hexpm", optional: true]}, {:finch, "~> 0.3", [hex: :finch, repo: "hexpm", optional: true]}, {:fuse, "~> 2.4", [hex: :fuse, repo: "hexpm", optional: true]}, {:gun, "~> 1.3", [hex: :gun, repo: "hexpm", optional: true]}, {:hackney, "~> 1.6", [hex: :hackney, repo: "hexpm", optional: true]}, {:ibrowse, "4.4.0", [hex: :ibrowse, repo: "hexpm", optional: true]}, {:jason, ">= 1.0.0", [hex: :jason, repo: "hexpm", optional: true]}, {:mime, "~> 1.0", [hex: :mime, repo: "hexpm", optional: false]}, {:mint, "~> 1.0", [hex: :mint, repo: "hexpm", optional: true]}, {:poison, ">= 1.0.0", [hex: :poison, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: true]}], "hexpm", "e0755bb664bf4d664af72931f320c97adbf89da4586670f4864bf259b5750386"}, + "earmark_parser": {:hex, :earmark_parser, "1.4.39", "424642f8335b05bb9eb611aa1564c148a8ee35c9c8a8bba6e129d51a3e3c6769", [:mix], [], "hexpm", "06553a88d1f1846da9ef066b87b57c6f605552cfbe40d20bd8d59cc6bde41944"}, + "ex_doc": {:hex, :ex_doc, "0.31.1", "8a2355ac42b1cc7b2379da9e40243f2670143721dd50748bf6c3b1184dae2089", [:mix], [{:earmark_parser, "~> 1.4.39", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_c, ">= 0.1.1", [hex: :makeup_c, repo: "hexpm", optional: true]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "3178c3a407c557d8343479e1ff117a96fd31bafe52a039079593fb0524ef61b0"}, + "jason": {:hex, :jason, "1.4.1", "af1504e35f629ddcdd6addb3513c3853991f694921b1b9368b0bd32beb9f1b63", [:mix], [{:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "fbb01ecdfd565b56261302f7e1fcc27c4fb8f32d56eab74db621fc154604a7a1"}, + "makeup": {:hex, :makeup, "1.1.1", "fa0bc768698053b2b3869fa8a62616501ff9d11a562f3ce39580d60860c3a55e", [:mix], [{:nimble_parsec, "~> 1.2.2 or ~> 1.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "5dc62fbdd0de44de194898b6710692490be74baa02d9d108bc29f007783b0b48"}, + "makeup_elixir": {:hex, :makeup_elixir, "0.16.2", "627e84b8e8bf22e60a2579dad15067c755531fea049ae26ef1020cad58fe9578", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}, {:nimble_parsec, "~> 1.2.3 or ~> 1.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "41193978704763f6bbe6cc2758b84909e62984c7752b3784bd3c218bb341706b"}, + "makeup_erlang": {:hex, :makeup_erlang, "0.1.5", "e0ff5a7c708dda34311f7522a8758e23bfcd7d8d8068dc312b5eb41c6fd76eba", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}], "hexpm", "94d2e986428585a21516d7d7149781480013c56e30c6a233534bedf38867a59a"}, + "mime": {:hex, :mime, "2.0.5", "dc34c8efd439abe6ae0343edbb8556f4d63f178594894720607772a041b04b02", [:mix], [], "hexpm", "da0d64a365c45bc9935cc5c8a7fc5e49a0e0f9932a761c55d6c52b142780a05c"}, + "nimble_parsec": {:hex, :nimble_parsec, "1.4.0", "51f9b613ea62cfa97b25ccc2c1b4216e81df970acd8e16e8d1bdc58fef21370d", [:mix], [], "hexpm", "9c565862810fb383e9838c1dd2d7d2c437b3d13b267414ba6af33e50d2d1cf28"}, + "tesla": {:hex, :tesla, "1.8.0", "d511a4f5c5e42538d97eef7c40ec4f3e44effdc5068206f42ed859e09e51d1fd", [:mix], [{:castore, "~> 0.1 or ~> 1.0", [hex: :castore, repo: "hexpm", optional: true]}, {:exjsx, ">= 3.0.0", [hex: :exjsx, repo: "hexpm", optional: true]}, {:finch, "~> 0.13", [hex: :finch, repo: "hexpm", optional: true]}, {:fuse, "~> 2.4", [hex: :fuse, repo: "hexpm", optional: true]}, {:gun, ">= 1.0.0", [hex: :gun, repo: "hexpm", optional: true]}, {:hackney, "~> 1.6", [hex: :hackney, repo: "hexpm", optional: true]}, {:ibrowse, "4.4.2", [hex: :ibrowse, repo: "hexpm", optional: true]}, {:jason, ">= 1.0.0", [hex: :jason, repo: "hexpm", optional: true]}, {:mime, "~> 1.0 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:mint, "~> 1.0", [hex: :mint, repo: "hexpm", optional: true]}, {:msgpax, "~> 2.3", [hex: :msgpax, repo: "hexpm", optional: true]}, {:poison, ">= 1.0.0", [hex: :poison, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: true]}], "hexpm", "10501f360cd926a309501287470372af1a6e1cbed0f43949203a4c13300bc79f"}, } From 4ec4b1e3f19ae19a6def05006523abf1f09e285e Mon Sep 17 00:00:00 2001 From: MosesMuiru Date: Sat, 9 Mar 2024 11:53:50 +0300 Subject: [PATCH 2/4] changed base url of sms service --- lib/at_ex/gateway/Sms/bulk.ex | 4 ++-- lib/at_ex/gateway/application.ex | 4 +++- lib/at_ex/gateway/base_http.ex | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/at_ex/gateway/Sms/bulk.ex b/lib/at_ex/gateway/Sms/bulk.ex index 36a426b..c68194b 100644 --- a/lib/at_ex/gateway/Sms/bulk.ex +++ b/lib/at_ex/gateway/Sms/bulk.ex @@ -5,8 +5,8 @@ defmodule AtEx.Gateway.Sms.Bulk do This module holds the implementation for the HTTP Gateway that runs calls against the Africas Talking API SMS endpoint, use it to POST and GET requests to the SMS endpoint """ - @live_url "https://api.africastalking.com/version1" - @sandbox_url "https://api.sandbox.africastalking.com/version1" + @live_url "https://api.africastalking.com/version1/messaging" + @sandbox_url "https://api.sandbox.africastalking.com/version1/messaging" use AtEx.Gateway.Base, url: get_url(@live_url, @sandbox_url) diff --git a/lib/at_ex/gateway/application.ex b/lib/at_ex/gateway/application.ex index 8820897..3d649b2 100644 --- a/lib/at_ex/gateway/application.ex +++ b/lib/at_ex/gateway/application.ex @@ -21,9 +21,11 @@ defmodule AtEx.Gateway.Application do iex> AtEx.Gateway.Application.get_data() {:ok, %{"UserData" => %{"balance" => "ZAR -1.3448"}} } """ + @spec get_data :: {:ok, map()} | {:error, term()} def get_data do - username = Application.get_env(:at_ex, :username) + # changed Application.get_env to + username = Application.fetch_env(:at_ex, :username) params = %{} diff --git a/lib/at_ex/gateway/base_http.ex b/lib/at_ex/gateway/base_http.ex index c894acf..08a3858 100644 --- a/lib/at_ex/gateway/base_http.ex +++ b/lib/at_ex/gateway/base_http.ex @@ -34,7 +34,7 @@ defmodule AtEx.Gateway.Base do @accept "application/json" @content_type "application/x-www-form-urlencoded" - @key Application.get_env(:at_ex, :api_key) + @key Application.fetch_env(:at_ex, :api_key) plug(Tesla.Middleware.BaseUrl, @config[:url]) From ec8f80eeca6419de9e7a7288a361677679c49227 Mon Sep 17 00:00:00 2001 From: MosesMuiru Date: Sat, 9 Mar 2024 12:05:29 +0300 Subject: [PATCH 3/4] restored the url --- lib/at_ex/gateway/Sms/bulk.ex | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/at_ex/gateway/Sms/bulk.ex b/lib/at_ex/gateway/Sms/bulk.ex index c68194b..36a426b 100644 --- a/lib/at_ex/gateway/Sms/bulk.ex +++ b/lib/at_ex/gateway/Sms/bulk.ex @@ -5,8 +5,8 @@ defmodule AtEx.Gateway.Sms.Bulk do This module holds the implementation for the HTTP Gateway that runs calls against the Africas Talking API SMS endpoint, use it to POST and GET requests to the SMS endpoint """ - @live_url "https://api.africastalking.com/version1/messaging" - @sandbox_url "https://api.sandbox.africastalking.com/version1/messaging" + @live_url "https://api.africastalking.com/version1" + @sandbox_url "https://api.sandbox.africastalking.com/version1" use AtEx.Gateway.Base, url: get_url(@live_url, @sandbox_url) From 6322ad67f03c710bd7ba1fe1ca520b2892f694d8 Mon Sep 17 00:00:00 2001 From: MosesMuiru Date: Fri, 19 Jul 2024 20:49:27 +0300 Subject: [PATCH 4/4] fix: removed comments --- lib/at_ex/gateway/application.ex | 1 - mix.exs | 3 --- 2 files changed, 4 deletions(-) diff --git a/lib/at_ex/gateway/application.ex b/lib/at_ex/gateway/application.ex index 3d649b2..387625a 100644 --- a/lib/at_ex/gateway/application.ex +++ b/lib/at_ex/gateway/application.ex @@ -24,7 +24,6 @@ defmodule AtEx.Gateway.Application do @spec get_data :: {:ok, map()} | {:error, term()} def get_data do - # changed Application.get_env to username = Application.fetch_env(:at_ex, :username) params = diff --git a/mix.exs b/mix.exs index 7899294..bd43d47 100644 --- a/mix.exs +++ b/mix.exs @@ -34,12 +34,9 @@ defmodule AtEx.MixProject do # Run "mix help deps" to learn about dependencies. defp deps do [ - #{:tesla, "~> 1.4.3"}, - #{:jason, "~> 1.1"}, {:jason, "~> 1.4"}, {:tesla, "~> 1.8"}, {:ex_doc, "~> 0.31.1", only: :dev, runtime: false} - #{:ex_doc, "~> 0.19", only: :dev, runtime: false} ] end