![Database decorators](.github/social-card.png)

# Interface Database Decorators

<div align="center">
<a href="https://www.npmjs.com/package/@antelopejs/interface-database-decorators"><img src="https://img.shields.io/npm/v/@antelopejs/interface-database-decorators?style=for-the-badge&labelColor=000000&color=000000" alt="npm"></a>
<a href="./LICENSE"><img alt="License" src="https://img.shields.io/badge/License-Apache_2.0-blue.svg?style=for-the-badge&labelColor=000000"></a>
<a href="https://discord.gg/sjK28QHrA7"><img src="https://img.shields.io/badge/Discord-18181B?logo=discord&style=for-the-badge&color=000000" alt="Discord"></a>
<a href="./docs/1.introduction.md"><img src="https://img.shields.io/badge/Docs-18181B?style=for-the-badge&color=000000" alt="Documentation"></a>
</div>

A structured framework for implementing database operations using TypeScript decorators. Interface Database Decorators provides a flexible, object-oriented approach to defining database tables, models, and operations with full type safety, including built-in support for field-level encryption, hashing, and localization.

## Installation

```bash
npm install @antelopejs/interface-database-decorators
```

## Documentation

Detailed documentation is available in the `docs` directory:

- [Introduction](./docs/1.introduction.md) - Overview and dependencies
- [Table Definitions](./docs/2.table-definitions.md) - Define database tables with decorators, indexes, and fixtures
- [Table Modifiers](./docs/3.table-modifiers.md) - Encryption, hashing, localization, and custom modifier creation
- [Data Models](./docs/4.data-models.md) - Create and use data models with CRUD operations
- [Parameter Decoration](./docs/5.parameter-decoration.md) - Inject models into API controllers

## License

This project is licensed under the Apache License 2.0 - see the [LICENSE](LICENSE) file for details.
