This commit reorganizes namespaces from `DigitalData.Core.Abstractions` and `DigitalData.Core.DTO` to `DigitalData.Core.Application.Interfaces` and `DigitalData.Core.Application.DTO`, improving maintainability and clarity. Updated using directives across multiple files to reflect the new structure, ensuring functionality remains intact. Project references in `DigitalData.Core.API.csproj` have been consolidated to include the new Application project. Introduced new classes and interfaces such as `BaseDTO`, `CookieConsentSettings`, `DataResult`, `Notice`, and `Result` to enhance data transfer and service result handling. Updated `IRepository`, `ICRUDRepository`, and `IEntityMapper` interfaces to facilitate CRUD operations and entity mapping. Added extension methods in `Extensions.cs` to improve repository usability. New interfaces for HTTP client services have been added, enhancing external API call handling. Overall, these changes reflect a significant restructuring aimed at improving organization and preparing for future development.
74 lines
2.4 KiB
C#
74 lines
2.4 KiB
C#
namespace DigitalData.Core.Application.DTO
|
|
{
|
|
/// <summary>
|
|
/// Represents settings related to user cookie consent dialogs. Designed to be serialized into JSON format for use with JavaScript frontend libraries,
|
|
/// such as the bootstrap-cookie-consent-settings at the GitHub repository: https://github.com/shaack/bootstrap-cookie-consent-settings
|
|
/// </summary>
|
|
public class CookieConsentSettings
|
|
{
|
|
/// <summary>
|
|
/// URL to the privacy policy page.
|
|
/// </summary>
|
|
public string? PrivacyPolicyUrl { get; set; }
|
|
|
|
/// <summary>
|
|
/// URL to the legal notice page.
|
|
/// </summary>
|
|
public string? LegalNoticeUrl { get; set; }
|
|
|
|
/// <summary>
|
|
/// URL to the content of the dialog box.
|
|
/// </summary>
|
|
public string? ContentURL { get; set; }
|
|
|
|
/// <summary>
|
|
/// CSS class for the 'Agree' button.
|
|
/// </summary>
|
|
public string? ButtonAgreeClass { get; set; }
|
|
|
|
/// <summary>
|
|
/// CSS class for the 'Don't Agree' button.
|
|
/// </summary>
|
|
public string? ButtonDontAgreeClass { get; set; }
|
|
|
|
/// <summary>
|
|
/// CSS class for the 'Save' button.
|
|
/// </summary>
|
|
public string? ButtonSaveClass { get; set; }
|
|
|
|
/// <summary>
|
|
/// Language in which the modal is displayed.
|
|
/// </summary>
|
|
public string? Lang { get; set; }
|
|
|
|
/// <summary>
|
|
/// Default language for the modal if the user's browser language is not supported.
|
|
/// </summary>
|
|
public string? DefaultLang { get; set; }
|
|
|
|
/// <summary>
|
|
/// Name of the cookie used to store the consent status.
|
|
/// </summary>
|
|
public string? CookieName { get; set; }
|
|
|
|
/// <summary>
|
|
/// Number of days the cookie will be stored.
|
|
/// </summary>
|
|
public int CookieStorageDays { get; set; }
|
|
|
|
/// <summary>
|
|
/// Identifier for the modal dialog element.
|
|
/// </summary>
|
|
public string? ModalId { get; set; }
|
|
|
|
/// <summary>
|
|
/// Indicates whether to also store the settings in the browser's localStorage.
|
|
/// </summary>
|
|
public bool AlsoUseLocalStorage { get; set; }
|
|
|
|
/// <summary>
|
|
/// List of categories for cookie consent.
|
|
/// </summary>
|
|
public List<string>? Categories { get; set; }
|
|
}
|
|
} |