package com.saas.shared.annotation;

import java.lang.annotation.*;

/**
 * Marks an entity that should be included in tenant database schemas.
 * 
 * By default, only entities in the com.saas.tenant.entity package are included
 * in tenant schema migrations. This annotation allows entities from other packages
 * (e.g., com.saas.admin.entity) to be included in tenant schemas when they need
 * to exist in both the admin and tenant databases.
 * 
 * Example: The User entity exists in both saas_db and tenant_* databases.
 */
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface TenantSchemaEntity {
    /**
     * Optional description of why this entity is shared between admin and tenant schemas.
     */
    String value() default "";
}
