1
1
defmodule Algora.Contracts do
2
2
@ moduledoc false
3
- import Algora.Activities.Activity , only: [ put_activity: 2 ]
4
3
import Ecto.Changeset
5
4
import Ecto.Query
6
5
@@ -172,20 +171,16 @@ defmodule Algora.Contracts do
172
171
total_fee: total_fee ,
173
172
line_items: line_items
174
173
} )
175
- |> put_assoc (
176
- :contract ,
177
- put_activity ( contract , % {
178
- type: :transaction_created
179
- } )
180
- )
181
174
|> Algora.Validations . validate_positive ( :gross_amount )
182
175
|> Algora.Validations . validate_positive ( :net_amount )
183
176
|> Algora.Validations . validate_positive ( :total_fee )
184
177
|> foreign_key_constraint ( :original_contract_id )
185
178
|> foreign_key_constraint ( :contract_id )
186
179
|> foreign_key_constraint ( :timesheet_id )
187
180
|> foreign_key_constraint ( :user_id )
188
- |> Repo . insert ( )
181
+ |> Repo . insert_with_activity ( % {
182
+ type: :transaction_created
183
+ } )
189
184
end
190
185
191
186
defp initialize_debit ( % { id: id , contract: contract , amount: amount , linked_transaction_id: linked_transaction_id } ) do
@@ -204,19 +199,15 @@ defmodule Algora.Contracts do
204
199
total_fee: Money . zero ( :USD ) ,
205
200
linked_transaction_id: linked_transaction_id
206
201
} )
207
- |> put_assoc (
208
- :contract ,
209
- put_activity ( contract , % {
210
- type: :transaction_created
211
- } )
212
- )
213
202
|> Algora.Validations . validate_positive ( :gross_amount )
214
203
|> Algora.Validations . validate_positive ( :net_amount )
215
204
|> foreign_key_constraint ( :original_contract_id )
216
205
|> foreign_key_constraint ( :contract_id )
217
206
|> foreign_key_constraint ( :timesheet_id )
218
207
|> foreign_key_constraint ( :user_id )
219
- |> Repo . insert ( )
208
+ |> Repo . insert_with_activity ( % {
209
+ type: :transaction_created
210
+ } )
220
211
end
221
212
222
213
defp initialize_credit ( % { id: id , contract: contract , amount: amount , linked_transaction_id: linked_transaction_id } ) do
@@ -235,19 +226,15 @@ defmodule Algora.Contracts do
235
226
user_id: contract . contractor_id ,
236
227
linked_transaction_id: linked_transaction_id
237
228
} )
238
- |> put_assoc (
239
- :contract ,
240
- put_activity ( contract , % {
241
- type: :transaction_created
242
- } )
243
- )
244
229
|> Algora.Validations . validate_positive ( :gross_amount )
245
230
|> Algora.Validations . validate_positive ( :net_amount )
246
231
|> foreign_key_constraint ( :original_contract_id )
247
232
|> foreign_key_constraint ( :contract_id )
248
233
|> foreign_key_constraint ( :timesheet_id )
249
234
|> foreign_key_constraint ( :user_id )
250
- |> Repo . insert ( )
235
+ |> Repo . insert_with_activity ( % {
236
+ type: :transaction_created
237
+ } )
251
238
end
252
239
253
240
defp initialize_transfer ( % { contract: contract , amount: amount } ) do
@@ -265,19 +252,15 @@ defmodule Algora.Contracts do
265
252
timesheet_id: contract . timesheet . id ,
266
253
user_id: contract . contractor_id
267
254
} )
268
- |> put_assoc (
269
- :contract ,
270
- put_activity ( contract , % {
271
- type: :transaction_created
272
- } )
273
- )
274
255
|> Algora.Validations . validate_positive ( :gross_amount )
275
256
|> Algora.Validations . validate_positive ( :net_amount )
276
257
|> foreign_key_constraint ( :original_contract_id )
277
258
|> foreign_key_constraint ( :contract_id )
278
259
|> foreign_key_constraint ( :timesheet_id )
279
260
|> foreign_key_constraint ( :user_id )
280
- |> Repo . insert ( )
261
+ |> Repo . insert_with_activity ( % {
262
+ type: :transaction_created
263
+ } )
281
264
end
282
265
283
266
defp initialize_prepayment_transaction ( contract ) do
@@ -529,14 +512,10 @@ defmodule Algora.Contracts do
529
512
provider_meta: Util . normalize_struct ( % { error: error } ) ,
530
513
status: :failed
531
514
} )
532
- |> put_assoc (
533
- :contract ,
534
- put_activity ( transaction . contract , % {
535
- type: :transaction_status_change ,
536
- meta: % { status: :failed , transaction_id: transaction . id }
537
- } )
538
- )
539
- |> Repo . update ( )
515
+ |> Repo . update_with_activity ( % {
516
+ type: :transaction_status_change ,
517
+ meta: % { status: :failed , transaction_id: transaction . id }
518
+ } )
540
519
end
541
520
542
521
defp update_transaction_status ( transaction , record , status ) do
@@ -547,14 +526,10 @@ defmodule Algora.Contracts do
547
526
status: status ,
548
527
succeeded_at: if ( status == :succeeded , do: DateTime . utc_now ( ) )
549
528
} )
550
- |> put_assoc (
551
- :contract ,
552
- put_activity ( transaction . contract , % {
553
- type: :transaction_status_change ,
554
- meta: % { status: status , transaction_id: transaction . id }
555
- } )
556
- )
557
- |> Repo . update ( )
529
+ |> Repo . update_with_activity ( % {
530
+ type: :transaction_status_change ,
531
+ meta: % { status: status , transaction_id: transaction . id }
532
+ } )
558
533
end
559
534
560
535
defp mark_contract_as_paid ( contract ) do
@@ -579,10 +554,6 @@ defmodule Algora.Contracts do
579
554
hourly_rate: contract . hourly_rate ,
580
555
hours_per_week: contract . hours_per_week
581
556
} )
582
- # |> put_activity(contract, %{
583
- # type: :contract_renewed,
584
- # trace_id: Nanoid.generate()
585
- # })
586
557
|> Repo . insert_with_activity ( % {
587
558
type: :contract_renewed ,
588
559
trace_id: Nanoid . generate ( )
0 commit comments