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) • 725 B
text/typescript
import type { PaymentEntity, PaymentCreationData, PaymentUpdateData } from '../entities/Payment';
/**
* Port interface for Payment domain
* This interface defines the contract that adapters must implement
*/
export interface PaymentPort {
/**
* Get all payment entities
*/
getAll(): Promise<PaymentEntity[]>;
/**
* Get a payment entity by ID
*/
getById(id: string): Promise<PaymentEntity>;
/**
* Create a new payment entity
*/
create(data: PaymentCreationData): Promise<PaymentEntity>;
/**
* Update an existing payment entity
*/
update(id: string, data: PaymentUpdateData): Promise<PaymentEntity>;
/**
* Delete a payment entity
*/
delete(id: string): Promise<void>;
}