fix(api): validate docker_compose_raw input in ApplicationsController
- Ensure docker_compose_raw is provided and base64 encoded before processing. - Return appropriate validation error messages for missing or incorrectly formatted input.
This commit is contained in:
@@ -989,7 +989,34 @@ class ApplicationsController extends Controller
|
||||
|
||||
$dockerComposeDomainsJson = collect();
|
||||
if ($request->has('docker_compose_domains')) {
|
||||
$yaml = Yaml::parse($application->docker_compose_raw);
|
||||
if (! $request->has('docker_compose_raw')) {
|
||||
return response()->json([
|
||||
'message' => 'Validation failed.',
|
||||
'errors' => [
|
||||
'docker_compose_raw' => 'The base64 encoded docker_compose_raw is required.',
|
||||
],
|
||||
], 422);
|
||||
}
|
||||
|
||||
if (! isBase64Encoded($request->docker_compose_raw)) {
|
||||
return response()->json([
|
||||
'message' => 'Validation failed.',
|
||||
'errors' => [
|
||||
'docker_compose_raw' => 'The docker_compose_raw should be base64 encoded.',
|
||||
],
|
||||
], 422);
|
||||
}
|
||||
$dockerComposeRaw = base64_decode($request->docker_compose_raw);
|
||||
if (mb_detect_encoding($dockerComposeRaw, 'ASCII', true) === false) {
|
||||
return response()->json([
|
||||
'message' => 'Validation failed.',
|
||||
'errors' => [
|
||||
'docker_compose_raw' => 'The docker_compose_raw should be base64 encoded.',
|
||||
],
|
||||
], 422);
|
||||
}
|
||||
$dockerComposeRaw = base64_decode($request->docker_compose_raw);
|
||||
$yaml = Yaml::parse($dockerComposeRaw);
|
||||
$services = data_get($yaml, 'services');
|
||||
$dockerComposeDomains = collect($request->docker_compose_domains);
|
||||
if ($dockerComposeDomains->count() > 0) {
|
||||
@@ -1918,7 +1945,34 @@ class ApplicationsController extends Controller
|
||||
|
||||
$dockerComposeDomainsJson = collect();
|
||||
if ($request->has('docker_compose_domains')) {
|
||||
$yaml = Yaml::parse($application->docker_compose_raw);
|
||||
if (! $request->has('docker_compose_raw')) {
|
||||
return response()->json([
|
||||
'message' => 'Validation failed.',
|
||||
'errors' => [
|
||||
'docker_compose_raw' => 'The base64 encoded docker_compose_raw is required.',
|
||||
],
|
||||
], 422);
|
||||
}
|
||||
|
||||
if (! isBase64Encoded($request->docker_compose_raw)) {
|
||||
return response()->json([
|
||||
'message' => 'Validation failed.',
|
||||
'errors' => [
|
||||
'docker_compose_raw' => 'The docker_compose_raw should be base64 encoded.',
|
||||
],
|
||||
], 422);
|
||||
}
|
||||
$dockerComposeRaw = base64_decode($request->docker_compose_raw);
|
||||
if (mb_detect_encoding($dockerComposeRaw, 'ASCII', true) === false) {
|
||||
return response()->json([
|
||||
'message' => 'Validation failed.',
|
||||
'errors' => [
|
||||
'docker_compose_raw' => 'The docker_compose_raw should be base64 encoded.',
|
||||
],
|
||||
], 422);
|
||||
}
|
||||
$dockerComposeRaw = base64_decode($request->docker_compose_raw);
|
||||
$yaml = Yaml::parse($dockerComposeRaw);
|
||||
$services = data_get($yaml, 'services');
|
||||
$dockerComposeDomains = collect($request->docker_compose_domains);
|
||||
if ($dockerComposeDomains->count() > 0) {
|
||||
|
||||
Reference in New Issue
Block a user