hyrax 5.1.0 → 5.2.0

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.
Files changed (61) hide show
  1. checksums.yaml +4 -4
  2. data/.dassie/Gemfile +1 -1
  3. data/.dassie/config/application.rb +1 -1
  4. data/.dassie/config/initializers/devise.rb +1 -0
  5. data/.dassie/db/schema.rb +110 -109
  6. data/.github/workflows/lint-build-test.yml +1 -1
  7. data/.koppie/config/initializers/devise.rb +1 -1
  8. data/CONTAINERS.md +10 -10
  9. data/Gemfile +2 -1
  10. data/app/controllers/concerns/hyrax/valkyrie_downloads_controller_behavior.rb +1 -0
  11. data/app/controllers/concerns/hyrax/works_controller_behavior.rb +2 -1
  12. data/app/controllers/hyrax/admin/analytics/work_reports_controller.rb +4 -4
  13. data/app/controllers/hyrax/file_sets_controller.rb +1 -1
  14. data/app/helpers/hyrax/hyrax_helper_behavior.rb +2 -2
  15. data/app/helpers/hyrax/trophy_helper.rb +1 -1
  16. data/app/jobs/concerns/hyrax/queued_job_behavior.rb +22 -0
  17. data/app/jobs/hyrax/propagate_change_depositor_job.rb +1 -1
  18. data/app/jobs/hyrax/queued_delete_job.rb +11 -0
  19. data/app/jobs/hyrax/queued_indexing_job.rb +11 -0
  20. data/app/jobs/migrate_files_to_valkyrie_job.rb +33 -21
  21. data/app/jobs/migrate_sipity_entity_job.rb +21 -0
  22. data/app/models/concerns/hyrax/ability.rb +4 -2
  23. data/app/models/concerns/hyrax/solr_document_behavior.rb +5 -2
  24. data/app/models/hyrax/file_metadata.rb +22 -7
  25. data/app/services/hyrax/analytics/ga4/base.rb +1 -1
  26. data/app/services/hyrax/analytics/ga4.rb +5 -1
  27. data/app/services/hyrax/change_depositor_service.rb +1 -1
  28. data/app/services/hyrax/characterization/valkyrie_characterization_service.rb +21 -13
  29. data/app/services/hyrax/custom_queries/find_ids_by_model.rb +31 -6
  30. data/app/services/hyrax/edit_permissions_service.rb +9 -8
  31. data/app/services/hyrax/workflow/workflow_factory.rb +3 -3
  32. data/app/services/migrate_resource_service.rb +1 -1
  33. data/app/views/_user_util_links.html.erb +2 -1
  34. data/app/views/hyrax/admin/analytics/collection_reports/_top_collections.html.erb +3 -7
  35. data/app/views/hyrax/admin/analytics/work_reports/_top_file_set_downloads.html.erb +3 -6
  36. data/app/views/hyrax/admin/analytics/work_reports/_top_works.html.erb +2 -3
  37. data/app/views/hyrax/admin/analytics/work_reports/_work_files.html.erb +1 -6
  38. data/app/views/hyrax/base/_social_media.html.erb +2 -0
  39. data/app/views/hyrax/dashboard/collections/_show_document_list_menu.html.erb +13 -12
  40. data/app/views/hyrax/my/_admin_set_action_menu.html.erb +31 -27
  41. data/app/views/hyrax/my/_collection_action_menu.html.erb +40 -35
  42. data/app/views/hyrax/my/_work_action_menu.html.erb +23 -22
  43. data/config/features.rb +50 -40
  44. data/config/initializers/indexing_adapter_initializer.rb +4 -0
  45. data/config/initializers/new_framework_defaults_7_2.rb +6 -4
  46. data/config/initializers/reform_rails_6_1_monkey_patch.rb +29 -0
  47. data/config/metadata/core_metadata.yaml +1 -0
  48. data/docker-compose-dassie.yml +4 -4
  49. data/documentation/developing-your-hyrax-based-app.md +2 -2
  50. data/hyrax.gemspec +2 -2
  51. data/lib/freyja/persister.rb +11 -4
  52. data/lib/hyrax/configuration.rb +22 -7
  53. data/lib/hyrax/controlled_vocabulary/importer/language.rb +5 -1
  54. data/lib/hyrax/transactions/steps/add_file_sets.rb +2 -1
  55. data/lib/hyrax/version.rb +1 -1
  56. data/lib/hyrax.rb +1 -0
  57. data/lib/valkyrie/indexing/redis_queue/indexing_adapter.rb +144 -0
  58. data/lib/wings/valkyrie/query_service.rb +3 -4
  59. data/template.rb +1 -1
  60. metadata +20 -12
  61. data/.github/workflows/main.yml +0 -17
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ddbf266b8b67364db933bf1b60129204b7f9055c3ff396d36bbfd5ba0a752868
4
- data.tar.gz: a0f8fca6c5cfb7213ffaf321be7930e80a2a974ee4b33b5c8b3cc3ab24816409
3
+ metadata.gz: 9e0fb614fbcdcb0a429b210b32a8784d0d173f3fe226cce143be9905031b6d75
4
+ data.tar.gz: 87d6ed549b2e8fb4295feb681ea5696f9ad25f511e2da655f0957b195688a751
5
5
  SHA512:
6
- metadata.gz: 2ffab98229bd3ee47dc292dce9a71db483326125cc76419b386e7fc34c4698a9b288926f2f1bf572730f9f8249c205b2a5fce46a93f002e0d23fa47b97b89bf5
7
- data.tar.gz: 47beca282a262f8016054dba544b273e0b7206d2e5f6dce83441189354fa1ef99188545fa270ce6449e8ce50019136e8b7b0cd02ab536f90d544c16c68a19841
6
+ metadata.gz: 44689f87eaf8cdf5089f6fef0eb9f84a8b3a38c5e92dd91984465bb7a4c7ca4a740fb6aecef0f97bab5d207db4a42be8db4ca086e09320dbb28110dc279eaf5a
7
+ data.tar.gz: abaab63cb2a1647f9b72c9e2bf8222dc76a9d48d3e58123636481b285fec9e67b4164b5bcabe68e03cb90fe26a64595d77218d7e21248ced8bba363c9fe1505a
data/.dassie/Gemfile CHANGED
@@ -36,7 +36,7 @@ gem 'okcomputer'
36
36
  gem 'pg', '~> 1.3'
37
37
  gem 'puma'
38
38
  gem 'rack-mini-profiler', require: ['prepend_net_http_patch']
39
- gem 'rails', '~> 7.2', '< 8.0'
39
+ gem 'rails', '6.1.7.10'
40
40
  gem 'riiif', '~> 2.1'
41
41
  gem 'rsolr', '>= 1.0', '< 3'
42
42
  gem 'sass-rails', '~> 6.0'
@@ -9,7 +9,7 @@ Bundler.require(*Rails.groups)
9
9
  module Dassie
10
10
  class Application < Rails::Application
11
11
  # Initialize configuration defaults for originally generated Rails version.
12
- config.load_defaults 7.2
12
+ config.load_defaults 6.1
13
13
  config.add_autoload_paths_to_load_path = true
14
14
 
15
15
  # Settings in config/environments/* take precedence over those specified here.
@@ -10,4 +10,5 @@ Devise.setup do |config|
10
10
  config.password_length = 6..128
11
11
  config.email_regexp = /\A[^@\s]+@[^@\s]+\z/
12
12
  config.reset_password_within = 6.hours
13
+ config.sign_out_via = :delete
13
14
  end
data/.dassie/db/schema.rb CHANGED
@@ -10,7 +10,8 @@
10
10
  #
11
11
  # It's strongly recommended that you check this file into your version control system.
12
12
 
13
- ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
13
+ ActiveRecord::Schema.define(version: 2025_03_28_100249) do
14
+
14
15
  # These are extensions that must be enabled in order to support this database
15
16
  enable_extension "plpgsql"
16
17
  enable_extension "uuid-ossp"
@@ -21,8 +22,8 @@ ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
21
22
  t.string "document_id"
22
23
  t.string "document_type"
23
24
  t.binary "title"
24
- t.datetime "created_at", precision: nil, null: false
25
- t.datetime "updated_at", precision: nil, null: false
25
+ t.datetime "created_at", null: false
26
+ t.datetime "updated_at", null: false
26
27
  t.index ["document_id"], name: "index_bookmarks_on_document_id"
27
28
  t.index ["user_id"], name: "index_bookmarks_on_user_id"
28
29
  end
@@ -33,8 +34,8 @@ ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
33
34
  t.string "checked_uri"
34
35
  t.string "expected_result"
35
36
  t.string "actual_result"
36
- t.datetime "created_at", precision: nil, null: false
37
- t.datetime "updated_at", precision: nil, null: false
37
+ t.datetime "created_at", null: false
38
+ t.datetime "updated_at", null: false
38
39
  t.boolean "passed"
39
40
  t.index ["checked_uri"], name: "index_checksum_audit_logs_on_checked_uri"
40
41
  t.index ["file_set_id", "file_id"], name: "by_file_set_id_and_file_id"
@@ -48,8 +49,8 @@ ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
48
49
  t.string "target_url"
49
50
  t.integer "height"
50
51
  t.integer "width"
51
- t.datetime "created_at", precision: nil, null: false
52
- t.datetime "updated_at", precision: nil, null: false
52
+ t.datetime "created_at", null: false
53
+ t.datetime "updated_at", null: false
53
54
  end
54
55
 
55
56
  create_table "collection_type_participants", force: :cascade do |t|
@@ -57,16 +58,16 @@ ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
57
58
  t.string "agent_type"
58
59
  t.string "agent_id"
59
60
  t.string "access"
60
- t.datetime "created_at", precision: nil, null: false
61
- t.datetime "updated_at", precision: nil, null: false
61
+ t.datetime "created_at", null: false
62
+ t.datetime "updated_at", null: false
62
63
  t.index ["hyrax_collection_type_id"], name: "hyrax_collection_type_id"
63
64
  end
64
65
 
65
66
  create_table "content_blocks", force: :cascade do |t|
66
67
  t.string "name"
67
68
  t.text "value"
68
- t.datetime "created_at", precision: nil, null: false
69
- t.datetime "updated_at", precision: nil, null: false
69
+ t.datetime "created_at", null: false
70
+ t.datetime "updated_at", null: false
70
71
  t.string "external_key"
71
72
  end
72
73
 
@@ -83,8 +84,8 @@ ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
83
84
  t.integer "rgt", null: false
84
85
  t.integer "depth", default: 0, null: false
85
86
  t.integer "children_count", default: 0, null: false
86
- t.datetime "created_at", precision: nil, null: false
87
- t.datetime "updated_at", precision: nil, null: false
87
+ t.datetime "created_at", null: false
88
+ t.datetime "updated_at", null: false
88
89
  t.index ["lft"], name: "index_curation_concerns_operations_on_lft"
89
90
  t.index ["parent_id"], name: "index_curation_concerns_operations_on_parent_id"
90
91
  t.index ["rgt"], name: "index_curation_concerns_operations_on_rgt"
@@ -94,29 +95,29 @@ ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
94
95
  create_table "featured_works", force: :cascade do |t|
95
96
  t.integer "order", default: 5
96
97
  t.string "work_id"
97
- t.datetime "created_at", precision: nil, null: false
98
- t.datetime "updated_at", precision: nil, null: false
98
+ t.datetime "created_at", null: false
99
+ t.datetime "updated_at", null: false
99
100
  t.index ["order"], name: "index_featured_works_on_order"
100
101
  t.index ["work_id"], name: "index_featured_works_on_work_id"
101
102
  end
102
103
 
103
104
  create_table "file_download_stats", force: :cascade do |t|
104
- t.datetime "date", precision: nil
105
+ t.datetime "date"
105
106
  t.integer "downloads"
106
107
  t.string "file_id"
107
- t.datetime "created_at", precision: nil, null: false
108
- t.datetime "updated_at", precision: nil, null: false
108
+ t.datetime "created_at", null: false
109
+ t.datetime "updated_at", null: false
109
110
  t.integer "user_id"
110
111
  t.index ["file_id"], name: "index_file_download_stats_on_file_id"
111
112
  t.index ["user_id"], name: "index_file_download_stats_on_user_id"
112
113
  end
113
114
 
114
115
  create_table "file_view_stats", force: :cascade do |t|
115
- t.datetime "date", precision: nil
116
+ t.datetime "date"
116
117
  t.integer "views"
117
118
  t.string "file_id"
118
- t.datetime "created_at", precision: nil, null: false
119
- t.datetime "updated_at", precision: nil, null: false
119
+ t.datetime "created_at", null: false
120
+ t.datetime "updated_at", null: false
120
121
  t.integer "user_id"
121
122
  t.index ["file_id"], name: "index_file_view_stats_on_file_id"
122
123
  t.index ["user_id"], name: "index_file_view_stats_on_user_id"
@@ -146,8 +147,8 @@ ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
146
147
  t.date "date"
147
148
  t.integer "total_item_investigations"
148
149
  t.integer "total_item_requests"
149
- t.datetime "created_at", precision: nil, null: false
150
- t.datetime "updated_at", precision: nil, null: false
150
+ t.datetime "created_at", null: false
151
+ t.datetime "updated_at", null: false
151
152
  t.string "title"
152
153
  t.integer "year_of_publication"
153
154
  t.string "publisher"
@@ -160,15 +161,15 @@ ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
160
161
 
161
162
  create_table "hyrax_default_administrative_set", force: :cascade do |t|
162
163
  t.string "default_admin_set_id", null: false
163
- t.datetime "created_at", precision: nil, null: false
164
- t.datetime "updated_at", precision: nil, null: false
164
+ t.datetime "created_at", null: false
165
+ t.datetime "updated_at", null: false
165
166
  end
166
167
 
167
168
  create_table "hyrax_features", force: :cascade do |t|
168
169
  t.string "key", null: false
169
170
  t.boolean "enabled", default: false, null: false
170
- t.datetime "created_at", precision: nil, null: false
171
- t.datetime "updated_at", precision: nil, null: false
171
+ t.datetime "created_at", null: false
172
+ t.datetime "updated_at", null: false
172
173
  end
173
174
 
174
175
  create_table "job_io_wrappers", force: :cascade do |t|
@@ -179,8 +180,8 @@ ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
179
180
  t.string "original_name"
180
181
  t.string "path"
181
182
  t.string "relation"
182
- t.datetime "created_at", precision: nil, null: false
183
- t.datetime "updated_at", precision: nil, null: false
183
+ t.datetime "created_at", null: false
184
+ t.datetime "updated_at", null: false
184
185
  t.index ["uploaded_file_id"], name: "index_job_io_wrappers_on_uploaded_file_id"
185
186
  t.index ["user_id"], name: "index_job_io_wrappers_on_user_id"
186
187
  end
@@ -195,8 +196,8 @@ ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
195
196
 
196
197
  create_table "mailboxer_conversations", id: :serial, force: :cascade do |t|
197
198
  t.string "subject", default: ""
198
- t.datetime "created_at", precision: nil, null: false
199
- t.datetime "updated_at", precision: nil, null: false
199
+ t.datetime "created_at", null: false
200
+ t.datetime "updated_at", null: false
200
201
  end
201
202
 
202
203
  create_table "mailboxer_notifications", id: :serial, force: :cascade do |t|
@@ -211,10 +212,10 @@ ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
211
212
  t.string "notified_object_type"
212
213
  t.integer "notified_object_id"
213
214
  t.string "attachment"
214
- t.datetime "updated_at", precision: nil, null: false
215
- t.datetime "created_at", precision: nil, null: false
215
+ t.datetime "updated_at", null: false
216
+ t.datetime "created_at", null: false
216
217
  t.boolean "global", default: false
217
- t.datetime "expires", precision: nil
218
+ t.datetime "expires"
218
219
  t.index ["conversation_id"], name: "index_mailboxer_notifications_on_conversation_id"
219
220
  t.index ["notified_object_id", "notified_object_type"], name: "index_mailboxer_notifications_on_notified_object_id_and_type"
220
221
  t.index ["notified_object_type", "notified_object_id"], name: "mailboxer_notifications_notified_object"
@@ -230,8 +231,8 @@ ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
230
231
  t.boolean "trashed", default: false
231
232
  t.boolean "deleted", default: false
232
233
  t.string "mailbox_type", limit: 25
233
- t.datetime "created_at", precision: nil, null: false
234
- t.datetime "updated_at", precision: nil, null: false
234
+ t.datetime "created_at", null: false
235
+ t.datetime "updated_at", null: false
235
236
  t.boolean "is_delivered", default: false
236
237
  t.string "delivery_method"
237
238
  t.string "message_id"
@@ -245,15 +246,15 @@ ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
245
246
  t.text "counters"
246
247
  t.bigint "seq", default: 0
247
248
  t.binary "rand"
248
- t.datetime "created_at", precision: nil, null: false
249
- t.datetime "updated_at", precision: nil, null: false
249
+ t.datetime "created_at", null: false
250
+ t.datetime "updated_at", null: false
250
251
  t.index ["namespace"], name: "index_minter_states_on_namespace", unique: true
251
252
  end
252
253
 
253
254
  create_table "orm_resources", id: :text, default: -> { "(uuid_generate_v4())::text" }, force: :cascade do |t|
254
255
  t.jsonb "metadata", default: {}, null: false
255
- t.datetime "created_at", precision: nil, null: false
256
- t.datetime "updated_at", precision: nil, null: false
256
+ t.datetime "created_at", null: false
257
+ t.datetime "updated_at", null: false
257
258
  t.string "internal_resource"
258
259
  t.integer "lock_version"
259
260
  t.index ["internal_resource"], name: "index_orm_resources_on_internal_resource"
@@ -267,8 +268,8 @@ ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
267
268
  t.string "agent_type"
268
269
  t.string "agent_id"
269
270
  t.string "access"
270
- t.datetime "created_at", precision: nil, null: false
271
- t.datetime "updated_at", precision: nil, null: false
271
+ t.datetime "created_at", null: false
272
+ t.datetime "updated_at", null: false
272
273
  t.index ["permission_template_id", "agent_id", "agent_type", "access"], name: "uk_permission_template_accesses", unique: true
273
274
  t.index ["permission_template_id"], name: "index_permission_template_accesses_on_permission_template_id"
274
275
  end
@@ -276,8 +277,8 @@ ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
276
277
  create_table "permission_templates", force: :cascade do |t|
277
278
  t.string "source_id"
278
279
  t.string "visibility"
279
- t.datetime "created_at", precision: nil, null: false
280
- t.datetime "updated_at", precision: nil, null: false
280
+ t.datetime "created_at", null: false
281
+ t.datetime "updated_at", null: false
281
282
  t.date "release_date"
282
283
  t.string "release_period"
283
284
  t.index ["source_id"], name: "index_permission_templates_on_source_id", unique: true
@@ -287,12 +288,12 @@ ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
287
288
  t.string "work_id", null: false
288
289
  t.bigint "sending_user_id", null: false
289
290
  t.bigint "receiving_user_id", null: false
290
- t.datetime "fulfillment_date", precision: nil
291
+ t.datetime "fulfillment_date"
291
292
  t.string "status", default: "pending", null: false
292
293
  t.text "sender_comment"
293
294
  t.text "receiver_comment"
294
- t.datetime "created_at", precision: nil, null: false
295
- t.datetime "updated_at", precision: nil, null: false
295
+ t.datetime "created_at", null: false
296
+ t.datetime "updated_at", null: false
296
297
  t.index ["receiving_user_id"], name: "index_proxy_deposit_requests_on_receiving_user_id"
297
298
  t.index ["sending_user_id"], name: "index_proxy_deposit_requests_on_sending_user_id"
298
299
  end
@@ -300,16 +301,16 @@ ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
300
301
  create_table "proxy_deposit_rights", force: :cascade do |t|
301
302
  t.bigint "grantor_id"
302
303
  t.bigint "grantee_id"
303
- t.datetime "created_at", precision: nil, null: false
304
- t.datetime "updated_at", precision: nil, null: false
304
+ t.datetime "created_at", null: false
305
+ t.datetime "updated_at", null: false
305
306
  t.index ["grantee_id"], name: "index_proxy_deposit_rights_on_grantee_id"
306
307
  t.index ["grantor_id"], name: "index_proxy_deposit_rights_on_grantor_id"
307
308
  end
308
309
 
309
310
  create_table "qa_local_authorities", force: :cascade do |t|
310
311
  t.string "name"
311
- t.datetime "created_at", precision: nil, null: false
312
- t.datetime "updated_at", precision: nil, null: false
312
+ t.datetime "created_at", null: false
313
+ t.datetime "updated_at", null: false
313
314
  t.index ["name"], name: "index_qa_local_authorities_on_name", unique: true
314
315
  end
315
316
 
@@ -317,8 +318,8 @@ ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
317
318
  t.bigint "local_authority_id"
318
319
  t.string "label"
319
320
  t.string "uri"
320
- t.datetime "created_at", precision: nil, null: false
321
- t.datetime "updated_at", precision: nil, null: false
321
+ t.datetime "created_at", null: false
322
+ t.datetime "updated_at", null: false
322
323
  t.index ["local_authority_id"], name: "index_qa_local_authority_entries_on_local_authority_id"
323
324
  t.index ["uri"], name: "index_qa_local_authority_entries_on_uri", unique: true
324
325
  end
@@ -340,8 +341,8 @@ ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
340
341
  t.binary "query_params"
341
342
  t.integer "user_id"
342
343
  t.string "user_type"
343
- t.datetime "created_at", precision: nil, null: false
344
- t.datetime "updated_at", precision: nil, null: false
344
+ t.datetime "created_at", null: false
345
+ t.datetime "updated_at", null: false
345
346
  t.index ["user_id"], name: "index_searches_on_user_id"
346
347
  end
347
348
 
@@ -349,16 +350,16 @@ ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
349
350
  t.string "download_key"
350
351
  t.string "path"
351
352
  t.string "item_id"
352
- t.datetime "expires", precision: nil
353
- t.datetime "created_at", precision: nil, null: false
354
- t.datetime "updated_at", precision: nil, null: false
353
+ t.datetime "expires"
354
+ t.datetime "created_at", null: false
355
+ t.datetime "updated_at", null: false
355
356
  end
356
357
 
357
358
  create_table "sipity_agents", force: :cascade do |t|
358
359
  t.string "proxy_for_id", null: false
359
360
  t.string "proxy_for_type", null: false
360
- t.datetime "created_at", precision: nil, null: false
361
- t.datetime "updated_at", precision: nil, null: false
361
+ t.datetime "created_at", null: false
362
+ t.datetime "updated_at", null: false
362
363
  t.index ["proxy_for_id", "proxy_for_type"], name: "sipity_agents_proxy_for", unique: true
363
364
  end
364
365
 
@@ -366,8 +367,8 @@ ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
366
367
  t.integer "entity_id", null: false
367
368
  t.integer "agent_id", null: false
368
369
  t.text "comment"
369
- t.datetime "created_at", precision: nil, null: false
370
- t.datetime "updated_at", precision: nil, null: false
370
+ t.datetime "created_at", null: false
371
+ t.datetime "updated_at", null: false
371
372
  t.index ["agent_id"], name: "index_sipity_comments_on_agent_id"
372
373
  t.index ["created_at"], name: "index_sipity_comments_on_created_at"
373
374
  t.index ["entity_id"], name: "index_sipity_comments_on_entity_id"
@@ -377,8 +378,8 @@ ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
377
378
  t.string "proxy_for_global_id", null: false
378
379
  t.integer "workflow_id", null: false
379
380
  t.integer "workflow_state_id"
380
- t.datetime "created_at", precision: nil, null: false
381
- t.datetime "updated_at", precision: nil, null: false
381
+ t.datetime "created_at", null: false
382
+ t.datetime "updated_at", null: false
382
383
  t.index ["proxy_for_global_id"], name: "sipity_entities_proxy_for_global_id", unique: true
383
384
  t.index ["workflow_id"], name: "index_sipity_entities_on_workflow_id"
384
385
  t.index ["workflow_state_id"], name: "index_sipity_entities_on_workflow_state_id"
@@ -388,8 +389,8 @@ ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
388
389
  t.integer "workflow_role_id", null: false
389
390
  t.integer "entity_id", null: false
390
391
  t.integer "agent_id", null: false
391
- t.datetime "created_at", precision: nil, null: false
392
- t.datetime "updated_at", precision: nil, null: false
392
+ t.datetime "created_at", null: false
393
+ t.datetime "updated_at", null: false
393
394
  t.index ["agent_id"], name: "sipity_entity_specific_responsibilities_agent"
394
395
  t.index ["entity_id"], name: "sipity_entity_specific_responsibilities_entity"
395
396
  t.index ["workflow_role_id", "entity_id", "agent_id"], name: "sipity_entity_specific_responsibilities_aggregate", unique: true
@@ -401,8 +402,8 @@ ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
401
402
  t.string "scope_for_notification_type", null: false
402
403
  t.string "reason_for_notification", null: false
403
404
  t.integer "notification_id", null: false
404
- t.datetime "created_at", precision: nil, null: false
405
- t.datetime "updated_at", precision: nil, null: false
405
+ t.datetime "created_at", null: false
406
+ t.datetime "updated_at", null: false
406
407
  t.index ["notification_id"], name: "sipity_notifiable_contexts_notification_id"
407
408
  t.index ["scope_for_notification_id", "scope_for_notification_type", "reason_for_notification", "notification_id"], name: "sipity_notifiable_contexts_concern_surrogate", unique: true
408
409
  t.index ["scope_for_notification_id", "scope_for_notification_type", "reason_for_notification"], name: "sipity_notifiable_contexts_concern_context"
@@ -413,8 +414,8 @@ ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
413
414
  t.integer "notification_id", null: false
414
415
  t.integer "role_id", null: false
415
416
  t.string "recipient_strategy", null: false
416
- t.datetime "created_at", precision: nil, null: false
417
- t.datetime "updated_at", precision: nil, null: false
417
+ t.datetime "created_at", null: false
418
+ t.datetime "updated_at", null: false
418
419
  t.index ["notification_id", "role_id", "recipient_strategy"], name: "sipity_notifications_recipients_surrogate"
419
420
  t.index ["notification_id"], name: "sipity_notification_recipients_notification"
420
421
  t.index ["recipient_strategy"], name: "sipity_notification_recipients_recipient_strategy"
@@ -424,8 +425,8 @@ ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
424
425
  create_table "sipity_notifications", force: :cascade do |t|
425
426
  t.string "name", null: false
426
427
  t.string "notification_type", null: false
427
- t.datetime "created_at", precision: nil, null: false
428
- t.datetime "updated_at", precision: nil, null: false
428
+ t.datetime "created_at", null: false
429
+ t.datetime "updated_at", null: false
429
430
  t.index ["name"], name: "index_sipity_notifications_on_name", unique: true
430
431
  t.index ["notification_type"], name: "index_sipity_notifications_on_notification_type"
431
432
  end
@@ -433,8 +434,8 @@ ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
433
434
  create_table "sipity_roles", force: :cascade do |t|
434
435
  t.string "name", null: false
435
436
  t.text "description"
436
- t.datetime "created_at", precision: nil, null: false
437
- t.datetime "updated_at", precision: nil, null: false
437
+ t.datetime "created_at", null: false
438
+ t.datetime "updated_at", null: false
438
439
  t.index ["name"], name: "index_sipity_roles_on_name", unique: true
439
440
  end
440
441
 
@@ -442,8 +443,8 @@ ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
442
443
  t.integer "workflow_id", null: false
443
444
  t.integer "resulting_workflow_state_id"
444
445
  t.string "name", null: false
445
- t.datetime "created_at", precision: nil, null: false
446
- t.datetime "updated_at", precision: nil, null: false
446
+ t.datetime "created_at", null: false
447
+ t.datetime "updated_at", null: false
447
448
  t.index ["resulting_workflow_state_id"], name: "sipity_workflow_actions_resulting_workflow_state"
448
449
  t.index ["workflow_id", "name"], name: "sipity_workflow_actions_aggregate", unique: true
449
450
  t.index ["workflow_id"], name: "sipity_workflow_actions_workflow"
@@ -453,48 +454,48 @@ ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
453
454
  t.string "service_name", null: false
454
455
  t.integer "weight", null: false
455
456
  t.integer "workflow_action_id", null: false
456
- t.datetime "created_at", precision: nil, null: false
457
- t.datetime "updated_at", precision: nil, null: false
457
+ t.datetime "created_at", null: false
458
+ t.datetime "updated_at", null: false
458
459
  t.index ["workflow_action_id"], name: "index_sipity_workflow_methods_on_workflow_action_id"
459
460
  end
460
461
 
461
462
  create_table "sipity_workflow_responsibilities", force: :cascade do |t|
462
463
  t.integer "agent_id", null: false
463
464
  t.integer "workflow_role_id", null: false
464
- t.datetime "created_at", precision: nil, null: false
465
- t.datetime "updated_at", precision: nil, null: false
465
+ t.datetime "created_at", null: false
466
+ t.datetime "updated_at", null: false
466
467
  t.index ["agent_id", "workflow_role_id"], name: "sipity_workflow_responsibilities_aggregate", unique: true
467
468
  end
468
469
 
469
470
  create_table "sipity_workflow_roles", force: :cascade do |t|
470
471
  t.integer "workflow_id", null: false
471
472
  t.integer "role_id", null: false
472
- t.datetime "created_at", precision: nil, null: false
473
- t.datetime "updated_at", precision: nil, null: false
473
+ t.datetime "created_at", null: false
474
+ t.datetime "updated_at", null: false
474
475
  t.index ["workflow_id", "role_id"], name: "sipity_workflow_roles_aggregate", unique: true
475
476
  end
476
477
 
477
478
  create_table "sipity_workflow_state_action_permissions", force: :cascade do |t|
478
479
  t.integer "workflow_role_id", null: false
479
480
  t.integer "workflow_state_action_id", null: false
480
- t.datetime "created_at", precision: nil, null: false
481
- t.datetime "updated_at", precision: nil, null: false
481
+ t.datetime "created_at", null: false
482
+ t.datetime "updated_at", null: false
482
483
  t.index ["workflow_role_id", "workflow_state_action_id"], name: "sipity_workflow_state_action_permissions_aggregate", unique: true
483
484
  end
484
485
 
485
486
  create_table "sipity_workflow_state_actions", force: :cascade do |t|
486
487
  t.integer "originating_workflow_state_id", null: false
487
488
  t.integer "workflow_action_id", null: false
488
- t.datetime "created_at", precision: nil, null: false
489
- t.datetime "updated_at", precision: nil, null: false
489
+ t.datetime "created_at", null: false
490
+ t.datetime "updated_at", null: false
490
491
  t.index ["originating_workflow_state_id", "workflow_action_id"], name: "sipity_workflow_state_actions_aggregate", unique: true
491
492
  end
492
493
 
493
494
  create_table "sipity_workflow_states", force: :cascade do |t|
494
495
  t.integer "workflow_id", null: false
495
496
  t.string "name", null: false
496
- t.datetime "created_at", precision: nil, null: false
497
- t.datetime "updated_at", precision: nil, null: false
497
+ t.datetime "created_at", null: false
498
+ t.datetime "updated_at", null: false
498
499
  t.index ["name"], name: "index_sipity_workflow_states_on_name"
499
500
  t.index ["workflow_id", "name"], name: "sipity_type_state_aggregate", unique: true
500
501
  end
@@ -503,8 +504,8 @@ ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
503
504
  t.string "name", null: false
504
505
  t.string "label"
505
506
  t.text "description"
506
- t.datetime "created_at", precision: nil, null: false
507
- t.datetime "updated_at", precision: nil, null: false
507
+ t.datetime "created_at", null: false
508
+ t.datetime "updated_at", null: false
508
509
  t.integer "permission_template_id"
509
510
  t.boolean "active"
510
511
  t.boolean "allows_access_grant"
@@ -513,34 +514,34 @@ ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
513
514
 
514
515
  create_table "tinymce_assets", force: :cascade do |t|
515
516
  t.string "file"
516
- t.datetime "created_at", precision: nil, null: false
517
- t.datetime "updated_at", precision: nil, null: false
517
+ t.datetime "created_at", null: false
518
+ t.datetime "updated_at", null: false
518
519
  end
519
520
 
520
521
  create_table "trophies", force: :cascade do |t|
521
522
  t.integer "user_id"
522
523
  t.string "work_id"
523
- t.datetime "created_at", precision: nil, null: false
524
- t.datetime "updated_at", precision: nil, null: false
524
+ t.datetime "created_at", null: false
525
+ t.datetime "updated_at", null: false
525
526
  end
526
527
 
527
528
  create_table "uploaded_files", force: :cascade do |t|
528
529
  t.string "file"
529
530
  t.bigint "user_id"
530
531
  t.string "file_set_uri"
531
- t.datetime "created_at", precision: nil, null: false
532
- t.datetime "updated_at", precision: nil, null: false
532
+ t.datetime "created_at", null: false
533
+ t.datetime "updated_at", null: false
533
534
  t.index ["file_set_uri"], name: "index_uploaded_files_on_file_set_uri"
534
535
  t.index ["user_id"], name: "index_uploaded_files_on_user_id"
535
536
  end
536
537
 
537
538
  create_table "user_stats", force: :cascade do |t|
538
539
  t.integer "user_id"
539
- t.datetime "date", precision: nil
540
+ t.datetime "date"
540
541
  t.integer "file_views"
541
542
  t.integer "file_downloads"
542
- t.datetime "created_at", precision: nil, null: false
543
- t.datetime "updated_at", precision: nil, null: false
543
+ t.datetime "created_at", null: false
544
+ t.datetime "updated_at", null: false
544
545
  t.integer "work_views"
545
546
  t.index ["user_id"], name: "index_user_stats_on_user_id"
546
547
  end
@@ -549,10 +550,10 @@ ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
549
550
  t.string "email", default: "", null: false
550
551
  t.string "encrypted_password", default: "", null: false
551
552
  t.string "reset_password_token"
552
- t.datetime "reset_password_sent_at", precision: nil
553
- t.datetime "remember_created_at", precision: nil
554
- t.datetime "created_at", precision: nil, null: false
555
- t.datetime "updated_at", precision: nil, null: false
553
+ t.datetime "reset_password_sent_at"
554
+ t.datetime "remember_created_at"
555
+ t.datetime "created_at", null: false
556
+ t.datetime "updated_at", null: false
556
557
  t.boolean "guest", default: false
557
558
  t.string "facebook_handle"
558
559
  t.string "twitter_handle"
@@ -570,7 +571,7 @@ ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
570
571
  t.string "avatar_file_name"
571
572
  t.string "avatar_content_type"
572
573
  t.integer "avatar_file_size"
573
- t.datetime "avatar_updated_at", precision: nil
574
+ t.datetime "avatar_updated_at"
574
575
  t.string "linkedin_handle"
575
576
  t.string "orcid"
576
577
  t.string "arkivo_token"
@@ -587,16 +588,16 @@ ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
587
588
  t.string "datastream_id"
588
589
  t.string "version_id"
589
590
  t.string "committer_login"
590
- t.datetime "created_at", precision: nil, null: false
591
- t.datetime "updated_at", precision: nil, null: false
591
+ t.datetime "created_at", null: false
592
+ t.datetime "updated_at", null: false
592
593
  end
593
594
 
594
595
  create_table "work_view_stats", force: :cascade do |t|
595
- t.datetime "date", precision: nil
596
+ t.datetime "date"
596
597
  t.integer "work_views"
597
598
  t.string "work_id"
598
- t.datetime "created_at", precision: nil, null: false
599
- t.datetime "updated_at", precision: nil, null: false
599
+ t.datetime "created_at", null: false
600
+ t.datetime "updated_at", null: false
600
601
  t.integer "user_id"
601
602
  t.index ["user_id"], name: "index_work_view_stats_on_user_id"
602
603
  t.index ["work_id"], name: "index_work_view_stats_on_work_id"
@@ -85,7 +85,7 @@ jobs:
85
85
  with:
86
86
  token: ${{ secrets.NURAX_ACCESS_TOKEN }}
87
87
  event-type: deploy
88
- repository: samvera-labs/nurax
88
+ repository: samvera-labs/nurax-terraform
89
89
  client-payload: '{"ref": "${{ github.ref }}", "sha": "${{ github.sha }}"}'
90
90
  - name: Upload built image artifact
91
91
  uses: actions/upload-artifact@v4
@@ -266,7 +266,7 @@ Devise.setup do |config|
266
266
  # config.navigational_formats = ['*/*', :html]
267
267
 
268
268
  # The default HTTP method used to sign out a resource. Default is :delete.
269
- config.sign_out_via = :get
269
+ config.sign_out_via = :delete
270
270
 
271
271
  # ==> OmniAuth
272
272
  # Add a new OmniAuth provider. Check the wiki for more information on setting