builder = $builder; } /** * @throws EntityNotFoundException * @throws JsonException */ public function getFormByAlias(Request $request): JsonResponse { $alias = 'checkout'; //$request->json('alias'); if (! $alias) { return new JsonResponse([ 'error' => 'Form alias is required', ], Response::HTTP_UNPROCESSABLE_ENTITY); } $form = $this->builder->newQuery() ->from('acmeshop_forms') ->where('alias', '=', $alias) ->firstOrNull(); if (! $form) { throw new EntityNotFoundException("Form with alias `{$alias}` not found"); } $schema = json_decode($form['schema'], true, 512, JSON_THROW_ON_ERROR); return new JsonResponse([ 'data' => [ 'alias' => $alias, 'friendly_name' => $form['friendly_name'], 'is_custom' => filter_var($form['is_custom'], FILTER_VALIDATE_BOOLEAN), 'schema' => $schema, 'created_at' => $form['created_at'], 'updated_at' => $form['updated_at'], ], ]); } }