File tree Expand file tree Collapse file tree 3 files changed +23
-8
lines changed
Expand file tree Collapse file tree 3 files changed +23
-8
lines changed Original file line number Diff line number Diff line change @@ -78,10 +78,11 @@ defmodule Realtime.Api.Tenant do
7878 :migrations_ran ,
7979 :broadcast_adapter
8080 ] )
81- |> validate_required ( [
82- :external_id ,
83- :jwt_secret
84- ] )
81+ |> validate_required ( [ :external_id ] )
82+ |> check_constraint ( :jwt_secret ,
83+ name: :jwt_secret_or_jwt_jwks_required ,
84+ message: "either jwt_secret or jwt_jwks must be provided"
85+ )
8586 |> unique_constraint ( [ :external_id ] )
8687 |> encrypt_jwt_secret ( )
8788 |> maybe_set_default ( :max_bytes_per_second , :tenant_max_bytes_per_second )
@@ -102,7 +103,8 @@ defmodule Realtime.Api.Tenant do
102103 end
103104 end
104105
105- def encrypt_jwt_secret ( changeset ) do
106- update_change ( changeset , :jwt_secret , & Crypto . encrypt! / 1 )
107- end
106+ def encrypt_jwt_secret ( % Ecto.Changeset { valid?: true } = changeset ) ,
107+ do: update_change ( changeset , :jwt_secret , & Crypto . encrypt! / 1 )
108+
109+ def encrypt_jwt_secret ( changeset ) , do: changeset
108110end
Original file line number Diff line number Diff line change @@ -4,7 +4,7 @@ defmodule Realtime.MixProject do
44 def project do
55 [
66 app: :realtime ,
7- version: "2.68.3 " ,
7+ version: "2.68.4 " ,
88 elixir: "~> 1.18" ,
99 elixirc_paths: elixirc_paths ( Mix . env ( ) ) ,
1010 start_permanent: Mix . env ( ) == :prod ,
Original file line number Diff line number Diff line change 1+ defmodule Realtime.Repo.Migrations.NullableJwtSecrets do
2+ use Ecto.Migration
3+
4+ def change do
5+ alter table ( :tenants ) do
6+ modify :jwt_secret , :string , null: true
7+ end
8+
9+ create constraint ( :tenants , :jwt_secret_or_jwt_jwks_required ,
10+ check: "jwt_secret IS NOT NULL OR jwt_jwks IS NOT NULL"
11+ )
12+ end
13+ end
You can’t perform that action at this time.
0 commit comments