legion-data 1.8.3 → 1.8.4

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: 16137586242aa6d79a027d6e293dced3807ea3b61a0ff896c06164a3b600ebf3
4
+ data.tar.gz: 73c64585a2280fa2d0a143a7f6811f7707f1c2524468fcfc799f16aaaebbbc3a
5
5
  SHA512:
6
- metadata.gz: 345dd816ac680066d8964506e9c14f72638b694ef5a3d7bc17e135328ed6131ac57ca1180b376818985248b5bbd55d89a8739ce10009f4fa444bec7b374bddee
7
- data.tar.gz: 54a8d886807da8bcddf8700bac674a5c6199f92f15e6f0ee76384a4651057c8af034024c1e4ca51de852acb15c81fee3e7e0b87ffdcf8950364d24bc0a6784b9
6
+ metadata.gz: ef0a8443c9405d83ff2ec0b84738ebfef221c85c09ffb2bc73311910872052df587e53e5ebd0739481175e56d2bade7d41f74747d3aef34d0fad1774f469d7a3
7
+ data.tar.gz: de5406352a6ce4d0bbc73ad5f2c38831d5083bbb01d2648cf49967a82059cf0c28906a7fb406db205b5c2126a91ea05327f7611cf8e90ec816f2418cd8f00e0f
data/CHANGELOG.md CHANGED
@@ -2,6 +2,16 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [1.8.4] - 2026-05-08
6
+
7
+ ### Removed
8
+ - Dropped legacy postgres-only identity tables (`principals`, `identity_providers`, `identities`, `identity_groups`, `identity_group_memberships`, `identity_audit_log`) via migration 098.
9
+ - Removed `table_available?` guards from all identity model files — models load unconditionally.
10
+
11
+ ### Changed
12
+ - 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.
13
+ - Updated all identity models to reference the new table names.
14
+
5
15
  ## [1.8.3] - 2026-05-07
6
16
 
7
17
  ### Removed
@@ -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.4'
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.4
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