API
A API é onde recebemos as requisições vindas do frontend, é a nossa camada de comunicação.
A API é desenvolvida no padrão rest
utilizando o flask. Essa camada tem responsabilidade de pegar as informações da requisição HTTP, transformar em objeto e passar para o caso de uso.
Para facilitar o trabalho, desenvolvemos uma abstração do flask. Esta abstração se encontra no arquivo http_rest.py.
Como criar uma API
O arquivo de API fica dentro das pastas de recursos do módulo itflex/server/backend/[modulo]/[recurso]/api.py
. Então, antes de você criar este arquivo, você deve ter reproduzido o exemplo de como criar um módulo novo. Nestes exemplos vamos construir um recurso para manipular usuários.
Scopes
Para criar sua api você deve ter definido em seu arquivo scopes.py
o escopo de permissão para essa API da seguinte maneira (iremos utilizar esta constante na camada de API):
USERS = "users.users"
API
Com o arquivo de escopos de permissão criado, podemos criar nosso arquivo de API.
from flask import Flask
from itflex.common.http_rest import RestAPI
from itflex.usecases import BaseUC
from itflex_auth import scopes
class UserAPI(RestAPI):
list_prop = "users"
paginated = True
auth = True
read_scope = scopes.USERS
write_scope = scopes.USERS
def register_routes(app: Flask, users_uc: BaseUC):
user_api = UserAPI(users_uc)
user_api.register(app, "auth.users", "/api/users")