using System; using System.Collections.Generic; using SyncEngine.Configuration; namespace SyncEngine.Access { public sealed class AccessTableSchema { public string TableName { get; set; } public IList Columns { get; set; } = new List(); public string PrimaryKeyColumn { get; set; } public IList PrimaryKeyColumns { get; set; } = new List(); /// Access table-level ValidationRule (DAO), if any. public string TableValidationRule { get; set; } } public sealed class AccessColumnSchema { public string Name { get; set; } public Type ClrType { get; set; } public int ColumnSize { get; set; } public bool AllowNull { get; set; } public bool IsPrimaryKey { get; set; } public bool IsAutoIncrement { get; set; } /// Raw Access DefaultValue expression, if set. public string DefaultValue { get; set; } /// Raw Access ValidationRule expression, if set. public string ValidationRule { get; set; } } public sealed class AccessQuerySchema { public string Name { get; set; } public string SqlText { get; set; } public bool ShouldProvision { get; set; } public string SkipReason { get; set; } } public sealed class AccessSysMetadata { public IList Queries { get; set; } = new List(); public IList ForeignKeys { get; set; } = new List(); public IList Indexes { get; set; } = new List(); } }