ruch
Version:
Revolutionary React TypeScript CLI with hexagonal architecture & AI-powered development assistance. Create maintainable, scalable applications with domain-driven design and integrated AI tooling.
32 lines (27 loc) • 674 B
text/typescript
import type { UserEntity, UserCreationData, UserUpdateData } from '../entities/User';
/**
* Port interface for User domain
* This interface defines the contract that adapters must implement
*/
export interface UserPort {
/**
* Get all user entities
*/
getAll(): Promise<UserEntity[]>;
/**
* Get a user entity by ID
*/
getById(id: string): Promise<UserEntity>;
/**
* Create a new user entity
*/
create(data: UserCreationData): Promise<UserEntity>;
/**
* Update an existing user entity
*/
update(id: string, data: UserUpdateData): Promise<UserEntity>;
/**
* Delete a user entity
*/
delete(id: string): Promise<void>;
}