feat: add domain models and repositories for user, spool presets, and filaments
- Introduced SpoolPreset and User domain models with necessary DTOs and utility functions. - Created AuthRepository, FilamentRepository, and SpoolPresetRepository interfaces for authentication and data management. - Implemented UI components for filament display, including ColorSwatch, FilamentCard, and StockBar. - Developed layout components such as Header and Screen for consistent app structure. - Added reusable UI components like Badge, Button, Card, and Input for better user interaction. - Established global constants and theme settings for consistent styling across the application. - Implemented utility functions for filament calculations and formatting. - Created Zustand stores for managing authentication, filament, and preset states. - Configured TypeScript settings for improved development experience.
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
import type { FilamentRepository } from '@ports/FilamentRepository';
|
||||
|
||||
/**
|
||||
* Caso de uso: Deletar Filamento.
|
||||
*/
|
||||
export class DeleteFilamentUseCase {
|
||||
constructor(private readonly filamentRepo: FilamentRepository) {}
|
||||
|
||||
async execute(id: string, userId: string): Promise<void> {
|
||||
const existing = await this.filamentRepo.findById(id, userId);
|
||||
if (!existing) {
|
||||
throw new Error(`Filamento não encontrado: ${id}`);
|
||||
}
|
||||
await this.filamentRepo.remove(id, userId);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user