Files
preregister/app/Http/Controllers/Admin/MailwizzApiController.php

48 lines
1.3 KiB
PHP

<?php
declare(strict_types=1);
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use App\Services\MailwizzService;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use RuntimeException;
class MailwizzApiController extends Controller
{
public function lists(Request $request): JsonResponse
{
$request->validate(['api_key' => ['required', 'string']]);
try {
$service = new MailwizzService($request->string('api_key')->toString());
return response()->json([
'lists' => $service->getLists(),
]);
} catch (RuntimeException $e) {
return response()->json(['message' => $e->getMessage()], 422);
}
}
public function fields(Request $request): JsonResponse
{
$request->validate([
'api_key' => ['required', 'string'],
'list_uid' => ['required', 'string'],
]);
try {
$service = new MailwizzService($request->string('api_key')->toString());
return response()->json([
'fields' => $service->getListFields($request->string('list_uid')->toString()),
]);
} catch (RuntimeException $e) {
return response()->json(['message' => $e->getMessage()], 422);
}
}
}