namespace ZB.MOM.WW.ScadaBridge.Commons.Messages.Management; public record ListTemplatesCommand; public record GetTemplateCommand(int TemplateId); public record CreateTemplateCommand(string Name, string? Description, int? ParentTemplateId); public record UpdateTemplateCommand(int TemplateId, string Name, string? Description, int? ParentTemplateId); public record DeleteTemplateCommand(int TemplateId); public record ValidateTemplateCommand(int TemplateId); // Template member operations public record AddTemplateAttributeCommand(int TemplateId, string Name, string DataType, string? Value, string? Description, string? DataSourceReference, bool IsLocked); public record UpdateTemplateAttributeCommand(int AttributeId, string Name, string DataType, string? Value, string? Description, string? DataSourceReference, bool IsLocked); public record DeleteTemplateAttributeCommand(int AttributeId); public record AddTemplateAlarmCommand(int TemplateId, string Name, string TriggerType, int PriorityLevel, string? Description, string? TriggerConfiguration, bool IsLocked); public record UpdateTemplateAlarmCommand(int AlarmId, string Name, string TriggerType, int PriorityLevel, string? Description, string? TriggerConfiguration, bool IsLocked); public record DeleteTemplateAlarmCommand(int AlarmId); // Native alarm source bindings (read-only mirror of an OPC UA A&C / MxGateway source's alarms) public record AddTemplateNativeAlarmSourceCommand(int TemplateId, string Name, string ConnectionName, string SourceReference, string? ConditionFilter, string? Description, bool IsLocked); public record UpdateTemplateNativeAlarmSourceCommand(int NativeAlarmSourceId, string Name, string ConnectionName, string SourceReference, string? ConditionFilter, string? Description, bool IsLocked); public record DeleteTemplateNativeAlarmSourceCommand(int NativeAlarmSourceId); public record ListTemplateNativeAlarmSourcesCommand(int TemplateId); public record AddTemplateScriptCommand(int TemplateId, string Name, string Code, string? TriggerType, string? TriggerConfiguration, bool IsLocked, string? ParameterDefinitions = null, string? ReturnDefinition = null); public record UpdateTemplateScriptCommand(int ScriptId, string Name, string Code, string? TriggerType, string? TriggerConfiguration, bool IsLocked, string? ParameterDefinitions = null, string? ReturnDefinition = null); public record DeleteTemplateScriptCommand(int ScriptId); public record AddTemplateCompositionCommand(int TemplateId, string InstanceName, int ComposedTemplateId); public record DeleteTemplateCompositionCommand(int CompositionId);