Some checks failed
CI/CD Pipeline / Integration Tests (push) Blocked by required conditions
CI/CD Pipeline / Deployment Summary (push) Blocked by required conditions
CI/CD Pipeline / Backend - Build, Test & Push (push) Failing after 2m11s
CI/CD Pipeline / Frontend - Build, Test & Push (push) Has been cancelled
Root cause: The .gitignore had 'out/' which was ignoring ALL directories named 'out', including 'src/domain/ports/out/' which contains critical port interfaces for hexagonal architecture. Changes: - Modified .gitignore to only ignore Next.js output directories - Added all 17 missing files from src/domain/ports/out/ - audit-log.repository.ts - booking.repository.ts - cache.port.ts - carrier-connector.port.ts - carrier.repository.ts - csv-booking.repository.ts - csv-rate-loader.port.ts - email.port.ts - index.ts - notification.repository.ts - organization.repository.ts - pdf.port.ts - port.repository.ts - rate-quote.repository.ts - storage.port.ts - user.repository.ts - webhook.repository.ts This resolves all "Cannot find module '@domain/ports/out/*'" TypeScript errors. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
63 lines
1.2 KiB
TypeScript
63 lines
1.2 KiB
TypeScript
/**
|
|
* Carrier Repository Port
|
|
*
|
|
* Defines the interface for Carrier persistence operations.
|
|
* This is a secondary port (output port) in hexagonal architecture.
|
|
*/
|
|
|
|
import { Carrier } from '../../entities/carrier.entity';
|
|
|
|
export const CARRIER_REPOSITORY = 'CarrierRepository';
|
|
|
|
export interface CarrierRepository {
|
|
/**
|
|
* Save a carrier entity
|
|
*/
|
|
save(carrier: Carrier): Promise<Carrier>;
|
|
|
|
/**
|
|
* Save multiple carrier entities
|
|
*/
|
|
saveMany(carriers: Carrier[]): Promise<Carrier[]>;
|
|
|
|
/**
|
|
* Find carrier by ID
|
|
*/
|
|
findById(id: string): Promise<Carrier | null>;
|
|
|
|
/**
|
|
* Find carrier by carrier code
|
|
*/
|
|
findByCode(code: string): Promise<Carrier | null>;
|
|
|
|
/**
|
|
* Find carrier by SCAC (Standard Carrier Alpha Code)
|
|
*/
|
|
findByScac(scac: string): Promise<Carrier | null>;
|
|
|
|
/**
|
|
* Find all active carriers
|
|
*/
|
|
findAllActive(): Promise<Carrier[]>;
|
|
|
|
/**
|
|
* Find all carriers that support API integration
|
|
*/
|
|
findWithApiSupport(): Promise<Carrier[]>;
|
|
|
|
/**
|
|
* Find all carriers (including inactive)
|
|
*/
|
|
findAll(): Promise<Carrier[]>;
|
|
|
|
/**
|
|
* Update a carrier entity
|
|
*/
|
|
update(carrier: Carrier): Promise<Carrier>;
|
|
|
|
/**
|
|
* Delete carrier by ID
|
|
*/
|
|
deleteById(id: string): Promise<void>;
|
|
}
|