## Status

- [x] Step 1: domain/model/structure-material/structure-material.interface.ts
- [x] Step 2: domain/model/structure-material/structure-material.model.ts + index.ts
- [x] Step 3: domain/repository/structure-material.repository.ts + token + index
- [x] Step 4: core/exception/structure-material.exception.ts + export
- [x] Step 5a: usecases/structure-material/get-structure-materials.usecase.ts
- [x] Step 5b: usecases/structure-material/create-structure-material.usecase.ts
- [x] Step 5c: usecases/structure-material/update-structure-material.usecase.ts
- [x] Step 5d: usecases/structure-material/delete-structure-material.usecase.ts + index.ts
- [x] Step 6: application.module.ts update
- [x] Step 7: product.prisma update → merge → generate (prisma client generated)
- [x] Step 8: mapper/structure-material.mapper.ts
- [x] Step 9: repository/structure-material-repository.implement.ts
- [x] Step 10: repository.provider.ts update (STRUCTURE_MATERIAL_REPOSITORY registered)
- [x] Step 11: structure-material.dto.ts
- [x] Step 12: admin-product-structure.controller.ts update (4 endpoints added)
- [ ] Prisma migrate (staging/dev) — pending environment
- [ ] Smoke test: POST → GET → PUT → DELETE — pending server start

## Files changed

### api-kingston (created)
- src/core/domain/model/structure-material/structure-material.interface.ts (created)
- src/core/domain/model/structure-material/structure-material.model.ts (created)
- src/core/domain/model/structure-material/index.ts (created)
- src/core/domain/repository/structure-material.repository.ts (created)
- src/core/exception/structure-material.exception.ts (created)
- src/application/usecases/structure-material/get-structure-materials.usecase.ts (created)
- src/application/usecases/structure-material/create-structure-material.usecase.ts (created)
- src/application/usecases/structure-material/update-structure-material.usecase.ts (created)
- src/application/usecases/structure-material/delete-structure-material.usecase.ts (created)
- src/application/usecases/structure-material/index.ts (created)
- src/infrastructure/database/mysql/mapper/structure-material.mapper.ts (created)
- src/infrastructure/database/mysql/repository/structure-material-repository.implement.ts (created)
- src/presentation/ports/http/controllers/product-structure/structure-material.dto.ts (created)

### api-kingston (modified)
- src/core/domain/model/index.ts (added structure-material export)
- src/core/domain/repository/repository.token.ts (added STRUCTURE_MATERIAL_REPOSITORY)
- src/core/domain/repository/index.ts (added structure-material.repository export)
- src/core/exception/index.ts (added structure-material.exception export)
- src/application/application.module.ts (added structureMaterialProviders)
- src/application/usecases/index.ts (added structure-material export)
- src/infrastructure/database/mysql/mapper/index.ts (added structure-material.mapper export)
- src/infrastructure/database/mysql/repository/index.ts (added structure-material repo export)
- src/infrastructure/providers/repository.provider.ts (added STRUCTURE_MATERIAL_REPOSITORY provider)
- prisma/providers/mysql/prisma-models/product.prisma (added StructureMaterial model + relations)
- src/presentation/ports/http/controllers/product-structure/admin-product-structure.controller.ts (added 4 material endpoints)
