using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.EventBus;
using Volo.Abp;

namespace JiShe.CollectBus.Common.Attributes
{
    [AttributeUsage(AttributeTargets.Class, Inherited = false)]
    public class CassandraTableAttribute(string? name = null) : Attribute
    {
        public virtual string? Name { get; } = name;
    }

    [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field)]
    public class CassandraIgnoreAttribute : Attribute
    {
        public CassandraIgnoreAttribute()
        {
        }
    }

    [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field)]
    public class PartitionKeyAttribute : Attribute
    {
        public PartitionKeyAttribute()
        {
        }
    }

    [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field)]
    public class ClusteringKeyAttribute : Attribute
    {
        public ClusteringKeyAttribute()
        {
        }
    }
}
