Initial commit
This commit is contained in:
@@ -0,0 +1,102 @@
|
||||
using RobotNet10.CustomConfiguration.Events;
|
||||
using RobotNet10.CustomConfiguration.Models;
|
||||
|
||||
namespace RobotNet10.CustomConfiguration.Services;
|
||||
|
||||
/// <summary>
|
||||
/// Service interface cho quản lý và truy vấn configuration variables
|
||||
/// </summary>
|
||||
public interface IConfigManager
|
||||
{
|
||||
// ==========================================
|
||||
// EVENTS
|
||||
// ==========================================
|
||||
|
||||
/// <summary>
|
||||
/// Event được trigger khi có thay đổi trong config (tạo mới, cập nhật, xóa, hoặc thay đổi variables)
|
||||
/// </summary>
|
||||
event EventHandler<ConfigChangedEventArgs>? ConfigChanged;
|
||||
|
||||
// ==========================================
|
||||
// CONFIG TYPE OPERATIONS
|
||||
// ==========================================
|
||||
|
||||
/// <summary>
|
||||
/// Lấy config theo ConfigType (đầy đủ thông tin bao gồm variables)
|
||||
/// </summary>
|
||||
Task<ConfigFile?> GetConfigByTypeAsync(string configType);
|
||||
|
||||
/// <summary>
|
||||
/// Kiểm tra ConfigType có tồn tại không
|
||||
/// </summary>
|
||||
Task<bool> ConfigTypeExistsAsync(string configType);
|
||||
|
||||
// ==========================================
|
||||
// VARIABLE EXISTENCE CHECK
|
||||
// ==========================================
|
||||
|
||||
/// <summary>
|
||||
/// Kiểm tra variable có tồn tại không (theo ConfigType)
|
||||
/// </summary>
|
||||
Task<bool> VariableExistsAsync(string configType, string variableName);
|
||||
|
||||
/// <summary>
|
||||
/// Kiểm tra variable có tồn tại không (theo ConfigId)
|
||||
/// </summary>
|
||||
Task<bool> VariableExistsAsync(Guid configId, string variableName);
|
||||
|
||||
// ==========================================
|
||||
// GET VARIABLE VALUE
|
||||
// ==========================================
|
||||
|
||||
/// <summary>
|
||||
/// Lấy giá trị (Value) của variable (theo ConfigType)
|
||||
/// </summary>
|
||||
Task<object?> GetVariableValueAsync(string configType, string variableName);
|
||||
|
||||
/// <summary>
|
||||
/// Lấy giá trị (Value) của variable (theo ConfigId)
|
||||
/// </summary>
|
||||
Task<object?> GetVariableValueAsync(Guid configId, string variableName);
|
||||
|
||||
// ==========================================
|
||||
// GET VARIABLE(S)
|
||||
// ==========================================
|
||||
|
||||
/// <summary>
|
||||
/// Lấy một variable cụ thể (theo ConfigType)
|
||||
/// </summary>
|
||||
Task<ConfigVariable?> GetVariableAsync(string configType, string variableName);
|
||||
|
||||
/// <summary>
|
||||
/// Lấy tất cả variables của một ConfigType
|
||||
/// </summary>
|
||||
Task<List<ConfigVariable>> GetVariablesAsync(string configType);
|
||||
|
||||
/// <summary>
|
||||
/// Lấy một variable cụ thể (theo ConfigId)
|
||||
/// </summary>
|
||||
Task<ConfigVariable?> GetVariableAsync(Guid configId, string variableName);
|
||||
|
||||
/// <summary>
|
||||
/// Lấy tất cả variables của một ConfigId
|
||||
/// </summary>
|
||||
Task<List<ConfigVariable>> GetVariablesAsync(Guid configId);
|
||||
|
||||
// ==========================================
|
||||
// GET VARIABLE TYPE
|
||||
// ==========================================
|
||||
|
||||
/// <summary>
|
||||
/// Lấy kiểu dữ liệu của variable dưới dạng string (theo ConfigType)
|
||||
/// Trả về: "string", "int", "double", "bool", "object", "array", "enum"
|
||||
/// </summary>
|
||||
Task<string?> GetVariableTypeAsync(string configType, string variableName);
|
||||
|
||||
/// <summary>
|
||||
/// Lấy kiểu dữ liệu của variable dưới dạng string (theo ConfigId)
|
||||
/// Trả về: "string", "int", "double", "bool", "object", "array", "enum"
|
||||
/// </summary>
|
||||
Task<string?> GetVariableTypeAsync(Guid configId, string variableName);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user