Documentation Index
Fetch the complete documentation index at: https://docs.chataigne.ai/llms.txt
Use this file to discover all available pages before exploring further.
La documentation des adapters est cruciale pour comprendre leur portée et
leurs contraintes. Nous utilisons TSDoc pour documenter directement dans le
code.
Structure de la Documentation
Classe Adapter
/**
* Adapter pour transformer les commandes entre notre domaine et Hubrise.
*
* Cet adapter gère la transformation des commandes dans le contexte de l'intégration
* avec Hubrise. Il ne crée pas de relations (customer, items) mais les référence
* uniquement par leur ID.
*
* @example
* ```typescript
* // Transformation vers Hubrise
* const hubriseOrder = HubriseOrderAdapter.toHubriseOrder(domainOrder);
*
* // Transformation depuis Hubrise
* const domainOrder = HubriseOrderAdapter.toDomainOrder(hubriseOrder);
* ```
*/
export class HubriseOrderAdapter {
// ... implementation
}
Méthodes de Transformation
/**
* Transforme une commande de notre domaine vers le format Hubrise.
*
* @param order - La commande de notre domaine
* @returns La commande au format Hubrise
* @throws {ValidationError} Si la commande n'a pas d'items ou de customer
*
* @remarks
* - Ne crée pas de relations (customer, items)
* - Référence les relations par leur ID
* - Valide la présence d'au moins un item
*
* @example
* ```typescript
* const hubriseOrder = HubriseOrderAdapter.toHubriseOrder({
* id: "123",
* customerId: "456",
* items: [{ id: "789", quantity: 1 }]
* });
* ```
*/
static toHubriseOrder(order: Order): HubriseOrder {
// ... implementation
}
/**
* Transforme une commande du format Hubrise vers notre domaine.
*
* @param order - La commande au format Hubrise
* @returns La commande de notre domaine
* @throws {ValidationError} Si les données Hubrise sont invalides
*
* @remarks
* - Ne crée pas de relations
* - Conserve les IDs des relations
* - Valide le format des données Hubrise
*/
static toDomainOrder(order: HubriseOrder): Order {
// ... implementation
}
Points à Documenter
Portée de l'Adapter
• Types transformés• Contexte d’utilisation• Opérations supportées
Contraintes
• Champs obligatoires• Champs optionnels• Validations effectuées
Comportements
• Gestion des relations• Valeurs par défaut• Gestion des erreurs
Bonnes Pratiques
Documentation de la Classe
• Description générale• Contexte d’utilisation• Exemple d’utilisation basique
Documentation des Méthodes
• Description de la transformation• Paramètres et types• Type de retour• Exceptions possibles• Exemples concrets
Remarques Importantes
• Contraintes spécifiques• Comportements particuliers• Limitations connues
Exemple Complet
/**
* Adapter pour transformer les commandes entre notre domaine et Hubrise.
*
* Cet adapter gère la transformation des commandes dans le contexte de l'intégration
* avec Hubrise. Il ne crée pas de relations (customer, items) mais les référence
* uniquement par leur ID.
*
* @example
* ```typescript
* // Transformation vers Hubrise
* const hubriseOrder = HubriseOrderAdapter.toHubriseOrder(domainOrder);
*
* // Transformation depuis Hubrise
* const domainOrder = HubriseOrderAdapter.toDomainOrder(hubriseOrder);
* ```
*/
export class HubriseOrderAdapter {
/**
* Transforme une commande de notre domaine vers le format Hubrise.
*
* @param order - La commande de notre domaine
* @returns La commande au format Hubrise
* @throws {ValidationError} Si la commande n'a pas d'items ou de customer
*
* @remarks
* - Ne crée pas de relations (customer, items)
* - Référence les relations par leur ID
* - Valide la présence d'au moins un item
*
* @example
* ```typescript
* const hubriseOrder = HubriseOrderAdapter.toHubriseOrder({
* id: "123",
* customerId: "456",
* items: [{ id: "789", quantity: 1 }]
* });
* ```
*/
static toHubriseOrder(order: Order): HubriseOrder {
// ... implementation
}
/**
* Transforme une commande du format Hubrise vers notre domaine.
*
* @param order - La commande au format Hubrise
* @returns La commande de notre domaine
* @throws {ValidationError} Si les données Hubrise sont invalides
*
* @remarks
* - Ne crée pas de relations
* - Conserve les IDs des relations
* - Valide le format des données Hubrise
*/
static toDomainOrder(order: HubriseOrder): Order {
// ... implementation
}
}