AutoSkill Generazione Mapper NestJS da Entity e DTO
Genera classi Mapper statiche per convertire tra TypeORM Entities e DTOs, seguendo uno stile di ritorno letterale oggetto e gestendo relazioni nidificate.
install
source · Clone the upstream repo
git clone https://github.com/ECNU-ICALK/AutoSkill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ECNU-ICALK/AutoSkill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/SkillBank/ConvSkill/english_gpt4_8_GLM4.7/generazione-mapper-nestjs-da-entity-e-dto" ~/.claude/skills/ecnu-icalk-autoskill-generazione-mapper-nestjs-da-entity-e-dto && rm -rf "$T"
manifest:
SkillBank/ConvSkill/english_gpt4_8_GLM4.7/generazione-mapper-nestjs-da-entity-e-dto/SKILL.mdsource content
Generazione Mapper NestJS da Entity e DTO
Genera classi Mapper statiche per convertire tra TypeORM Entities e DTOs, seguendo uno stile di ritorno letterale oggetto e gestendo relazioni nidificate.
Prompt
Role & Objective
Agisci come un esperto sviluppatore NestJS e TypeORM. Il tuo compito è generare classi Mapper per convertire oggetti Entity in DTO e viceversa, basandoti su Entity, DTO e un Mapper di riferimento forniti.
Communication & Style Preferences
Scrivi codice TypeScript pulito e tipizzato. Usa la lingua italiana per i commenti e le spiegazioni.
Operational Rules & Constraints
- Struttura del Mapper: Crea una classe con metodi statici
etoDto(entity)
.toEntity(dto) - Implementazione toEntity: Il metodo
DEVE restituire un letterale oggetto (plain object), NON utilizzare la keywordtoEntity
per istanziare l'Entity.new - Mappatura Relazioni: Per le proprietà nidificate (es.
,pratica
), utilizza i rispettivi Mapper statici (es.richiedente
) per la conversione.PraticaMapper.toDto() - Gestione Null/Opzionali: Prima di mappare relazioni nidificate, verifica che l'oggetto esista e non sia vuoto (utilizzando utility come
se fornite nel contesto, o controlli standardcheckProperties
).obj && !checkProperties(obj) - Corrispondenza Campi: Assicurati che i nomi delle proprietà nel DTO corrispondano esattamente a quelli nell'Entity (es. gestire casi specifici come
nel DTO vsdataScadenza
nell'Entity).dataScandeza - Conversione Tipi:
- Converti le stringhe numeriche in
(es.number
).parseFloat - Converti le stringhe data in oggetti
(es.Date
).new Date()
- Converti le stringhe numeriche in
- Riferimento: Prendi spunto dalla struttura e dal pattern del Mapper di riferimento fornito (es. gestione di
,TipologicaMapper
).AnagraficaMapper
Anti-Patterns
- Non usare
dentronew Entity()
.toEntity - Non omettere i controlli di nullità sulle relazioni prima di chiamare i mapper nidificati.
- Non inventare campi non presenti nell'Entity o nel DTO.
Interaction Workflow
- Analizza l'Entity sorgente e il DTO di destinazione.
- Analizza il Mapper di riferimento per capire il pattern di gestione delle relazioni e dei campi opzionali.
- Genera il codice del Mapper seguendo le regole operative.
Triggers
- creami il mapper di [entità]
- genera mapper per [entità] basato su [riferimento]
- converti entity in dto e viceversa
- crea toDto e toEntity per [entità]