/**
 * DTO for updating a system setting.
 * Only allows updating the value and editable fields that admins should modify.
 */
export interface UpdateSystemSettingDto {
  value?: any;
  description?: string;
  isPublic?: boolean;
  isEditable?: boolean;
}

/**
 * DTO for creating a system setting.
 * Used for initial setup or adding new system-wide settings.
 */
export interface CreateSystemSettingDto {
  key: string;
  value: any;
  dataType?: 'string' | 'number' | 'boolean' | 'json' | 'array' | 'secret';
  category: string;
  description?: string;
  isPublic?: boolean;
  isEditable?: boolean;
  defaultValue?: any;
  validationRules?: Record<string, any>;
}
