37 lines
736 B
TypeScript

/**
* ID Mapping Domain - Contract
*
* Normalized types for mapping portal users to external systems.
*/
import type { IsoDateTimeString } from "../common/types.js";
export interface UserIdMapping {
id: string;
userId: string;
whmcsClientId: number;
sfAccountId?: string | null;
createdAt: IsoDateTimeString | Date;
updatedAt: IsoDateTimeString | Date;
}
export interface CreateMappingRequest {
userId: string;
whmcsClientId: number;
sfAccountId?: string;
}
export interface UpdateMappingRequest {
whmcsClientId?: number;
sfAccountId?: string;
}
/**
* Validation result for mapping operations
*/
export interface MappingValidationResult {
isValid: boolean;
errors: string[];
warnings: string[];
}