Add oban web, securities table and accounts table
This commit is contained in:
		| @@ -1,6 +1,6 @@ | ||||
| defmodule Tradex.Schema do | ||||
|   @moduledoc false | ||||
|   defmacro __using__(opts) do | ||||
|   defmacro __using__(_opts) do | ||||
|     quote do | ||||
|       use Ecto.Schema | ||||
|  | ||||
|   | ||||
| @@ -1,6 +1,7 @@ | ||||
| defmodule TradexWeb.Router do | ||||
|   use TradexWeb, :router | ||||
|  | ||||
|   import Oban.Web.Router | ||||
|   import TradexWeb.UserAuth | ||||
|  | ||||
|   pipeline :browser do | ||||
| @@ -40,6 +41,7 @@ defmodule TradexWeb.Router do | ||||
|     scope "/dev" do | ||||
|       pipe_through :browser | ||||
|  | ||||
|       oban_dashboard("/oban") | ||||
|       live_dashboard "/dashboard", metrics: TradexWeb.Telemetry | ||||
|       forward "/mailbox", Plug.Swoosh.MailboxPreview | ||||
|     end | ||||
|   | ||||
							
								
								
									
										1
									
								
								mix.exs
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								mix.exs
									
									
									
									
									
								
							| @@ -57,6 +57,7 @@ defmodule Tradex.MixProject do | ||||
|       {:uuidv7, "~> 1.0"}, | ||||
|       {:igniter, "~> 0.5"}, | ||||
|       {:oban, "~> 2.19"}, | ||||
|       {:oban_web, "~> 2.11"}, | ||||
|       {:styler, "~> 1.2", only: [:dev, :test], runtime: false} | ||||
|     ] | ||||
|   end | ||||
|   | ||||
							
								
								
									
										2
									
								
								mix.lock
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								mix.lock
									
									
									
									
									
								
							| @@ -26,6 +26,8 @@ | ||||
|   "nimble_options": {:hex, :nimble_options, "1.1.1", "e3a492d54d85fc3fd7c5baf411d9d2852922f66e69476317787a7b2bb000a61b", [:mix], [], "hexpm", "821b2470ca9442c4b6984882fe9bb0389371b8ddec4d45a9504f00a66f650b44"}, | ||||
|   "nimble_pool": {:hex, :nimble_pool, "1.1.0", "bf9c29fbdcba3564a8b800d1eeb5a3c58f36e1e11d7b7fb2e084a643f645f06b", [:mix], [], "hexpm", "af2e4e6b34197db81f7aad230c1118eac993acc0dae6bc83bac0126d4ae0813a"}, | ||||
|   "oban": {:hex, :oban, "2.19.1", "fc376dcb04782973e384ce675539271363eef65222b23b2a8611e78c0744e5f7", [:mix], [{:ecto_sql, "~> 3.10", [hex: :ecto_sql, repo: "hexpm", optional: false]}, {:ecto_sqlite3, "~> 0.9", [hex: :ecto_sqlite3, repo: "hexpm", optional: true]}, {:igniter, "~> 0.5", [hex: :igniter, repo: "hexpm", optional: true]}, {:jason, "~> 1.1", [hex: :jason, repo: "hexpm", optional: true]}, {:myxql, "~> 0.7", [hex: :myxql, repo: "hexpm", optional: true]}, {:postgrex, "~> 0.16", [hex: :postgrex, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "5f27ba9e79b9af623dacd79d597504176e8a7d24f3f8b5570ead2f6cedd3c5ec"}, | ||||
|   "oban_met": {:hex, :oban_met, "1.0.1", "737db0064567b923d3f35efd1d3009dd1435d60ee6f98dbb55dbb83db8f4f4fa", [:mix], [{:oban, "~> 2.18", [hex: :oban, repo: "hexpm", optional: false]}], "hexpm", "0492d841f880b76c5b73081bc70ebea20ebacc08e871345f72c2270513f09957"}, | ||||
|   "oban_web": {:hex, :oban_web, "2.11.0", "8b2a23331ef7e60eabb4118a141880d89812820321b21f289f1696bcf3058810", [:mix], [{:jason, "~> 1.2", [hex: :jason, repo: "hexpm", optional: false]}, {:oban, "~> 2.19", [hex: :oban, repo: "hexpm", optional: false]}, {:oban_met, "~> 1.0", [hex: :oban_met, repo: "hexpm", optional: false]}, {:phoenix, "~> 1.7", [hex: :phoenix, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 3.3 or ~> 4.0", [hex: :phoenix_html, repo: "hexpm", optional: false]}, {:phoenix_live_view, "~> 1.0", [hex: :phoenix_live_view, repo: "hexpm", optional: false]}, {:phoenix_pubsub, "~> 2.1", [hex: :phoenix_pubsub, repo: "hexpm", optional: false]}], "hexpm", "a573f27bf7cb054ff2a694116428dc6fedc18e20a20d10a74934b7c9e473e562"}, | ||||
|   "owl": {:hex, :owl, "0.12.1", "d3146087315c4528ee32411495ba10ec88102597b638d4d1455cf9d245dfb57a", [:mix], [{:ucwidth, "~> 0.2", [hex: :ucwidth, repo: "hexpm", optional: true]}], "hexpm", "d7eb9746aa89c40c46b479d6c2a70b82b94993520e40f21d0b09654f23eebf35"}, | ||||
|   "phoenix": {:hex, :phoenix, "1.7.18", "5310c21443514be44ed93c422e15870aef254cf1b3619e4f91538e7529d2b2e4", [:mix], [{:castore, ">= 0.0.0", [hex: :castore, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:phoenix_pubsub, "~> 2.1", [hex: :phoenix_pubsub, repo: "hexpm", optional: false]}, {:phoenix_template, "~> 1.0", [hex: :phoenix_template, repo: "hexpm", optional: false]}, {:phoenix_view, "~> 2.0", [hex: :phoenix_view, repo: "hexpm", optional: true]}, {:plug, "~> 1.14", [hex: :plug, repo: "hexpm", optional: false]}, {:plug_cowboy, "~> 2.7", [hex: :plug_cowboy, repo: "hexpm", optional: true]}, {:plug_crypto, "~> 1.2 or ~> 2.0", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}, {:websock_adapter, "~> 0.5.3", [hex: :websock_adapter, repo: "hexpm", optional: false]}], "hexpm", "1797fcc82108442a66f2c77a643a62980f342bfeb63d6c9a515ab8294870004e"}, | ||||
|   "phoenix_ecto": {:hex, :phoenix_ecto, "4.6.3", "f686701b0499a07f2e3b122d84d52ff8a31f5def386e03706c916f6feddf69ef", [:mix], [{:ecto, "~> 3.5", [hex: :ecto, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 2.14.2 or ~> 3.0 or ~> 4.1", [hex: :phoenix_html, repo: "hexpm", optional: true]}, {:plug, "~> 1.9", [hex: :plug, repo: "hexpm", optional: false]}, {:postgrex, "~> 0.16 or ~> 1.0", [hex: :postgrex, repo: "hexpm", optional: true]}], "hexpm", "909502956916a657a197f94cc1206d9a65247538de8a5e186f7537c895d95764"}, | ||||
|   | ||||
							
								
								
									
										19
									
								
								priv/repo/migrations/20250127154056_add_securities_table.exs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								priv/repo/migrations/20250127154056_add_securities_table.exs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,19 @@ | ||||
| defmodule Tradex.Repo.Migrations.AddSecuritiesTable do | ||||
|   use Ecto.Migration | ||||
|  | ||||
|   def change do | ||||
|     create table(:securities, primary_key: false) do | ||||
|       add :id, :binary_id, primary_key: true | ||||
|       add :name, :string, null: false | ||||
|       add :ticker, :string | ||||
|       add :wkn, :string | ||||
|       add :isin, :string | ||||
|       add :expiration_date, :date | ||||
|       add :strike_price, :decimal | ||||
|  | ||||
|       timestamps(type: :utc_datetime) | ||||
|     end | ||||
|  | ||||
|     create unique_index(:securities, [:name]) | ||||
|   end | ||||
| end | ||||
							
								
								
									
										15
									
								
								priv/repo/migrations/20250127162154_add_accounts_table.exs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								priv/repo/migrations/20250127162154_add_accounts_table.exs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,15 @@ | ||||
| defmodule Tradex.Repo.Migrations.AddAccountsTable do | ||||
|   use Ecto.Migration | ||||
|  | ||||
|   def change do | ||||
|     create table(:accounts, primary_key: false) do | ||||
|       add :id, :binary_id, primary_key: true | ||||
|       add :name, :string, null: false | ||||
|  | ||||
|       add :owner_id, references(:users, type: :binary_id), null: false | ||||
|       timestamps(type: :utc_datetime) | ||||
|     end | ||||
|  | ||||
|     create index(:accounts, [:owner_id]) | ||||
|   end | ||||
| end | ||||
| @@ -20,6 +20,7 @@ defmodule TradexWeb.ConnCase do | ||||
|   using do | ||||
|     quote do | ||||
|       use TradexWeb, :verified_routes | ||||
|  | ||||
|       import Phoenix.ConnTest | ||||
|       import Plug.Conn | ||||
|       import TradexWeb.ConnCase | ||||
|   | ||||
		Reference in New Issue
	
	Block a user