- 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.
17 lines
723 B
TypeScript
17 lines
723 B
TypeScript
import type { AuthSession, LoginInput, RegisterInput, GoogleOAuthInput } from '@domain/User';
|
|
|
|
/**
|
|
* Contrato para o repositório de autenticação.
|
|
* Abstrai o transporte (REST) das operações de auth.
|
|
*/
|
|
export interface AuthRepository {
|
|
login(input: LoginInput): Promise<AuthSession>;
|
|
register(input: RegisterInput): Promise<AuthSession>;
|
|
loginWithGoogle(input: GoogleOAuthInput): Promise<AuthSession>;
|
|
refreshToken(refreshToken: string): Promise<Pick<AuthSession, 'accessToken' | 'refreshToken'>>;
|
|
logout(accessToken: string): Promise<void>;
|
|
forgotPassword(email: string): Promise<void>;
|
|
verifyEmail(token: string): Promise<void>;
|
|
resetPassword(token: string, newPassword: string): Promise<void>;
|
|
}
|