Files
MeowSpool/mobile/src/application/filament/DeleteFilamentUseCase.ts
T
Felipe d7fb768d3b 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.
2026-03-14 10:36:13 -03:00

17 lines
487 B
TypeScript

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);
}
}