Save all currently accumulated repository changes as a backup snapshot for Gitea so no local work is lost.
36 lines
1.4 KiB
PHP
36 lines
1.4 KiB
PHP
<?php
|
||
/**
|
||
* API для n8n: по projectid возвращает fillData + список файлов для отправки в Debex.
|
||
* GET/POST: id или projectid, опционально type/processType, version.
|
||
*/
|
||
header('Content-Type: application/json; charset=utf-8');
|
||
error_reporting(E_ALL);
|
||
ini_set('display_errors', '0');
|
||
|
||
$id = isset($_REQUEST['id']) ? $_REQUEST['id'] : (isset($_REQUEST['projectid']) ? $_REQUEST['projectid'] : null);
|
||
$processType = isset($_REQUEST['type']) ? $_REQUEST['type'] : (isset($_REQUEST['processType']) ? $_REQUEST['processType'] : '201.01');
|
||
$version = isset($_REQUEST['version']) ? $_REQUEST['version'] : 'Prod';
|
||
|
||
if (empty($id) || !ctype_digit((string)$id)) {
|
||
echo json_encode(['ok' => false, 'error' => 'Не указан или неверен id проекта (projectid)']);
|
||
exit;
|
||
}
|
||
|
||
require_once 'include/utils/utils.php';
|
||
require_once 'include/utils/Debexpert-guzzle.php';
|
||
|
||
try {
|
||
$payload = GetSend2CourtPayload((int)$id, $processType, $version);
|
||
if ($payload === null) {
|
||
echo json_encode(['ok' => false, 'error' => 'Не удалось собрать payload (см. логи)']);
|
||
exit;
|
||
}
|
||
if (isset($payload['error'])) {
|
||
echo json_encode(['ok' => false, 'error' => $payload['error']]);
|
||
exit;
|
||
}
|
||
echo json_encode(array_merge(['ok' => true], $payload), JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
|
||
} catch (Exception $e) {
|
||
echo json_encode(['ok' => false, 'error' => $e->getMessage()]);
|
||
}
|