using System;

namespace Knoks.Core.Entities.Args
{
    public interface IApiArgs
    {
        string HttpRequestInfo { get; set; }
    }

    //public abstract class ApiArgs : IApiArgs
    //{
    //    public string HttpRequestInfo { get; set; }
    //}

    public enum FieldType : byte
    {
        ApiConsumerId,
        UserId,
        OperatorId,
        HttpRequestInfo,
        CreateIPAddress
    }

    [AttributeUsage(AttributeTargets.Field | AttributeTargets.Property, AllowMultiple = false)]
    public class AutoInitFieldAttribute : Attribute
    {
        public FieldType? FieldType { get; set; }

        public AutoInitFieldAttribute() { }
        public AutoInitFieldAttribute(FieldType fieldType)
        {
            FieldType = fieldType;
        }
    }
}
