Completed
Push — master ( c7c88d...7873ee )
by Mike
02:24
created

Bulk::configureData()   B

Complexity

Conditions 5
Paths 4

Size

Total Lines 24
Code Lines 18

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 24
rs 8.5125
cc 5
eloc 18
nc 4
nop 1
1
<?php
2
3
namespace SugarAPI\SDK\EntryPoint\POST;
4
5
use SugarAPI\SDK\EntryPoint\Abstracts\POST\AbstractPostEntryPoint;
6
7
class Bulk extends AbstractPostEntryPoint {
8
9
    /**
10
     * @inheritdoc
11
     */
12
    protected $_URL = 'bulk';
13
14
    /**
15
     * @inheritdoc
16
     */
17
    protected $_DATA_TYPE = 'array';
18
19
    /**
20
     * @inheritdoc
21
     */
22
    protected $_REQUIRED_DATA = array(
23
        'requests' => null
24
    );
25
26
    private $bulkRequest = array(
27
        'url' => '',
28
        'data' => '',
29
        'headers' => array(),
30
        'method' => ''
31
    );
32
33
    protected function configureData($data) {
34
        $requestData = array(
35
            'requests' => array()
36
        );
37
        $counter = 0;
38
        foreach($data as $key => $EntryPoint){
39
            if (is_object($EntryPoint)) {
40
                $requestData['requests'][$counter] = $this->bulkRequest;
41
                $requestData['requests'][$counter]['method'] = $EntryPoint->getRequest()->getType();
42
                if ($requestData['requests'][$counter]['method'] == "POST" || $requestData['requests'][$counter]['method'] == "PUT") {
43
                    $requestData['requests'][$counter]['data'] = $EntryPoint->getRequest()->getBody();
44
                } else {
45
                    unset($requestData['requests'][$counter]['data']);
46
                }
47
                $requestData['requests'][$counter]['headers'] = $EntryPoint->getRequest()->getHeaders();
48
                $requestData['requests'][$counter]['url'] = "v10/" . str_replace($this->baseUrl, "", $EntryPoint->getUrl());
49
50
                $counter++;
51
            }
52
        }
53
        print_r($requestData);
54
        $data = $requestData;
55
        parent::configureData($data);
56
    }
57
}