Completed
Push — develop ( 136153...525928 )
by Nate
03:34
created

ContactLists::defaultTransformer()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 13

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
dl 0
loc 13
ccs 0
cts 3
cp 0
rs 9.8333
c 0
b 0
f 0
cc 1
nc 1
nop 0
crap 2
1
<?php
2
3
/**
4
 * @copyright  Copyright (c) Flipbox Digital Limited
5
 * @license    https://flipboxfactory.com/software/hubspot/license
6
 * @link       https://www.flipboxfactory.com/software/hubspot/
7
 */
8
9
namespace flipbox\hubspot\services\resources;
10
11
use flipbox\hubspot\builders\ContactListBuilder;
12
use flipbox\hubspot\builders\ObjectBuilderInterface;
13
use flipbox\hubspot\criteria\ContactListCriteria;
14
use flipbox\hubspot\criteria\ObjectCriteriaInterface;
15
use flipbox\hubspot\transformers\collections\TransformerCollectionInterface;
16
use flipbox\hubspot\transformers\DynamicModelSuccess;
17
use Flipbox\Relay\HubSpot\Builder\Resources\ContactList\Create;
18
use Flipbox\Relay\HubSpot\Builder\Resources\ContactList\Delete;
19
use Flipbox\Relay\HubSpot\Builder\Resources\ContactList\Read;
20
use Flipbox\Relay\HubSpot\Builder\Resources\ContactList\Update;
21
use yii\base\Component;
22
23
/**
24
 * @author Flipbox Factory <[email protected]>
25
 * @since 1.0.0
26
 */
27
class ContactLists extends Component implements CRUDInterface
28
{
29
    use traits\SyncByElementTrait,
30
        traits\ReadObjectTrait,
31
        traits\UpsertObjectTrait,
32
        traits\DeleteObjectTrait;
33
34
    /**
35
     * The HubSpot Resource name
36
     */
37
    const HUBSPOT_RESOURCE = 'contactLists';
38
39
    /**
40
     * @inheritdoc
41
     */
42
    public static function defaultTransformer()
43
    {
44
        return [
45
            'class' => DynamicTransformerCollection::class,
46
            'handle' => ContactLists::HUBSPOT_RESOURCE,
47
            'transformers' => [
48
                TransformerCollectionInterface::SUCCESS_KEY => [
49
                    'class' => DynamicModelSuccess::class,
50
                    'resource' => ContactLists::HUBSPOT_RESOURCE
51
                ]
52
            ]
53
        ];
54
    }
55
56
    /**
57
     * @param array $config
58
     * @return ObjectCriteriaInterface
59
     */
60
    public function getCriteria(array $config = []): ObjectCriteriaInterface
61
    {
62
        return new ContactListCriteria($config);
63
    }
64
65
    /**
66
     * @param array $config
67
     * @return ObjectBuilderInterface
68
     */
69
    public function getBuilder(array $config = []): ObjectBuilderInterface
70
    {
71
        return new ContactListBuilder($config);
72
    }
73
74
    /**
75
     * @inheritdoc
76
     */
77
    protected static function createRelayBuilderClass(): string
78
    {
79
        return Create::class;
80
    }
81
82
    /**
83
     * @inheritdoc
84
     */
85
    protected static function readRelayBuilderClass(): string
86
    {
87
        return Read::class;
88
    }
89
90
    /**
91
     * @inheritdoc
92
     */
93
    protected static function updateRelayBuilderClass(): string
94
    {
95
        return Update::class;
96
    }
97
98
    /**
99
     * @inheritdoc
100
     */
101
    protected static function deleteRelayBuilderClass(): string
102
    {
103
        return Delete::class;
104
    }
105
}
106