calendar strip - move api call to proxy route
This commit is contained in:
parent
fde6a9cc83
commit
5773c1ef49
5 changed files with 116 additions and 20 deletions
8
site/config/config.php
Normal file
8
site/config/config.php
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
<?php
|
||||
|
||||
return [
|
||||
'debug' => true,
|
||||
'routes' => [
|
||||
require_once(__DIR__ . '/routes/mapado.php')
|
||||
]
|
||||
];
|
||||
34
site/config/routes/mapado.php
Normal file
34
site/config/routes/mapado.php
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
<?php
|
||||
return [
|
||||
'pattern' => '/mapado.json',
|
||||
'method' => 'POST',
|
||||
'action' => function () {
|
||||
$jsonRequest = file_get_contents("php://input");
|
||||
$request = json_decode($jsonRequest, true);
|
||||
|
||||
$token = site()->mapadoToken();
|
||||
$contractId = site()->mapadoContractId();
|
||||
$requestEndPoint = $request['requestEndPoint'];
|
||||
$requestParams = $request['requestParams'];
|
||||
$requestFields = $request['requestFields'];
|
||||
|
||||
$url = "https://ticketing.mapado.net/v1/$requestEndPoint?contract=$contractId&";
|
||||
|
||||
$url .= buildParamsString($requestParams);
|
||||
$url .= buildFieldsString($requestFields);
|
||||
|
||||
$ch = curl_init();
|
||||
curl_setopt($ch, CURLOPT_URL, $url);
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||
curl_setopt($ch, CURLOPT_HTTPHEADER, [
|
||||
"Authorization: Bearer " . $token
|
||||
]);
|
||||
|
||||
$responseString = curl_exec($ch);
|
||||
curl_close($ch);
|
||||
|
||||
$responseJson = json_encode(json_decode($responseString));
|
||||
|
||||
return $responseJson;
|
||||
}
|
||||
];
|
||||
33
site/plugins/helpers/index.php
Normal file
33
site/plugins/helpers/index.php
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
<?php
|
||||
|
||||
function buildFieldsString($requestFields) {
|
||||
$fields = [];
|
||||
foreach ($requestFields as $field) {
|
||||
if (isset($field['subfields'])) {
|
||||
$subfields = [];
|
||||
foreach ($field['subfields'] as $subfield) {
|
||||
if (isset($subfield['subfields'])) {
|
||||
$subsubfields = [];
|
||||
foreach ($subfield['subfields'] as $subsubfield) {
|
||||
$subsubfields[] = $subsubfield['name'];
|
||||
}
|
||||
$subfields[] = $subfield['name'] . '{' . implode(',', $subsubfields) . '}';
|
||||
} else {
|
||||
$subfields[] = $subfield['name'];
|
||||
}
|
||||
}
|
||||
$fields[] = $field['name'] . '{' . implode(',', $subfields) . '}';
|
||||
} else {
|
||||
$fields[] = $field['name'];
|
||||
}
|
||||
}
|
||||
return '&fields=' . implode(',', $fields);
|
||||
}
|
||||
|
||||
function buildParamsString($requestParams) {
|
||||
$queryString = [];
|
||||
foreach ($requestParams as $param) {
|
||||
$queryString[] = urlencode($param['name']) . '=' . urlencode($param['value']);
|
||||
}
|
||||
return implode('&', $queryString);
|
||||
}
|
||||
|
|
@ -14,12 +14,12 @@
|
|||
this.dates = getDatesInMonth(this.monthNumb);
|
||||
|
||||
const mapadoDates = await getMapadoDates(this.monthNumb)
|
||||
mapadoDates.forEach(mapadoDate => {
|
||||
const day = parseInt(mapadoDate.day)
|
||||
this.dates[day].push(mapadoDate.name)
|
||||
})
|
||||
// mapadoDates.forEach(mapadoDate => {
|
||||
// const day = parseInt(mapadoDate.day)
|
||||
// this.dates[day].push(mapadoDate.name)
|
||||
// })
|
||||
|
||||
console.log('dates', this.dates)
|
||||
// console.log('dates', this.dates)
|
||||
}
|
||||
}"
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue