Skip to content

Conversation

BernardoSaullo
Copy link

No description provided.

- Criados os models Category, Director e Film
- Adicionado app.py configurando FastAPI
- Incluída criação automática das tabelas no banco usando Base.metadata.create_all
- Definidos DTOs de entrada (Create) e saída (Response) com Pydantic
- Adiciondas validações de campos e configuração orm_mode para integração com SQLAlchemy
… Category

- Implementado CategoryRepository para operações de CRUD no banco
- Adicionado CategoryService com regras de negócio e validações
- Criado CategoryController com endpoints para gerenciar categorias
… Director

- Implementado DirectorRepository para operações de CRUD no banco
- Adicionado DirectorService com regras de negócio e validações
- Criado DirectorController com endpoints para gerenciar diretores
… Film

- Implementado FilmRepository para operações de CRUD no banco
- Adicionado FilmService com regras de negócio e validações
- Criado FilmController com endpoints para gerenciar filmes

- Implementado filtros:
    - title (busca parcial)
    - category
    - language
    - release_year
- HashService: realiza hash e verificação de senhas usando bcrypt
- JwtService: gera e decodifica tokens Jwt usando python-jose
- UserRepository: Implementa métodos para operações no banco como a criação de usuário e a busca por id, nome e email
- UserService: Implementa lógica de criação de usuário e autenticação
- UserController: Implementa os endpoints de cadastro e login
- Substitui OAuth2PasswordRequestForm por LoginDTO
- LoginDTO: email + password, credencias corretas para autenticação
- Criação de função seed_if_empty para popular banco apenas se estiver vazio
- Seeds para Category, Director e Film usando Faker
- Inicialização automática das seeds no evento de startup da API
- Adiciona db.commit() sempre após todos dados da tabela em questão forem adicionados.
- Evita erro 'IndexError: Cannot choose from an empty sequence'.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant