using System.Collections.Generic; using xDataService.Constants; namespace xDataService.Configuration { /// /// Represent Configurations of DataService Module ... /// public partial class XDataServiceConfiguration { /// /// the base path for providing GraphQL ... /// /// public string GraphQLBasePath { get; set; } = "/graphql"; /// /// Data Bases Configuration ... /// /// public IDictionary Databases { get; set; } = new Dictionary(); /// /// Enable Soft Delete Entities or Not ... /// /// public bool EnableSoftDelete { get; set; } /// /// Specified Seeding Mode ... /// public XDbSeedingMode SeedingMode { get; set; } = XDbSeedingMode.None; /// /// Enable Tracking of Entities ... /// Only Used on EFCore ... /// /// public bool EnableTracking { get; set; } = false; /// /// Enable Logging Details of Errors ... /// Only Used on EFCore ... /// /// public bool EnableDetailedErrors { get; set; } = false; /// /// Enable Logging Sensitive Data ... /// Only Used on EFCore ... /// /// public bool EnableSensitiveDataLogging { get; set; } = false; /// /// this is a way to provide Default Pagination Data on XQuery based requests ... /// /// public PagingConfiguration PagingConfiguration { get; set; } = new PagingConfiguration(); } /// /// this is a way to provide Default Pagination Data on XQuery based requests ... /// public partial class PagingConfiguration { /// /// Default Page Size ... /// /// public int DefaultPageSize { get; set; } = XDataServiceConstants.DEFAULT_PAGE_SIZE; /// /// restrict Maximum Page Size ... /// /// public int MaxAvailablePageSize { get; set; } = XDataServiceConstants.MAX_AVAILABLE_PAGE_SIZE; /// /// restrice Minimum Page Size ... /// /// public int MinAvailablePageSize { get; set; } = XDataServiceConstants.MIN_AVAILABLE_PAGE_SIZE; } }