TransactionCreated::__construct()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 5
c 0
b 0
f 0
rs 9.4285
cc 1
eloc 3
nc 1
nop 2
1
<?php
2
3
namespace Amelia\Monzo\Events;
4
5
use Ramsey\Uuid\Uuid;
6
use Amelia\Monzo\Models\Transaction;
7
use Illuminate\Contracts\Queue\ShouldQueue;
8
use Amelia\Monzo\Contracts\HasMonzoCredentials;
9
10
class TransactionCreated implements ShouldQueue
11
{
12
    /**
13
     * The type of this transaction.
14
     *
15
     * @var string
16
     */
17
    public $type = 'transaction.created';
18
19
    /**
20
     * An ID used to prevent processing duplicates.
21
     *
22
     * @var string
23
     */
24
    public $id;
25
26
    /**
27
     * A user model for this transaction event.
28
     *
29
     * @var \Illuminate\Database\Eloquent\Model|\Amelia\Monzo\Contracts\HasMonzoCredentials
30
     */
31
    public $user;
32
33
    /**
34
     * The transaction sent in this event.
35
     *
36
     * @var \Amelia\Monzo\Models\Transaction
37
     */
38
    public $transaction;
39
40
    /**
41
     * TransactionCreated constructor.
42
     *
43
     * @param \Amelia\Monzo\Models\Transaction $transaction
44
     * @param \Amelia\Monzo\Contracts\HasMonzoCredentials|\Illuminate\Database\Eloquent\Model $user
45
     */
46
    public function __construct(Transaction $transaction, HasMonzoCredentials $user)
47
    {
48
        $this->transaction = $transaction;
49
        $this->user = $user;
50
        $this->id = (string) Uuid::uuid4();
51
    }
52
}
53