using Apimanager_backend.Data;
using System.ComponentModel.DataAnnotations;
using System.Text.Json.Serialization;
namespace Apimanager_backend.Models
{
public class Api
{
///
/// 主键,自增
///
public int Id { get; set; }
///
/// API名称
///
[MaxLength(200)]
[Required]
public string Name { get; set; } // varchar(20)
///
/// 描述
///
public string Description { get; set; } = string.Empty;
///
/// API地址
///
[Required]
public string Endpoint { get; set; } // varchar(255)
///
/// 调用方法
///
public ApiMethod Method { get; set; } // enum('GET','POST','PUT', 'DELETE')
///
/// 套餐Id,默认为空(免费无限制)
///
public int? PackageId { get; set; } // int? 使其可为null
///
/// 是否第三方API
///
public bool IsThirdParty { get; set; } // boolean
///
/// 是否启用
///
public bool IsActive { get; set; } // boolean
///
/// 是否删除
///
public bool IsDelete { get; set; } // boolean
///
/// 创建时间,默认当前时间
///
public DateTime CreatedAt { get; set; } = DateTime.UtcNow; // timestamp
//导航属性
[JsonIgnore]
public Apipackage? Package { get; set; }
[JsonIgnore]
public ICollection? ApiPackageItems { get; set; }
[JsonIgnore]
public ICollection? ApiCalls { get; set; }
[JsonIgnore]
public ICollection? ApiRequestExamples { get; set; }
}
}