legion-data 1.8.3 → 1.8.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d9f440b5e825e600fe33f7b07f6aa7aeb11cde67069eea1960e01ed6fcfb5ee2
4
- data.tar.gz: b60960ed3f6cf3f870c92a309dd8ee53d11f7b1f672e747a35c0ca11e8267074
3
+ metadata.gz: b825eb46e0228251730ce4c339e76eac14c67e3001d1554495bf7f72ec0f5d0c
4
+ data.tar.gz: a9f797bd628944c509ea230003a927e5bf3ba434a08a50bdd6a35a34d719d72e
5
5
  SHA512:
6
- metadata.gz: 345dd816ac680066d8964506e9c14f72638b694ef5a3d7bc17e135328ed6131ac57ca1180b376818985248b5bbd55d89a8739ce10009f4fa444bec7b374bddee
7
- data.tar.gz: 54a8d886807da8bcddf8700bac674a5c6199f92f15e6f0ee76384a4651057c8af034024c1e4ca51de852acb15c81fee3e7e0b87ffdcf8950364d24bc0a6784b9
6
+ metadata.gz: 1d46e826a98465155b373512068ae0edc3caf29dd5a0b39c910aa2fd68e3076f0348bd7611b94f91707d6d8b674b9637d4c4f55739712e82cba2aa485a67a602
7
+ data.tar.gz: c5bbda03afc750f841f22a8eb55a01a4b8a335d8167a81445cadb033e95b40d4409c704c110fefb5a42d752d9abb6d46d5778613b92a9d10a81f25c415b0c569
data/CHANGELOG.md CHANGED
@@ -1,6 +1,19 @@
1
1
  # Legion::Data Changelog
2
2
 
3
- ## [Unreleased]
3
+ ## [1.8.5] - 2026-05-09
4
+
5
+ ### Removed
6
+ - Unnecessary `defined?(Legion::Logging)` guards from connection and local database setup — legion-logging is a hard gemspec dependency and always available
7
+
8
+ ## [1.8.4] - 2026-05-08
9
+
10
+ ### Removed
11
+ - Dropped legacy postgres-only identity tables (`principals`, `identity_providers`, `identities`, `identity_groups`, `identity_group_memberships`, `identity_audit_log`) via migration 098.
12
+ - Removed `table_available?` guards from all identity model files — models load unconditionally.
13
+
14
+ ### Changed
15
+ - Renamed `portable_identity_*` tables to canonical names (`identity_principals`, `identity_providers`, `identities`, `identity_groups`, `identity_group_memberships`, `identity_audit_log`, `identity_provider_capabilities`) via migration 099.
16
+ - Updated all identity models to reference the new table names.
4
17
 
5
18
  ## [1.8.3] - 2026-05-07
6
19
 
@@ -396,7 +396,7 @@ module Legion
396
396
  opts[:logger] = @query_file_logger
397
397
  opts[:sql_log_level] = :debug
398
398
  opts[:log_connection_info] = data[:log_connection_info] || false
399
- elsif data[:log] && defined?(Legion::Logging)
399
+ elsif data[:log]
400
400
  # Standard mode: slow-query warnings through Legion::Logging domain
401
401
  opts[:logger] = build_data_logger
402
402
  opts[:sql_log_level] = data[:sql_log_level]&.to_sym || :debug
@@ -38,7 +38,7 @@ module Legion
38
38
  @query_file_logger = Legion::Data::Connection::QueryFileLogger.new(log_path)
39
39
  opts[:logger] = @query_file_logger
40
40
  opts[:sql_log_level] = :debug
41
- elsif data[:log] && defined?(Legion::Logging)
41
+ elsif data[:log]
42
42
  opts[:logger] = build_local_logger
43
43
  opts[:sql_log_level] = resolved_sql_log_level
44
44
  opts[:log_warn_duration] = resolved_log_warn_duration
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ Sequel.migration do
4
+ up do
5
+ drop_table(:identity_audit_log) if table_exists?(:identity_audit_log)
6
+ drop_table(:identity_group_memberships) if table_exists?(:identity_group_memberships)
7
+ drop_table(:identity_groups) if table_exists?(:identity_groups)
8
+ drop_table(:identities) if table_exists?(:identities)
9
+
10
+ alter_table(:nodes) { drop_column :principal_id } if table_exists?(:nodes) && schema(:nodes).any? { |col, _| col == :principal_id }
11
+
12
+ drop_table(:principals) if table_exists?(:principals)
13
+ drop_table(:identity_providers) if table_exists?(:identity_providers)
14
+ end
15
+
16
+ down do
17
+ nil
18
+ end
19
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ Sequel.migration do
4
+ up do
5
+ rename_table(:portable_identity_provider_capabilities, :identity_provider_capabilities)
6
+ rename_table(:portable_identity_audit_log, :identity_audit_log)
7
+ rename_table(:portable_identity_group_memberships, :identity_group_memberships)
8
+ rename_table(:portable_identity_groups, :identity_groups)
9
+ rename_table(:portable_identities, :identities)
10
+ rename_table(:portable_identity_principals, :identity_principals)
11
+ rename_table(:portable_identity_providers, :identity_providers)
12
+ end
13
+
14
+ down do
15
+ rename_table(:identity_providers, :portable_identity_providers)
16
+ rename_table(:identity_principals, :portable_identity_principals)
17
+ rename_table(:identities, :portable_identities)
18
+ rename_table(:identity_groups, :portable_identity_groups)
19
+ rename_table(:identity_group_memberships, :portable_identity_group_memberships)
20
+ rename_table(:identity_audit_log, :portable_identity_audit_log)
21
+ rename_table(:identity_provider_capabilities, :portable_identity_provider_capabilities)
22
+ end
23
+ end
@@ -2,13 +2,11 @@
2
2
 
3
3
  require_relative 'model_helpers'
4
4
 
5
- return unless Legion::Data::Model::Identity::ModelHelpers.table_available?(:portable_identity_audit_log)
6
-
7
5
  module Legion
8
6
  module Data
9
7
  module Model
10
8
  class Identity
11
- class AuditLog < Sequel::Model(:portable_identity_audit_log)
9
+ class AuditLog < Sequel::Model(:identity_audit_log)
12
10
  include ModelHelpers
13
11
 
14
12
  many_to_one :principal, class: 'Legion::Data::Model::Identity::Principal'
@@ -2,19 +2,17 @@
2
2
 
3
3
  require_relative 'model_helpers'
4
4
 
5
- return unless Legion::Data::Model::Identity::ModelHelpers.table_available?(:portable_identity_groups)
6
-
7
5
  module Legion
8
6
  module Data
9
7
  module Model
10
8
  class Identity
11
- class Group < Sequel::Model(:portable_identity_groups)
9
+ class Group < Sequel::Model(:identity_groups)
12
10
  include ModelHelpers
13
11
 
14
12
  one_to_many :memberships, class: 'Legion::Data::Model::Identity::GroupMembership', key: :group_id
15
13
  many_to_many :principals,
16
14
  class: 'Legion::Data::Model::Identity::Principal',
17
- join_table: :portable_identity_group_memberships,
15
+ join_table: :identity_group_memberships,
18
16
  left_key: :group_id,
19
17
  right_key: :principal_id
20
18
 
@@ -2,13 +2,11 @@
2
2
 
3
3
  require_relative 'model_helpers'
4
4
 
5
- return unless Legion::Data::Model::Identity::ModelHelpers.table_available?(:portable_identity_group_memberships)
6
-
7
5
  module Legion
8
6
  module Data
9
7
  module Model
10
8
  class Identity
11
- class GroupMembership < Sequel::Model(:portable_identity_group_memberships)
9
+ class GroupMembership < Sequel::Model(:identity_group_memberships)
12
10
  include ModelHelpers
13
11
 
14
12
  many_to_one :principal, class: 'Legion::Data::Model::Identity::Principal'
@@ -2,13 +2,11 @@
2
2
 
3
3
  require_relative 'model_helpers'
4
4
 
5
- return unless Legion::Data::Model::Identity::ModelHelpers.table_available?(:portable_identities)
6
-
7
5
  module Legion
8
6
  module Data
9
7
  module Model
10
8
  class Identity
11
- class Identity < Sequel::Model(:portable_identities)
9
+ class Identity < Sequel::Model(:identities)
12
10
  include ModelHelpers
13
11
 
14
12
  many_to_one :principal, class: 'Legion::Data::Model::Identity::Principal'
@@ -11,12 +11,6 @@ module Legion
11
11
  model.extend(ClassMethods)
12
12
  end
13
13
 
14
- def self.table_available?(table_name)
15
- Legion::Data::Connection.sequel&.table_exists?(table_name)
16
- rescue StandardError
17
- false
18
- end
19
-
20
14
  module ClassMethods
21
15
  def lookup(value)
22
16
  lookup_by_columns(value, lookup_columns)
@@ -2,20 +2,18 @@
2
2
 
3
3
  require_relative 'model_helpers'
4
4
 
5
- return unless Legion::Data::Model::Identity::ModelHelpers.table_available?(:portable_identity_principals)
6
-
7
5
  module Legion
8
6
  module Data
9
7
  module Model
10
8
  class Identity
11
- class Principal < Sequel::Model(:portable_identity_principals)
9
+ class Principal < Sequel::Model(:identity_principals)
12
10
  include ModelHelpers
13
11
 
14
12
  one_to_many :identities, class: 'Legion::Data::Model::Identity::Identity'
15
13
  one_to_many :group_memberships, class: 'Legion::Data::Model::Identity::GroupMembership'
16
14
  many_to_many :groups,
17
15
  class: 'Legion::Data::Model::Identity::Group',
18
- join_table: :portable_identity_group_memberships,
16
+ join_table: :identity_group_memberships,
19
17
  left_key: :principal_id,
20
18
  right_key: :group_id
21
19
 
@@ -2,13 +2,11 @@
2
2
 
3
3
  require_relative 'model_helpers'
4
4
 
5
- return unless Legion::Data::Model::Identity::ModelHelpers.table_available?(:portable_identity_providers)
6
-
7
5
  module Legion
8
6
  module Data
9
7
  module Model
10
8
  class Identity
11
- class Provider < Sequel::Model(:portable_identity_providers)
9
+ class Provider < Sequel::Model(:identity_providers)
12
10
  include ModelHelpers
13
11
 
14
12
  one_to_many :identities, class: 'Legion::Data::Model::Identity::Identity', key: :provider_id
@@ -25,7 +23,7 @@ module Legion
25
23
  end
26
24
  end
27
25
 
28
- class ProviderCapability < Sequel::Model(:portable_identity_provider_capabilities)
26
+ class ProviderCapability < Sequel::Model(:identity_provider_capabilities)
29
27
  many_to_one :provider, class: 'Legion::Data::Model::Identity::Provider'
30
28
  end
31
29
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Legion
4
4
  module Data
5
- VERSION = '1.8.3'
5
+ VERSION = '1.8.5'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: legion-data
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.8.3
4
+ version: 1.8.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Esity
@@ -244,6 +244,8 @@ files:
244
244
  - lib/legion/data/migrations/095_create_portable_identity_group_memberships.rb
245
245
  - lib/legion/data/migrations/096_create_portable_identity_audit_log.rb
246
246
  - lib/legion/data/migrations/097_add_llm_dispatch_fields.rb
247
+ - lib/legion/data/migrations/098_drop_legacy_identity_tables.rb
248
+ - lib/legion/data/migrations/099_rename_portable_identity_tables.rb
247
249
  - lib/legion/data/model.rb
248
250
  - lib/legion/data/models/apollo/access_log.rb
249
251
  - lib/legion/data/models/apollo/entries.rb