48 lines
1.3 KiB
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);
|
|
}
|
|
}
|
|
}
|