Skip to content

v3.0.0

Choose a tag to compare

@wilyanto wilyanto released this 21 Aug 05:56
· 9 commits to main since this release

πŸŽ‰ Major release with streamlined API

✨ NEW FEATURES

  • Auditable decorator with auto-initialization - no more manual setup!
  • Built-in creator relationships - simply use include: ["creator"]
  • actorTypes configuration for reliable polymorphic relationships
  • Empty audit table support - works even when audit table is empty at startup
  • Auto-initialization - eliminates manual onModuleInit calls

πŸ’₯ BREAKING CHANGES

  • Removed attachAuditHooks() - now decorator-only approach
  • Must use @Auditable decorator on model classes
  • Migration required from manual setup to decorator approach

πŸš€ BENEFITS

  • Cleaner API - single, consistent way to set up auditing
  • Better DX - declarative decorator approach is more intuitive
  • No configuration repetition - configure once in module, use everywhere
  • Automatic relationships - polymorphic actor associations created automatically

πŸ“¦ Installation

npm install @cleancode-id/nestjs-sequelize-auditor@3.0.0

πŸ”§ Quick Setup

// Configure module with actorTypes
AuditModule.forRoot({
  actorTypes: ["User"], // Essential for creator relationships
  auth: { actorModel: "User" }
})

// Add decorator to models  
@Auditable({
  exclude: ["password"],
  enableCreatorRelationship: true
})
@Table()
export class User extends Model {}

// Use creator relationships
const user = await User.findByPk(1, {
  include: ["creator"] // ✨ Gets who created this user!
});

πŸ“Š Test Coverage

- 64 tests passing across 6 test suites
- 13 new tests specifically for v3.0.0 features
- Full backwards compatibility with existing functionality

Thank you for using @cleancode-id/nestjs-sequelize-auditor! πŸ™