@@ -4,6 +4,7 @@ defmodule Algora.Accounts.Identity do
4
4
5
5
alias Algora.Accounts.Identity
6
6
alias Algora.Accounts.User
7
+ alias Algora.Activities.Activity
7
8
8
9
@ derive { Inspect , except: [ :provider_token , :provider_meta ] }
9
10
typed_schema "identities" do
@@ -15,10 +16,10 @@ defmodule Algora.Accounts.Identity do
15
16
field :provider_id , :string
16
17
field :provider_meta , :map
17
18
18
- has_many :activities , { "identity_activities" , Algora.Activities.Activity } , foreign_key: :assoc_id
19
-
20
19
belongs_to :user , User
21
20
21
+ has_many :activities , { "identity_activities" , Activity } , foreign_key: :assoc_id , on_replace: :ignore
22
+
22
23
timestamps ( )
23
24
end
24
25
@@ -42,6 +43,7 @@ defmodule Algora.Accounts.Identity do
42
43
:provider_name ,
43
44
:provider_id
44
45
] )
46
+ |> Activity . put_activity ( % Identity { } , % { type: :identity_created } )
45
47
|> generate_id ( )
46
48
|> validate_required ( [ :provider_token , :provider_email , :provider_name , :provider_id ] )
47
49
|> validate_length ( :provider_meta , max: 10_000 )
@@ -68,6 +70,7 @@ defmodule Algora.Accounts.Identity do
68
70
:provider_name ,
69
71
:provider_id
70
72
] )
73
+ |> Activity . put_activity ( % Identity { } , % { type: :identity_created } )
71
74
|> generate_id ( )
72
75
|> validate_required ( [ :provider_token , :provider_email , :provider_name , :provider_id ] )
73
76
|> validate_length ( :provider_meta , max: 10_000 )
0 commit comments