Overview
Metadata modules provide technical annotations for:Database Mapping
RDBMS and DocumentDB specifications
API Specifications
HTTP, REST, and API Gateway configurations
Security
Authentication and authorization metadata
Technical Details
Implementation-specific settings
Database Metadata
Intent.Metadata.RDBMS
Module ID:Intent.Metadata.RDBMSVersion: 3.7.0+
Repository: View Source Description: Support for describing Entities in Relational DB terms.
Key Features
Key Features
- Table Mapping: Map entities to database tables
- Column Specifications: Data types, lengths, precision
- Primary Keys: Key type selection (GUID, int, long)
- Foreign Keys: Relationship mapping to FKs
- Indexes: Create table indexes and constraints
- Key Creation Modes: Manual or automatic PK/FK management
- Decimal Configuration: Precision and scale settings
| Setting | Options | Description |
|---|---|---|
| Key Type | guid, long, int | Default type for surrogate and foreign keys |
| Key Creation Mode | Manual, Explicit | How designer creates/manages PKs and FKs |
| Decimal precision and scale | e.g., “16,4” | Format: precision, scale |
- Table Name
- Column Name
- Data Type
- Primary Key
- Foreign Key
- Index
- Unique Constraint
- Domain Designer
- Module Builder
- Entity Framework Core mapping
- Hibernate/JPA configuration
- Database schema generation
- Migration scripts
- Intent.Common
- Intent.Common.Types
- Intent.Modelers.Domain
Intent.Metadata.DocumentDB
Module ID:Intent.Metadata.DocumentDBRepository: View Source Description: Support for describing Entities in Document Database terms.
Key Features
Key Features
- Collection Mapping: Map entities to collections
- Document Structure: Define document schemas
- Embedded Documents: Nested document support
- Partition Keys: Configure partitioning strategies
- Indexing: Document index configuration
- MongoDB
- Azure Cosmos DB
- Amazon DocumentDB
- Couchbase
- NoSQL document modeling
- Cosmos DB implementation
- MongoDB schema design
API Metadata
Intent.Metadata.WebApi
Module ID:Intent.Metadata.WebApiVersion: 4.7.0+
Repository: View Source Description: Support for describing Services in HTTP Web API terms.
Key Features
Key Features
- HTTP Methods: GET, POST, PUT, DELETE, PATCH
- Route Templates: URL path configuration
- Query Parameters: Query string mapping
- Request Bodies: Body parameter specifications
- Response Types: HTTP status codes and response models
- Content Negotiation: JSON, XML support
- OpenAPI: Swagger/OpenAPI annotations
- HTTP Verb (GET, POST, PUT, DELETE, PATCH)
- Route
- From Query
- From Body
- From Route
- From Header
- Status Code
- Consumes/Produces
- Services Designer
- Service Proxies Designer
- RESTful API design
- ASP.NET Core Web API
- Spring Boot REST controllers
- OpenAPI/Swagger documentation
- Intent.Common
- Intent.Common.Types
- Intent.Metadata.Security
- Intent.Modelers.Services
- WebApi CQRS Extensions
- WebApi Services Extensions
- WebApi OpenApi Extensions
Intent.Metadata.ApiGateway
Module ID:Intent.Metadata.ApiGatewayRepository: View Source Description: API Gateway configuration and routing metadata.
Key Features
Key Features
- Gateway Routes: Define API gateway routing
- Upstream Services: Map to backend services
- Rate Limiting: Configure throttling
- Authentication: Gateway-level auth
- Load Balancing: Distribution strategies
- Microservices gateway configuration
- Ocelot setup (.NET)
- Kong configuration
- API routing and aggregation
Security Metadata
Intent.Metadata.Security
Module ID:Intent.Metadata.SecurityRepository: View Source Description: Security-related metadata for authentication and authorization.
Key Features
Key Features
- Authorization: Role-based and policy-based auth
- Authentication: Auth scheme configuration
- Secured Operations: Protect service operations
- Claims: Define security claims
- Roles: Define user roles
- Policies: Authorization policies
- Authorize
- Allow Anonymous
- Require Role
- Require Policy
- Require Claim
- JWT Bearer tokens
- OAuth 2.0
- OpenID Connect
- API keys
- Basic authentication
- Secure REST APIs
- Identity and access management
- Authorization rules
- Authentication flows
- Services Designer
- Domain Designer
Metadata Application Patterns
Pattern 1: Entity to Database Table
Visual Model:- SQL table creation script
- Entity Framework entity configuration
- Repository implementation
Pattern 2: Service to REST Endpoint
Visual Model:- ASP.NET Core controller
- Swagger/OpenAPI documentation
- HTTP client proxy
Pattern 3: Secured Operation
Visual Model:- Authorization attribute
- Role checking
- 401/403 responses
Metadata Module Dependencies
All metadata modules depend on:Intent.CommonIntent.Common.Types- Their target modeler (e.g., Intent.Modelers.Domain)
Metadata Selection Guide
| I need to specify… | Use this metadata module |
|---|---|
| SQL table names and columns | Intent.Metadata.RDBMS |
| HTTP routes and methods | Intent.Metadata.WebApi |
| Authorization rules | Intent.Metadata.Security |
| Document collections | Intent.Metadata.DocumentDB |
| API gateway routes | Intent.Metadata.ApiGateway |
Common Combinations
Full-Stack Web Application
Microservices Architecture
Document Database Application
Best Practices
Separation of Concerns
Keep visual models (structure) separate from metadata (implementation details)
Consistent Naming
Use metadata to enforce naming conventions (table names, routes)
Reusable Patterns
Apply metadata stereotypes consistently across similar elements
Documentation
Use metadata to generate technical documentation (OpenAPI specs)
Next Steps
Domain Modeler
Learn about visual modeling
Common Modules
Explore foundation modules
Language Modules
Language-specific code generation
Module Overview
View all module categories