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;
}
}