api/api library
Camada de API do Flenx: definição declarativa de endpoints, envelope de retorno padrão, paginação, runtime Dart (shelf) e gerador PHP.
Classes
- ApiAction
- Ação declarativa executada por um endpoint. O runtime Dart e o gerador PHP sabem executar cada uma. Ações de listagem são sempre paginadas.
- ApiConfig
- Configuração base aplicada a todas as chamadas (middlewares padrão): CORS, limites de paginação. Pensada para o usuário não precisar configurar.
- ApiEndpoint
- Definição declarativa de um endpoint de API. A mesma definição vira um handler Dart (runtime) ou um arquivo PHP (gerado).
- ApiResponse
-
Envelope de retorno padrão de toda chamada de API do Flenx.
Mesma forma em sucesso e erro, com
metade paginação quando aplicável. - DbExecutor
-
Abstração de acesso ao banco usada pelo runtime Dart. Implementações:
InMemoryDbExecutor (testes/dev),
JsonlDbExecutor(arquivo) e, em produção, umMySqlExecutor(mysql_client). O alvo PHP gera PDO equivalente. - DeleteById
-
Remove um registro por
id. - Field
- Campo de entrada de um endpoint, com validação declarativa. A mesma regra é aplicada no alvo Dart (runtime) e gerada no PHP.
- FindById
-
Busca um registro por
id(parâmetroid). - FlenxApi
- Runtime do alvo Dart: transforma a lista declarativa de ApiEndpoint em rotas shelf, já com os middlewares padrão (JSON, CORS, validação, tratamento de erro) e o envelope/paginação padronizados.
- InMemoryDbExecutor
- Implementação em memória — para testes e desenvolvimento.
- InsertInto
- Insere os campos recebidos na tabela do model.
- JsonlDbExecutor
-
Executor que persiste cada tabela como um arquivo
<dir>/<tabela>.jsonl(uma linha JSON por registro). Útil para dev/demo sem instalar MySQL. Em produção use umMySqlExecutor; o alvo PHP gera PDO/MySQL. - ListPaginated
- Lista (paginada) registros da tabela.
- PageMeta
-
Metadados de paginação devolvidos no envelope (
meta). - PageRequest
-
Parâmetros de paginação de uma listagem (vêm de
?pagee?perPage). - PhpApiGenerator
-
Gera o backend em PHP (PDO + MySQL) a partir da MESMA definição
declarativa usada no alvo Dart. Emite um
_flenx.php(base:.env, PDO, envelope, paginação, CORS) e um arquivo por endpoint. O usuário não escreve PHP. - Redirect
- Redireciona (303) para location — padrão Post/Redirect/Get.
- RespondJson
- Responde com um JSON fixo.
- SendEmail
- Envia um e-mail (servidor) para to.
- UpdateById
-
Atualiza um registro por
idcom os campos recebidos.
Enums
- HttpMethod
- Verbo HTTP de um endpoint.