From d9ef910eb7b7af44e715b2ce3f25f3b0a6364754 Mon Sep 17 00:00:00 2001 From: jazairi <16103405+jazairi@users.noreply.github.com> Date: Tue, 21 Jul 2026 10:51:28 -0700 Subject: [PATCH 1/3] Add annotaterb and run annotations Why these changes are being introduced: The annotate gem has been deprecated. We need a new gem to run annotations in Rails 8. Relevant ticket(s): - [ETD-693](https://mitlibraries.atlassian.net/browse/ETD-693) How this addresses that need: This adds the annotaterb gem and annotates models and routes. Side effects of this change: None --- Gemfile | 1 + Gemfile.lock | 4 + app/models/advisor_thesis.rb | 7 +- app/models/archivematica_accession.rb | 9 + app/models/archivematica_payload.rb | 12 +- app/models/author.rb | 16 +- app/models/copyright.rb | 4 +- app/models/degree.rb | 17 +- app/models/degree_period.rb | 4 + app/models/degree_thesis.rb | 7 +- app/models/degree_type.rb | 4 + app/models/department.rb | 11 +- app/models/department_thesis.rb | 10 +- app/models/hold.rb | 20 +- app/models/registrar.rb | 10 +- app/models/submission_information_package.rb | 14 +- app/models/submitter.rb | 14 +- app/models/thesis.rb | 26 +- app/models/transfer.rb | 20 +- app/models/user.rb | 25 +- config/routes.rb | 224 ++++++++++++++++++ test/fixtures/archivematica_accessions.yml | 9 + test/fixtures/authors.yml | 16 +- test/fixtures/copyrights.yml | 4 +- test/fixtures/degree_periods.yml | 4 + test/fixtures/degree_types.yml | 4 + test/fixtures/degrees.yml | 17 +- test/fixtures/department_theses.yml | 12 +- test/fixtures/departments.yml | 11 +- test/fixtures/holds.yml | 20 +- .../submission_information_packages.yml | 14 +- test/fixtures/submitters.yml | 14 +- test/fixtures/theses.yml | 26 +- test/fixtures/transfers.yml | 20 +- test/fixtures/users.yml | 25 +- test/models/archivematica_accession_test.rb | 9 + test/models/archivematica_payload_test.rb | 12 +- test/models/author_test.rb | 16 +- test/models/copyright_test.rb | 4 +- test/models/degree_period_test.rb | 4 + test/models/degree_test.rb | 17 +- test/models/degree_type_test.rb | 4 + test/models/department_test.rb | 11 +- test/models/department_thesis_test.rb | 10 +- test/models/hold_test.rb | 20 +- test/models/registrar_test.rb | 10 +- .../submission_information_package_test.rb | 14 +- test/models/thesis_test.rb | 26 +- test/models/transfer_test.rb | 20 +- test/models/user_test.rb | 25 +- 50 files changed, 706 insertions(+), 151 deletions(-) diff --git a/Gemfile b/Gemfile index 90dd3a05..38d9df3d 100644 --- a/Gemfile +++ b/Gemfile @@ -55,6 +55,7 @@ group :development, :test do end group :development do + gem 'annotaterb' gem 'dotenv-rails' gem 'letter_opener' gem 'listen' diff --git a/Gemfile.lock b/Gemfile.lock index 146bb578..34e170a7 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -91,6 +91,9 @@ GEM actionview (>= 6.0, < 9.0) activerecord (>= 6.0, < 9.0) kaminari (~> 1.2.2) + annotaterb (4.23.0) + activerecord (>= 6.0.0) + activesupport (>= 6.0.0) ansi (1.6.0) ast (2.4.3) aws-eventstream (1.4.0) @@ -465,6 +468,7 @@ PLATFORMS DEPENDENCIES administrate (~> 1.0.0) + annotaterb aws-sdk-rails aws-sdk-s3 aws-sdk-sqs diff --git a/app/models/advisor_thesis.rb b/app/models/advisor_thesis.rb index d40aba69..f53173d3 100644 --- a/app/models/advisor_thesis.rb +++ b/app/models/advisor_thesis.rb @@ -2,8 +2,13 @@ # # Table name: advisor_theses # -# thesis_id :integer # advisor_id :integer +# thesis_id :integer +# +# Indexes +# +# index_advisor_theses_on_advisor_id (advisor_id) +# index_advisor_theses_on_thesis_id (thesis_id) # class AdvisorThesis < ApplicationRecord belongs_to :thesis diff --git a/app/models/archivematica_accession.rb b/app/models/archivematica_accession.rb index 65a89731..43a55a0f 100644 --- a/app/models/archivematica_accession.rb +++ b/app/models/archivematica_accession.rb @@ -8,6 +8,15 @@ # updated_at :datetime not null # degree_period_id :integer not null # +# Indexes +# +# index_archivematica_accessions_on_accession_number (accession_number) UNIQUE +# index_archivematica_accessions_on_degree_period_id (degree_period_id) UNIQUE +# +# Foreign Keys +# +# degree_period_id (degree_period_id => degree_periods.id) +# # Accession is where we store the Accession Number that is generated in our Archivematica system. It is used in this # application to generate an S3 key that automations in Archivematica can detect and associate with Submission diff --git a/app/models/archivematica_payload.rb b/app/models/archivematica_payload.rb index 42922131..134fe855 100644 --- a/app/models/archivematica_payload.rb +++ b/app/models/archivematica_payload.rb @@ -3,12 +3,20 @@ # Table name: archivematica_payloads # # id :integer not null, primary key -# preservation_status :integer default("unpreserved"), not null # payload_json :text +# preservation_status :integer default("unpreserved"), not null # preserved_at :datetime -# thesis_id :integer not null # created_at :datetime not null # updated_at :datetime not null +# thesis_id :integer not null +# +# Indexes +# +# index_archivematica_payloads_on_thesis_id (thesis_id) +# +# Foreign Keys +# +# thesis_id (thesis_id => theses.id) # # This class assembles a payload to send to the Archival Packaging Tool (APT), which then creates a bag for # preservation. It includes the thesis files, metadata, and checksums. The payload is then serialized to JSON diff --git a/app/models/author.rb b/app/models/author.rb index 6731ac2a..1c12acc5 100644 --- a/app/models/author.rb +++ b/app/models/author.rb @@ -3,12 +3,22 @@ # Table name: authors # # id :integer not null, primary key -# user_id :integer not null -# thesis_id :integer not null # graduation_confirmed :boolean default(FALSE), not null +# proquest_allowed :boolean # created_at :datetime not null # updated_at :datetime not null -# proquest_allowed :boolean +# thesis_id :integer not null +# user_id :integer not null +# +# Indexes +# +# index_authors_on_thesis_id (thesis_id) +# index_authors_on_user_id (user_id) +# +# Foreign Keys +# +# thesis_id (thesis_id => theses.id) +# user_id (user_id => users.id) # class Author < ApplicationRecord belongs_to :user diff --git a/app/models/copyright.rb b/app/models/copyright.rb index 53eb2761..94276495 100644 --- a/app/models/copyright.rb +++ b/app/models/copyright.rb @@ -3,9 +3,9 @@ # Table name: copyrights # # id :integer not null, primary key -# holder :text not null -# display_to_author :boolean not null # display_description :text not null +# display_to_author :boolean not null +# holder :text not null # statement_dspace :text not null # url :text # created_at :datetime not null diff --git a/app/models/degree.rb b/app/models/degree.rb index dd000f62..34e892a5 100644 --- a/app/models/degree.rb +++ b/app/models/degree.rb @@ -3,14 +3,23 @@ # Table name: degrees # # id :integer not null, primary key -# created_at :datetime not null -# updated_at :datetime not null -# code_dw :string not null -# name_dw :string # abbreviation :string +# code_dw :string not null # name_dspace :string +# name_dw :string +# created_at :datetime not null +# updated_at :datetime not null # degree_type_id :integer # +# Indexes +# +# index_degrees_on_code_dw (code_dw) UNIQUE +# index_degrees_on_degree_type_id (degree_type_id) +# +# Foreign Keys +# +# degree_type_id (degree_type_id => degree_types.id) +# class Degree < ApplicationRecord has_many :degree_theses diff --git a/app/models/degree_period.rb b/app/models/degree_period.rb index aa72922d..8b8435f9 100644 --- a/app/models/degree_period.rb +++ b/app/models/degree_period.rb @@ -8,6 +8,10 @@ # created_at :datetime not null # updated_at :datetime not null # +# Indexes +# +# index_degree_periods_on_grad_month_and_grad_year (grad_month,grad_year) UNIQUE +# class DegreePeriod < ApplicationRecord has_paper_trail has_one :archivematica_accession, dependent: :destroy diff --git a/app/models/degree_thesis.rb b/app/models/degree_thesis.rb index 140996ef..3aa664f9 100644 --- a/app/models/degree_thesis.rb +++ b/app/models/degree_thesis.rb @@ -2,8 +2,13 @@ # # Table name: degree_theses # -# thesis_id :integer # degree_id :integer +# thesis_id :integer +# +# Indexes +# +# index_degree_theses_on_degree_id (degree_id) +# index_degree_theses_on_thesis_id (thesis_id) # class DegreeThesis < ApplicationRecord diff --git a/app/models/degree_type.rb b/app/models/degree_type.rb index 58b5fac4..2c7309d0 100644 --- a/app/models/degree_type.rb +++ b/app/models/degree_type.rb @@ -7,6 +7,10 @@ # created_at :datetime not null # updated_at :datetime not null # +# Indexes +# +# index_degree_types_on_name (name) UNIQUE +# class DegreeType < ApplicationRecord validates :name, presence: true end diff --git a/app/models/department.rb b/app/models/department.rb index db4e100b..8028847e 100644 --- a/app/models/department.rb +++ b/app/models/department.rb @@ -3,12 +3,17 @@ # Table name: departments # # id :integer not null, primary key +# authority_key_dspace :string +# code_dw :string default(""), not null +# name_dspace :string # name_dw :string not null # created_at :datetime not null # updated_at :datetime not null -# code_dw :string default(""), not null -# name_dspace :string -# authority_key_dspace :string +# +# Indexes +# +# index_departments_on_code_dw (code_dw) UNIQUE +# index_departments_on_name_dw (name_dw) # class Department < ApplicationRecord diff --git a/app/models/department_thesis.rb b/app/models/department_thesis.rb index 105dd309..0de9c782 100644 --- a/app/models/department_thesis.rb +++ b/app/models/department_thesis.rb @@ -2,10 +2,16 @@ # # Table name: department_theses # -# thesis_id :integer -# department_id :integer # id :integer not null, primary key # primary :boolean default(FALSE), not null +# department_id :integer +# thesis_id :integer +# +# Indexes +# +# department_and_thesis (department_id,thesis_id) UNIQUE +# index_department_theses_on_department_id (department_id) +# index_department_theses_on_thesis_id (thesis_id) # class DepartmentThesis < ApplicationRecord diff --git a/app/models/hold.rb b/app/models/hold.rb index 3d1a19fb..ceece1bb 100644 --- a/app/models/hold.rb +++ b/app/models/hold.rb @@ -3,16 +3,26 @@ # Table name: holds # # id :integer not null, primary key -# thesis_id :integer not null +# case_number :string +# date_end :date not null # date_requested :date not null # date_start :date not null -# date_end :date not null -# hold_source_id :integer not null -# case_number :string -# status :integer not null # processing_notes :text +# status :integer not null # created_at :datetime not null # updated_at :datetime not null +# hold_source_id :integer not null +# thesis_id :integer not null +# +# Indexes +# +# index_holds_on_hold_source_id (hold_source_id) +# index_holds_on_thesis_id (thesis_id) +# +# Foreign Keys +# +# hold_source_id (hold_source_id => hold_sources.id) +# thesis_id (thesis_id => theses.id) # class Hold < ApplicationRecord has_paper_trail diff --git a/app/models/registrar.rb b/app/models/registrar.rb index a7432a7d..33969dc6 100644 --- a/app/models/registrar.rb +++ b/app/models/registrar.rb @@ -3,9 +3,17 @@ # Table name: registrars # # id :integer not null, primary key -# user_id :integer not null # created_at :datetime not null # updated_at :datetime not null +# user_id :integer not null +# +# Indexes +# +# index_registrars_on_user_id (user_id) +# +# Foreign Keys +# +# user_id (user_id => users.id) # class Registrar < ApplicationRecord belongs_to :user diff --git a/app/models/submission_information_package.rb b/app/models/submission_information_package.rb index 216ecfc0..1678b899 100644 --- a/app/models/submission_information_package.rb +++ b/app/models/submission_information_package.rb @@ -3,15 +3,23 @@ # Table name: submission_information_packages # # id :integer not null, primary key -# preserved_at :datetime -# preservation_status :integer default("unpreserved"), not null # bag_declaration :string # bag_name :string # manifest :text # metadata :text -# thesis_id :integer not null +# preservation_status :integer default("unpreserved"), not null +# preserved_at :datetime # created_at :datetime not null # updated_at :datetime not null +# thesis_id :integer not null +# +# Indexes +# +# index_submission_information_packages_on_thesis_id (thesis_id) +# +# Foreign Keys +# +# thesis_id (thesis_id => theses.id) # # This model is no longer used, but it is retained for historical purposes and to preserve existing diff --git a/app/models/submitter.rb b/app/models/submitter.rb index a1eaa74d..8a477378 100644 --- a/app/models/submitter.rb +++ b/app/models/submitter.rb @@ -3,10 +3,20 @@ # Table name: submitters # # id :integer not null, primary key -# user_id :integer not null -# department_id :integer not null # created_at :datetime not null # updated_at :datetime not null +# department_id :integer not null +# user_id :integer not null +# +# Indexes +# +# index_submitters_on_department_id (department_id) +# index_submitters_on_user_id (user_id) +# +# Foreign Keys +# +# department_id (department_id => departments.id) +# user_id (user_id => users.id) # class Submitter < ApplicationRecord belongs_to :user diff --git a/app/models/thesis.rb b/app/models/thesis.rb index af8217ad..59c0d676 100644 --- a/app/models/thesis.rb +++ b/app/models/thesis.rb @@ -3,25 +3,31 @@ # Table name: theses # # id :integer not null, primary key -# title :string # abstract :text -# grad_date :date not null -# created_at :datetime not null -# updated_at :datetime not null -# processor_note :text # author_note :text +# authors_count :integer +# coauthors :string +# dspace_handle :string # files_complete :boolean default(FALSE), not null +# grad_date :date not null +# issues_found :boolean default(FALSE), not null # metadata_complete :boolean default(FALSE), not null +# processor_note :text +# proquest_exported :integer default("Not exported"), not null # publication_status :string default("Not ready for publication"), not null -# coauthors :string +# title :string +# created_at :datetime not null +# updated_at :datetime not null # copyright_id :integer # license_id :integer -# dspace_handle :string -# issues_found :boolean default(FALSE), not null -# authors_count :integer -# proquest_exported :integer default("Not exported"), not null # proquest_export_batch_id :integer # +# Indexes +# +# index_theses_on_copyright_id (copyright_id) +# index_theses_on_license_id (license_id) +# index_theses_on_proquest_export_batch_id (proquest_export_batch_id) +# class Thesis < ApplicationRecord include Baggable diff --git a/app/models/transfer.rb b/app/models/transfer.rb index 8cac9fbc..36d337c2 100644 --- a/app/models/transfer.rb +++ b/app/models/transfer.rb @@ -3,14 +3,24 @@ # Table name: transfers # # id :integer not null, primary key -# user_id :integer not null -# department_id :integer not null +# files_count :integer default(0), not null # grad_date :date not null -# created_at :datetime not null -# updated_at :datetime not null # note :text -# files_count :integer default(0), not null # unassigned_files_count :integer default(0), not null +# created_at :datetime not null +# updated_at :datetime not null +# department_id :integer not null +# user_id :integer not null +# +# Indexes +# +# index_transfers_on_department_id (department_id) +# index_transfers_on_user_id (user_id) +# +# Foreign Keys +# +# department_id (department_id => departments.id) +# user_id (user_id => users.id) # class Transfer < ApplicationRecord belongs_to :user diff --git a/app/models/user.rb b/app/models/user.rb index 15ea53f8..3ff13120 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -3,19 +3,26 @@ # Table name: users # # id :integer not null, primary key -# uid :string not null -# email :string not null # admin :boolean default(FALSE) -# created_at :datetime not null -# updated_at :datetime not null -# role :string default("basic") -# given_name :string -# surname :string -# kerberos_id :string not null # display_name :string not null +# email :string not null +# given_name :string # middle_name :string -# preferred_name :string # orcid :string +# preferred_name :string +# role :string default("basic") +# surname :string +# uid :string not null +# created_at :datetime not null +# updated_at :datetime not null +# kerberos_id :string not null +# +# Indexes +# +# index_users_on_email (email) UNIQUE +# index_users_on_kerberos_id (kerberos_id) UNIQUE +# index_users_on_orcid (orcid) UNIQUE +# index_users_on_uid (uid) UNIQUE # class User < ApplicationRecord diff --git a/config/routes.rb b/config/routes.rb index 6bedbe2c..ceb30fe8 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,3 +1,227 @@ +# == Route Map +# +# Routes for application: +# Prefix Verb URI Pattern Controller#Action +# rails_health_check GET /up(.:format) rails/health#show +# flipflop /flipflop Flipflop::Engine +# admin_users GET /admin/users(.:format) admin/users#index +# POST /admin/users(.:format) admin/users#create +# new_admin_user GET /admin/users/new(.:format) admin/users#new +# edit_admin_user GET /admin/users/:id/edit(.:format) admin/users#edit +# admin_user GET /admin/users/:id(.:format) admin/users#show +# PATCH /admin/users/:id(.:format) admin/users#update +# PUT /admin/users/:id(.:format) admin/users#update +# DELETE /admin/users/:id(.:format) admin/users#destroy +# admin_archivematica_accessions GET /admin/archivematica_accessions(.:format) admin/archivematica_accessions#index +# POST /admin/archivematica_accessions(.:format) admin/archivematica_accessions#create +# new_admin_archivematica_accession GET /admin/archivematica_accessions/new(.:format) admin/archivematica_accessions#new +# edit_admin_archivematica_accession GET /admin/archivematica_accessions/:id/edit(.:format) admin/archivematica_accessions#edit +# admin_archivematica_accession GET /admin/archivematica_accessions/:id(.:format) admin/archivematica_accessions#show +# PATCH /admin/archivematica_accessions/:id(.:format) admin/archivematica_accessions#update +# PUT /admin/archivematica_accessions/:id(.:format) admin/archivematica_accessions#update +# DELETE /admin/archivematica_accessions/:id(.:format) admin/archivematica_accessions#destroy +# admin_advisors GET /admin/advisors(.:format) admin/advisors#index +# POST /admin/advisors(.:format) admin/advisors#create +# new_admin_advisor GET /admin/advisors/new(.:format) admin/advisors#new +# edit_admin_advisor GET /admin/advisors/:id/edit(.:format) admin/advisors#edit +# admin_advisor GET /admin/advisors/:id(.:format) admin/advisors#show +# PATCH /admin/advisors/:id(.:format) admin/advisors#update +# PUT /admin/advisors/:id(.:format) admin/advisors#update +# DELETE /admin/advisors/:id(.:format) admin/advisors#destroy +# admin_authors GET /admin/authors(.:format) admin/authors#index +# POST /admin/authors(.:format) admin/authors#create +# new_admin_author GET /admin/authors/new(.:format) admin/authors#new +# edit_admin_author GET /admin/authors/:id/edit(.:format) admin/authors#edit +# admin_author GET /admin/authors/:id(.:format) admin/authors#show +# PATCH /admin/authors/:id(.:format) admin/authors#update +# PUT /admin/authors/:id(.:format) admin/authors#update +# DELETE /admin/authors/:id(.:format) admin/authors#destroy +# admin_copyrights GET /admin/copyrights(.:format) admin/copyrights#index +# POST /admin/copyrights(.:format) admin/copyrights#create +# new_admin_copyright GET /admin/copyrights/new(.:format) admin/copyrights#new +# edit_admin_copyright GET /admin/copyrights/:id/edit(.:format) admin/copyrights#edit +# admin_copyright GET /admin/copyrights/:id(.:format) admin/copyrights#show +# PATCH /admin/copyrights/:id(.:format) admin/copyrights#update +# PUT /admin/copyrights/:id(.:format) admin/copyrights#update +# DELETE /admin/copyrights/:id(.:format) admin/copyrights#destroy +# admin_degrees GET /admin/degrees(.:format) admin/degrees#index +# POST /admin/degrees(.:format) admin/degrees#create +# new_admin_degree GET /admin/degrees/new(.:format) admin/degrees#new +# edit_admin_degree GET /admin/degrees/:id/edit(.:format) admin/degrees#edit +# admin_degree GET /admin/degrees/:id(.:format) admin/degrees#show +# PATCH /admin/degrees/:id(.:format) admin/degrees#update +# PUT /admin/degrees/:id(.:format) admin/degrees#update +# DELETE /admin/degrees/:id(.:format) admin/degrees#destroy +# admin_degree_types GET /admin/degree_types(.:format) admin/degree_types#index +# POST /admin/degree_types(.:format) admin/degree_types#create +# new_admin_degree_type GET /admin/degree_types/new(.:format) admin/degree_types#new +# edit_admin_degree_type GET /admin/degree_types/:id/edit(.:format) admin/degree_types#edit +# admin_degree_type GET /admin/degree_types/:id(.:format) admin/degree_types#show +# PATCH /admin/degree_types/:id(.:format) admin/degree_types#update +# PUT /admin/degree_types/:id(.:format) admin/degree_types#update +# DELETE /admin/degree_types/:id(.:format) admin/degree_types#destroy +# admin_degree_periods GET /admin/degree_periods(.:format) admin/degree_periods#index +# POST /admin/degree_periods(.:format) admin/degree_periods#create +# new_admin_degree_period GET /admin/degree_periods/new(.:format) admin/degree_periods#new +# edit_admin_degree_period GET /admin/degree_periods/:id/edit(.:format) admin/degree_periods#edit +# admin_degree_period GET /admin/degree_periods/:id(.:format) admin/degree_periods#show +# PATCH /admin/degree_periods/:id(.:format) admin/degree_periods#update +# PUT /admin/degree_periods/:id(.:format) admin/degree_periods#update +# DELETE /admin/degree_periods/:id(.:format) admin/degree_periods#destroy +# admin_departments GET /admin/departments(.:format) admin/departments#index +# POST /admin/departments(.:format) admin/departments#create +# new_admin_department GET /admin/departments/new(.:format) admin/departments#new +# edit_admin_department GET /admin/departments/:id/edit(.:format) admin/departments#edit +# admin_department GET /admin/departments/:id(.:format) admin/departments#show +# PATCH /admin/departments/:id(.:format) admin/departments#update +# PUT /admin/departments/:id(.:format) admin/departments#update +# DELETE /admin/departments/:id(.:format) admin/departments#destroy +# admin_department_theses GET /admin/department_theses(.:format) admin/department_theses#index +# POST /admin/department_theses(.:format) admin/department_theses#create +# new_admin_department_thesis GET /admin/department_theses/new(.:format) admin/department_theses#new +# edit_admin_department_thesis GET /admin/department_theses/:id/edit(.:format) admin/department_theses#edit +# admin_department_thesis GET /admin/department_theses/:id(.:format) admin/department_theses#show +# PATCH /admin/department_theses/:id(.:format) admin/department_theses#update +# PUT /admin/department_theses/:id(.:format) admin/department_theses#update +# DELETE /admin/department_theses/:id(.:format) admin/department_theses#destroy +# admin_holds GET /admin/holds(.:format) admin/holds#index +# POST /admin/holds(.:format) admin/holds#create +# new_admin_hold GET /admin/holds/new(.:format) admin/holds#new +# edit_admin_hold GET /admin/holds/:id/edit(.:format) admin/holds#edit +# admin_hold GET /admin/holds/:id(.:format) admin/holds#show +# PATCH /admin/holds/:id(.:format) admin/holds#update +# PUT /admin/holds/:id(.:format) admin/holds#update +# DELETE /admin/holds/:id(.:format) admin/holds#destroy +# admin_hold_sources GET /admin/hold_sources(.:format) admin/hold_sources#index +# POST /admin/hold_sources(.:format) admin/hold_sources#create +# new_admin_hold_source GET /admin/hold_sources/new(.:format) admin/hold_sources#new +# edit_admin_hold_source GET /admin/hold_sources/:id/edit(.:format) admin/hold_sources#edit +# admin_hold_source GET /admin/hold_sources/:id(.:format) admin/hold_sources#show +# PATCH /admin/hold_sources/:id(.:format) admin/hold_sources#update +# PUT /admin/hold_sources/:id(.:format) admin/hold_sources#update +# DELETE /admin/hold_sources/:id(.:format) admin/hold_sources#destroy +# admin_licenses GET /admin/licenses(.:format) admin/licenses#index +# POST /admin/licenses(.:format) admin/licenses#create +# new_admin_license GET /admin/licenses/new(.:format) admin/licenses#new +# edit_admin_license GET /admin/licenses/:id/edit(.:format) admin/licenses#edit +# admin_license GET /admin/licenses/:id(.:format) admin/licenses#show +# PATCH /admin/licenses/:id(.:format) admin/licenses#update +# PUT /admin/licenses/:id(.:format) admin/licenses#update +# DELETE /admin/licenses/:id(.:format) admin/licenses#destroy +# admin_submission_information_packages GET /admin/submission_information_packages(.:format) admin/submission_information_packages#index +# POST /admin/submission_information_packages(.:format) admin/submission_information_packages#create +# new_admin_submission_information_package GET /admin/submission_information_packages/new(.:format) admin/submission_information_packages#new +# edit_admin_submission_information_package GET /admin/submission_information_packages/:id/edit(.:format) admin/submission_information_packages#edit +# admin_submission_information_package GET /admin/submission_information_packages/:id(.:format) admin/submission_information_packages#show +# PATCH /admin/submission_information_packages/:id(.:format) admin/submission_information_packages#update +# PUT /admin/submission_information_packages/:id(.:format) admin/submission_information_packages#update +# DELETE /admin/submission_information_packages/:id(.:format) admin/submission_information_packages#destroy +# admin_submitters GET /admin/submitters(.:format) admin/submitters#index +# POST /admin/submitters(.:format) admin/submitters#create +# new_admin_submitter GET /admin/submitters/new(.:format) admin/submitters#new +# edit_admin_submitter GET /admin/submitters/:id/edit(.:format) admin/submitters#edit +# admin_submitter GET /admin/submitters/:id(.:format) admin/submitters#show +# PATCH /admin/submitters/:id(.:format) admin/submitters#update +# PUT /admin/submitters/:id(.:format) admin/submitters#update +# DELETE /admin/submitters/:id(.:format) admin/submitters#destroy +# admin_theses GET /admin/theses(.:format) admin/theses#index +# POST /admin/theses(.:format) admin/theses#create +# new_admin_thesis GET /admin/theses/new(.:format) admin/theses#new +# edit_admin_thesis GET /admin/theses/:id/edit(.:format) admin/theses#edit +# admin_thesis GET /admin/theses/:id(.:format) admin/theses#show +# PATCH /admin/theses/:id(.:format) admin/theses#update +# PUT /admin/theses/:id(.:format) admin/theses#update +# DELETE /admin/theses/:id(.:format) admin/theses#destroy +# admin_transfers GET /admin/transfers(.:format) admin/transfers#index +# POST /admin/transfers(.:format) admin/transfers#create +# new_admin_transfer GET /admin/transfers/new(.:format) admin/transfers#new +# edit_admin_transfer GET /admin/transfers/:id/edit(.:format) admin/transfers#edit +# admin_transfer GET /admin/transfers/:id(.:format) admin/transfers#show +# PATCH /admin/transfers/:id(.:format) admin/transfers#update +# PUT /admin/transfers/:id(.:format) admin/transfers#update +# DELETE /admin/transfers/:id(.:format) admin/transfers#destroy +# admin_root GET /admin(.:format) admin/theses#index +# report_index GET /report(.:format) report#index +# report_authors_not_graduated GET /report/authors_not_graduated(.:format) report#authors_not_graduated +# report_empty_theses GET /report/empty_theses(.:format) report#empty_theses +# report_expired_holds GET /report/expired_holds(.:format) report#expired_holds +# report_files GET /report/files(.:format) report#files +# report_holds_by_source GET /report/holds_by_source(.:format) report#holds_by_source +# report_proquest_files GET /report/proquest_files(.:format) report#proquest_files +# report_proquest_status GET /report/proquest_status(.:format) report#proquest_status +# report_student_submitted_theses GET /report/student_submitted_theses(.:format) report#student_submitted_theses +# report_term GET /report/term(.:format) report#term +# thesis_confirm GET /thesis/confirm(.:format) thesis#confirm +# thesis_deduplicate GET /thesis/deduplicate(.:format) thesis#deduplicate +# thesis_publication_statuses GET /thesis/publication_statuses(.:format) thesis#publication_statuses +# thesis_process GET /thesis/:id/process(.:format) thesis#process_theses +# thesis_process_update PATCH /thesis/:id/process(.:format) thesis#process_theses_update +# thesis_publish_preview GET /thesis/publish_preview(.:format) thesis#publish_preview +# thesis_publish_to_dspace GET /thesis/publish(.:format) thesis#publish_to_dspace +# thesis_select GET /thesis/select(.:format) thesis#select +# thesis_start GET /thesis/start(.:format) thesis#start +# thesis_proquest_export_preview GET /thesis/proquest_export_preview(.:format) thesis#proquest_export_preview +# thesis_proquest_export GET /thesis/proquest_export(.:format) thesis#proquest_export +# reset_all_publication_errors GET /thesis/reset_all_publication_errors(.:format) thesis#reset_all_publication_errors +# rename_file_form GET /file/rename/:thesis_id/:attachment_id(.:format) file#rename_form +# rename_file POST /file/rename/:thesis_id/:attachment_id(.:format) file#rename +# registrar_index POST /registrar(.:format) registrar#create +# new_registrar GET /registrar/new(.:format) registrar#new +# registrar GET /registrar/:id(.:format) registrar#show +# thesis_index POST /thesis(.:format) thesis#create +# new_thesis GET /thesis/new(.:format) thesis#new +# edit_thesis GET /thesis/:id/edit(.:format) thesis#edit +# thesis GET /thesis/:id(.:format) thesis#show +# PATCH /thesis/:id(.:format) thesis#update +# PUT /thesis/:id(.:format) thesis#update +# harvest GET /harvest(.:format) registrar#list_registrar +# process_registrar GET /harvest/:id(.:format) registrar#process_registrar +# hold_history GET /hold_history/:id(.:format) hold#show +# user_developer_omniauth_authorize POST /users/auth/developer(.:format) users/omniauth_callbacks#passthru +# user_developer_omniauth_callback GET|POST /users/auth/developer/callback(.:format) users/omniauth_callbacks#developer +# transfer_confirm GET /transfer/confirm(.:format) transfer#confirm +# transfer_files POST /transfer/files(.:format) transfer#files +# transfer_select GET /transfer/select(.:format) transfer#select +# transfer_index POST /transfer(.:format) transfer#create +# new_transfer GET /transfer/new(.:format) transfer#new +# transfer GET /transfer/:id(.:format) transfer#show +# user_session GET /sign_in(.:format) devise/sessions#new +# destroy_user_session DELETE /sign_out(.:format) devise/sessions#destroy +# vireo GET /vireo(.:format) redirect(301, /) +# GET /vireo/:whatever(.:format) redirect(301, /) +# login GET /login(.:format) static#login +# root GET / static#index +# rails_postmark_inbound_emails POST /rails/action_mailbox/postmark/inbound_emails(.:format) action_mailbox/ingresses/postmark/inbound_emails#create +# rails_relay_inbound_emails POST /rails/action_mailbox/relay/inbound_emails(.:format) action_mailbox/ingresses/relay/inbound_emails#create +# rails_sendgrid_inbound_emails POST /rails/action_mailbox/sendgrid/inbound_emails(.:format) action_mailbox/ingresses/sendgrid/inbound_emails#create +# rails_mandrill_inbound_health_check GET /rails/action_mailbox/mandrill/inbound_emails(.:format) action_mailbox/ingresses/mandrill/inbound_emails#health_check +# rails_mandrill_inbound_emails POST /rails/action_mailbox/mandrill/inbound_emails(.:format) action_mailbox/ingresses/mandrill/inbound_emails#create +# rails_mailgun_inbound_emails POST /rails/action_mailbox/mailgun/inbound_emails/mime(.:format) action_mailbox/ingresses/mailgun/inbound_emails#create +# rails_conductor_inbound_emails GET /rails/conductor/action_mailbox/inbound_emails(.:format) rails/conductor/action_mailbox/inbound_emails#index +# POST /rails/conductor/action_mailbox/inbound_emails(.:format) rails/conductor/action_mailbox/inbound_emails#create +# new_rails_conductor_inbound_email GET /rails/conductor/action_mailbox/inbound_emails/new(.:format) rails/conductor/action_mailbox/inbound_emails#new +# rails_conductor_inbound_email GET /rails/conductor/action_mailbox/inbound_emails/:id(.:format) rails/conductor/action_mailbox/inbound_emails#show +# new_rails_conductor_inbound_email_source GET /rails/conductor/action_mailbox/inbound_emails/sources/new(.:format) rails/conductor/action_mailbox/inbound_emails/sources#new +# rails_conductor_inbound_email_sources POST /rails/conductor/action_mailbox/inbound_emails/sources(.:format) rails/conductor/action_mailbox/inbound_emails/sources#create +# rails_conductor_inbound_email_reroute POST /rails/conductor/action_mailbox/:inbound_email_id/reroute(.:format) rails/conductor/action_mailbox/reroutes#create +# rails_conductor_inbound_email_incinerate POST /rails/conductor/action_mailbox/:inbound_email_id/incinerate(.:format) rails/conductor/action_mailbox/incinerates#create +# rails_service_blob GET /rails/active_storage/blobs/redirect/:signed_id/*filename(.:format) active_storage/blobs/redirect#show +# rails_service_blob_proxy GET /rails/active_storage/blobs/proxy/:signed_id/*filename(.:format) active_storage/blobs/proxy#show +# GET /rails/active_storage/blobs/:signed_id/*filename(.:format) active_storage/blobs/redirect#show +# rails_blob_representation GET /rails/active_storage/representations/redirect/:signed_blob_id/:variation_key/*filename(.:format) active_storage/representations/redirect#show +# rails_blob_representation_proxy GET /rails/active_storage/representations/proxy/:signed_blob_id/:variation_key/*filename(.:format) active_storage/representations/proxy#show +# GET /rails/active_storage/representations/:signed_blob_id/:variation_key/*filename(.:format) active_storage/representations/redirect#show +# rails_disk_service GET /rails/active_storage/disk/:encoded_key/*filename(.:format) active_storage/disk#show +# update_rails_disk_service PUT /rails/active_storage/disk/:encoded_token(.:format) active_storage/disk#update +# rails_direct_uploads POST /rails/active_storage/direct_uploads(.:format) active_storage/direct_uploads#create +# +# Routes for Flipflop::Engine: +# Prefix Verb URI Pattern Controller#Action +# feature_strategy PATCH /:feature_id/strategies/:id(.:format) flipflop/strategies#update +# PUT /:feature_id/strategies/:id(.:format) flipflop/strategies#update +# DELETE /:feature_id/strategies/:id(.:format) flipflop/strategies#destroy +# features GET / flipflop/features#index + Rails.application.routes.draw do # Reveal health status on /up that returns 200 if the app boots with no exceptions, otherwise 500. # Can be used by load balancers and uptime monitors to verify that the app is live. diff --git a/test/fixtures/archivematica_accessions.yml b/test/fixtures/archivematica_accessions.yml index 78788f48..6a62db3a 100644 --- a/test/fixtures/archivematica_accessions.yml +++ b/test/fixtures/archivematica_accessions.yml @@ -8,6 +8,15 @@ # updated_at :datetime not null # degree_period_id :integer not null # +# Indexes +# +# index_archivematica_accessions_on_accession_number (accession_number) UNIQUE +# index_archivematica_accessions_on_degree_period_id (degree_period_id) UNIQUE +# +# Foreign Keys +# +# degree_period_id (degree_period_id => degree_periods.id) +# # This model initially had no columns defined. If you add columns to the # model remove the "{}" from the fixture names and add the columns immediately diff --git a/test/fixtures/authors.yml b/test/fixtures/authors.yml index 8f9649b7..4c18b3d5 100644 --- a/test/fixtures/authors.yml +++ b/test/fixtures/authors.yml @@ -3,12 +3,22 @@ # Table name: authors # # id :integer not null, primary key -# user_id :integer not null -# thesis_id :integer not null # graduation_confirmed :boolean default(FALSE), not null +# proquest_allowed :boolean # created_at :datetime not null # updated_at :datetime not null -# proquest_allowed :boolean +# thesis_id :integer not null +# user_id :integer not null +# +# Indexes +# +# index_authors_on_thesis_id (thesis_id) +# index_authors_on_user_id (user_id) +# +# Foreign Keys +# +# thesis_id (thesis_id => theses.id) +# user_id (user_id => users.id) # one: diff --git a/test/fixtures/copyrights.yml b/test/fixtures/copyrights.yml index a304a564..aef334e8 100644 --- a/test/fixtures/copyrights.yml +++ b/test/fixtures/copyrights.yml @@ -3,9 +3,9 @@ # Table name: copyrights # # id :integer not null, primary key -# holder :text not null -# display_to_author :boolean not null # display_description :text not null +# display_to_author :boolean not null +# holder :text not null # statement_dspace :text not null # url :text # created_at :datetime not null diff --git a/test/fixtures/degree_periods.yml b/test/fixtures/degree_periods.yml index 2f1b71aa..be9b964d 100644 --- a/test/fixtures/degree_periods.yml +++ b/test/fixtures/degree_periods.yml @@ -8,6 +8,10 @@ # created_at :datetime not null # updated_at :datetime not null # +# Indexes +# +# index_degree_periods_on_grad_month_and_grad_year (grad_month,grad_year) UNIQUE +# june_2023: grad_month: 'June' diff --git a/test/fixtures/degree_types.yml b/test/fixtures/degree_types.yml index 4e8f21b8..332b8a47 100644 --- a/test/fixtures/degree_types.yml +++ b/test/fixtures/degree_types.yml @@ -7,6 +7,10 @@ # created_at :datetime not null # updated_at :datetime not null # +# Indexes +# +# index_degree_types_on_name (name) UNIQUE +# # This model initially had no columns defined. If you add columns to the # model remove the '{}' from the fixture names and add the columns immediately diff --git a/test/fixtures/degrees.yml b/test/fixtures/degrees.yml index f1c54777..b8ac0c47 100644 --- a/test/fixtures/degrees.yml +++ b/test/fixtures/degrees.yml @@ -3,14 +3,23 @@ # Table name: degrees # # id :integer not null, primary key -# created_at :datetime not null -# updated_at :datetime not null -# code_dw :string not null -# name_dw :string # abbreviation :string +# code_dw :string not null # name_dspace :string +# name_dw :string +# created_at :datetime not null +# updated_at :datetime not null # degree_type_id :integer # +# Indexes +# +# index_degrees_on_code_dw (code_dw) UNIQUE +# index_degrees_on_degree_type_id (degree_type_id) +# +# Foreign Keys +# +# degree_type_id (degree_type_id => degree_types.id) +# # Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html diff --git a/test/fixtures/department_theses.yml b/test/fixtures/department_theses.yml index 73dc5ea7..d2790de9 100644 --- a/test/fixtures/department_theses.yml +++ b/test/fixtures/department_theses.yml @@ -2,10 +2,16 @@ # # Table name: department_theses # -# thesis_id :integer -# department_id :integer # id :integer not null, primary key # primary :boolean default(FALSE), not null +# department_id :integer +# thesis_id :integer +# +# Indexes +# +# department_and_thesis (department_id,thesis_id) UNIQUE +# index_department_theses_on_department_id (department_id) +# index_department_theses_on_thesis_id (thesis_id) # primary: @@ -16,4 +22,4 @@ primary: other: thesis: multi_depts department: two - primary: false \ No newline at end of file + primary: false diff --git a/test/fixtures/departments.yml b/test/fixtures/departments.yml index a1b9191e..13d59b0b 100644 --- a/test/fixtures/departments.yml +++ b/test/fixtures/departments.yml @@ -3,12 +3,17 @@ # Table name: departments # # id :integer not null, primary key +# authority_key_dspace :string +# code_dw :string default(""), not null +# name_dspace :string # name_dw :string not null # created_at :datetime not null # updated_at :datetime not null -# code_dw :string default(""), not null -# name_dspace :string -# authority_key_dspace :string +# +# Indexes +# +# index_departments_on_code_dw (code_dw) UNIQUE +# index_departments_on_name_dw (name_dw) # # Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html diff --git a/test/fixtures/holds.yml b/test/fixtures/holds.yml index 01f96a8d..f9de2145 100644 --- a/test/fixtures/holds.yml +++ b/test/fixtures/holds.yml @@ -3,16 +3,26 @@ # Table name: holds # # id :integer not null, primary key -# thesis_id :integer not null +# case_number :string +# date_end :date not null # date_requested :date not null # date_start :date not null -# date_end :date not null -# hold_source_id :integer not null -# case_number :string -# status :integer not null # processing_notes :text +# status :integer not null # created_at :datetime not null # updated_at :datetime not null +# hold_source_id :integer not null +# thesis_id :integer not null +# +# Indexes +# +# index_holds_on_hold_source_id (hold_source_id) +# index_holds_on_thesis_id (thesis_id) +# +# Foreign Keys +# +# hold_source_id (hold_source_id => hold_sources.id) +# thesis_id (thesis_id => theses.id) # valid: thesis: with_hold diff --git a/test/fixtures/submission_information_packages.yml b/test/fixtures/submission_information_packages.yml index 970a3d91..34cbb674 100644 --- a/test/fixtures/submission_information_packages.yml +++ b/test/fixtures/submission_information_packages.yml @@ -3,15 +3,23 @@ # Table name: submission_information_packages # # id :integer not null, primary key -# preserved_at :datetime -# preservation_status :integer default("unpreserved"), not null # bag_declaration :string # bag_name :string # manifest :text # metadata :text -# thesis_id :integer not null +# preservation_status :integer default("unpreserved"), not null +# preserved_at :datetime # created_at :datetime not null # updated_at :datetime not null +# thesis_id :integer not null +# +# Indexes +# +# index_submission_information_packages_on_thesis_id (thesis_id) +# +# Foreign Keys +# +# thesis_id (thesis_id => theses.id) # sip_one: preserved_at: Master of Fine Arts diff --git a/test/fixtures/submitters.yml b/test/fixtures/submitters.yml index 0031b218..40c138b3 100644 --- a/test/fixtures/submitters.yml +++ b/test/fixtures/submitters.yml @@ -3,10 +3,20 @@ # Table name: submitters # # id :integer not null, primary key -# user_id :integer not null -# department_id :integer not null # created_at :datetime not null # updated_at :datetime not null +# department_id :integer not null +# user_id :integer not null +# +# Indexes +# +# index_submitters_on_department_id (department_id) +# index_submitters_on_user_id (user_id) +# +# Foreign Keys +# +# department_id (department_id => departments.id) +# user_id (user_id => users.id) # # Read about fixtures at https://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html diff --git a/test/fixtures/theses.yml b/test/fixtures/theses.yml index e201f901..bc3cdbdb 100644 --- a/test/fixtures/theses.yml +++ b/test/fixtures/theses.yml @@ -3,25 +3,31 @@ # Table name: theses # # id :integer not null, primary key -# title :string # abstract :text -# grad_date :date not null -# created_at :datetime not null -# updated_at :datetime not null -# processor_note :text # author_note :text +# authors_count :integer +# coauthors :string +# dspace_handle :string # files_complete :boolean default(FALSE), not null +# grad_date :date not null +# issues_found :boolean default(FALSE), not null # metadata_complete :boolean default(FALSE), not null +# processor_note :text +# proquest_exported :integer default("Not exported"), not null # publication_status :string default("Not ready for publication"), not null -# coauthors :string +# title :string +# created_at :datetime not null +# updated_at :datetime not null # copyright_id :integer # license_id :integer -# dspace_handle :string -# issues_found :boolean default(FALSE), not null -# authors_count :integer -# proquest_exported :integer default("Not exported"), not null # proquest_export_batch_id :integer # +# Indexes +# +# index_theses_on_copyright_id (copyright_id) +# index_theses_on_license_id (license_id) +# index_theses_on_proquest_export_batch_id (proquest_export_batch_id) +# # Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html diff --git a/test/fixtures/transfers.yml b/test/fixtures/transfers.yml index 7b256834..561132d7 100644 --- a/test/fixtures/transfers.yml +++ b/test/fixtures/transfers.yml @@ -3,14 +3,24 @@ # Table name: transfers # # id :integer not null, primary key -# user_id :integer not null -# department_id :integer not null +# files_count :integer default(0), not null # grad_date :date not null -# created_at :datetime not null -# updated_at :datetime not null # note :text -# files_count :integer default(0), not null # unassigned_files_count :integer default(0), not null +# created_at :datetime not null +# updated_at :datetime not null +# department_id :integer not null +# user_id :integer not null +# +# Indexes +# +# index_transfers_on_department_id (department_id) +# index_transfers_on_user_id (user_id) +# +# Foreign Keys +# +# department_id (department_id => departments.id) +# user_id (user_id => users.id) # valid: department: one diff --git a/test/fixtures/users.yml b/test/fixtures/users.yml index 7647f6f8..9c373572 100644 --- a/test/fixtures/users.yml +++ b/test/fixtures/users.yml @@ -3,19 +3,26 @@ # Table name: users # # id :integer not null, primary key -# uid :string not null -# email :string not null # admin :boolean default(FALSE) -# created_at :datetime not null -# updated_at :datetime not null -# role :string default("basic") -# given_name :string -# surname :string -# kerberos_id :string not null # display_name :string not null +# email :string not null +# given_name :string # middle_name :string -# preferred_name :string # orcid :string +# preferred_name :string +# role :string default("basic") +# surname :string +# uid :string not null +# created_at :datetime not null +# updated_at :datetime not null +# kerberos_id :string not null +# +# Indexes +# +# index_users_on_email (email) UNIQUE +# index_users_on_kerberos_id (kerberos_id) UNIQUE +# index_users_on_orcid (orcid) UNIQUE +# index_users_on_uid (uid) UNIQUE # # Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html diff --git a/test/models/archivematica_accession_test.rb b/test/models/archivematica_accession_test.rb index 76f42f33..fca2fab0 100644 --- a/test/models/archivematica_accession_test.rb +++ b/test/models/archivematica_accession_test.rb @@ -8,6 +8,15 @@ # updated_at :datetime not null # degree_period_id :integer not null # +# Indexes +# +# index_archivematica_accessions_on_accession_number (accession_number) UNIQUE +# index_archivematica_accessions_on_degree_period_id (degree_period_id) UNIQUE +# +# Foreign Keys +# +# degree_period_id (degree_period_id => degree_periods.id) +# require "test_helper" class ArchivematicaAccessionTest < ActiveSupport::TestCase diff --git a/test/models/archivematica_payload_test.rb b/test/models/archivematica_payload_test.rb index 6de45836..20b269f6 100644 --- a/test/models/archivematica_payload_test.rb +++ b/test/models/archivematica_payload_test.rb @@ -3,12 +3,20 @@ # Table name: archivematica_payloads # # id :integer not null, primary key -# preservation_status :integer default("unpreserved"), not null # payload_json :text +# preservation_status :integer default("unpreserved"), not null # preserved_at :datetime -# thesis_id :integer not null # created_at :datetime not null # updated_at :datetime not null +# thesis_id :integer not null +# +# Indexes +# +# index_archivematica_payloads_on_thesis_id (thesis_id) +# +# Foreign Keys +# +# thesis_id (thesis_id => theses.id) # require 'test_helper' diff --git a/test/models/author_test.rb b/test/models/author_test.rb index ceb87a92..e791d4f2 100644 --- a/test/models/author_test.rb +++ b/test/models/author_test.rb @@ -3,12 +3,22 @@ # Table name: authors # # id :integer not null, primary key -# user_id :integer not null -# thesis_id :integer not null # graduation_confirmed :boolean default(FALSE), not null +# proquest_allowed :boolean # created_at :datetime not null # updated_at :datetime not null -# proquest_allowed :boolean +# thesis_id :integer not null +# user_id :integer not null +# +# Indexes +# +# index_authors_on_thesis_id (thesis_id) +# index_authors_on_user_id (user_id) +# +# Foreign Keys +# +# thesis_id (thesis_id => theses.id) +# user_id (user_id => users.id) # require 'csv' require 'test_helper' diff --git a/test/models/copyright_test.rb b/test/models/copyright_test.rb index e6081af2..90138930 100644 --- a/test/models/copyright_test.rb +++ b/test/models/copyright_test.rb @@ -3,9 +3,9 @@ # Table name: copyrights # # id :integer not null, primary key -# holder :text not null -# display_to_author :boolean not null # display_description :text not null +# display_to_author :boolean not null +# holder :text not null # statement_dspace :text not null # url :text # created_at :datetime not null diff --git a/test/models/degree_period_test.rb b/test/models/degree_period_test.rb index 7b08a63e..041f3393 100644 --- a/test/models/degree_period_test.rb +++ b/test/models/degree_period_test.rb @@ -8,6 +8,10 @@ # created_at :datetime not null # updated_at :datetime not null # +# Indexes +# +# index_degree_periods_on_grad_month_and_grad_year (grad_month,grad_year) UNIQUE +# require 'test_helper' class DegreePeriodTest < ActiveSupport::TestCase diff --git a/test/models/degree_test.rb b/test/models/degree_test.rb index 841edd58..0e856819 100644 --- a/test/models/degree_test.rb +++ b/test/models/degree_test.rb @@ -3,14 +3,23 @@ # Table name: degrees # # id :integer not null, primary key -# created_at :datetime not null -# updated_at :datetime not null -# code_dw :string not null -# name_dw :string # abbreviation :string +# code_dw :string not null # name_dspace :string +# name_dw :string +# created_at :datetime not null +# updated_at :datetime not null # degree_type_id :integer # +# Indexes +# +# index_degrees_on_code_dw (code_dw) UNIQUE +# index_degrees_on_degree_type_id (degree_type_id) +# +# Foreign Keys +# +# degree_type_id (degree_type_id => degree_types.id) +# require 'test_helper' diff --git a/test/models/degree_type_test.rb b/test/models/degree_type_test.rb index 42cdf8b1..a8f05e7c 100644 --- a/test/models/degree_type_test.rb +++ b/test/models/degree_type_test.rb @@ -7,6 +7,10 @@ # created_at :datetime not null # updated_at :datetime not null # +# Indexes +# +# index_degree_types_on_name (name) UNIQUE +# require 'test_helper' class DegreeTypeTest < ActiveSupport::TestCase diff --git a/test/models/department_test.rb b/test/models/department_test.rb index 9e79302f..200e2557 100644 --- a/test/models/department_test.rb +++ b/test/models/department_test.rb @@ -3,12 +3,17 @@ # Table name: departments # # id :integer not null, primary key +# authority_key_dspace :string +# code_dw :string default(""), not null +# name_dspace :string # name_dw :string not null # created_at :datetime not null # updated_at :datetime not null -# code_dw :string default(""), not null -# name_dspace :string -# authority_key_dspace :string +# +# Indexes +# +# index_departments_on_code_dw (code_dw) UNIQUE +# index_departments_on_name_dw (name_dw) # require 'test_helper' diff --git a/test/models/department_thesis_test.rb b/test/models/department_thesis_test.rb index e364700d..c5a16d45 100644 --- a/test/models/department_thesis_test.rb +++ b/test/models/department_thesis_test.rb @@ -2,10 +2,16 @@ # # Table name: department_theses # -# thesis_id :integer -# department_id :integer # id :integer not null, primary key # primary :boolean default(FALSE), not null +# department_id :integer +# thesis_id :integer +# +# Indexes +# +# department_and_thesis (department_id,thesis_id) UNIQUE +# index_department_theses_on_department_id (department_id) +# index_department_theses_on_thesis_id (thesis_id) # require 'test_helper' diff --git a/test/models/hold_test.rb b/test/models/hold_test.rb index 66e2b2e2..90395222 100644 --- a/test/models/hold_test.rb +++ b/test/models/hold_test.rb @@ -3,16 +3,26 @@ # Table name: holds # # id :integer not null, primary key -# thesis_id :integer not null +# case_number :string +# date_end :date not null # date_requested :date not null # date_start :date not null -# date_end :date not null -# hold_source_id :integer not null -# case_number :string -# status :integer not null # processing_notes :text +# status :integer not null # created_at :datetime not null # updated_at :datetime not null +# hold_source_id :integer not null +# thesis_id :integer not null +# +# Indexes +# +# index_holds_on_hold_source_id (hold_source_id) +# index_holds_on_thesis_id (thesis_id) +# +# Foreign Keys +# +# hold_source_id (hold_source_id => hold_sources.id) +# thesis_id (thesis_id => theses.id) # require 'test_helper' diff --git a/test/models/registrar_test.rb b/test/models/registrar_test.rb index 732ee1e7..e4dd6a91 100644 --- a/test/models/registrar_test.rb +++ b/test/models/registrar_test.rb @@ -3,9 +3,17 @@ # Table name: registrars # # id :integer not null, primary key -# user_id :integer not null # created_at :datetime not null # updated_at :datetime not null +# user_id :integer not null +# +# Indexes +# +# index_registrars_on_user_id (user_id) +# +# Foreign Keys +# +# user_id (user_id => users.id) # require 'test_helper' diff --git a/test/models/submission_information_package_test.rb b/test/models/submission_information_package_test.rb index 5d548d0a..658a7a78 100644 --- a/test/models/submission_information_package_test.rb +++ b/test/models/submission_information_package_test.rb @@ -3,15 +3,23 @@ # Table name: submission_information_packages # # id :integer not null, primary key -# preserved_at :datetime -# preservation_status :integer default("unpreserved"), not null # bag_declaration :string # bag_name :string # manifest :text # metadata :text -# thesis_id :integer not null +# preservation_status :integer default("unpreserved"), not null +# preserved_at :datetime # created_at :datetime not null # updated_at :datetime not null +# thesis_id :integer not null +# +# Indexes +# +# index_submission_information_packages_on_thesis_id (thesis_id) +# +# Foreign Keys +# +# thesis_id (thesis_id => theses.id) # require 'test_helper' diff --git a/test/models/thesis_test.rb b/test/models/thesis_test.rb index 66e7fbf3..744d87cf 100644 --- a/test/models/thesis_test.rb +++ b/test/models/thesis_test.rb @@ -3,25 +3,31 @@ # Table name: theses # # id :integer not null, primary key -# title :string # abstract :text -# grad_date :date not null -# created_at :datetime not null -# updated_at :datetime not null -# processor_note :text # author_note :text +# authors_count :integer +# coauthors :string +# dspace_handle :string # files_complete :boolean default(FALSE), not null +# grad_date :date not null +# issues_found :boolean default(FALSE), not null # metadata_complete :boolean default(FALSE), not null +# processor_note :text +# proquest_exported :integer default("Not exported"), not null # publication_status :string default("Not ready for publication"), not null -# coauthors :string +# title :string +# created_at :datetime not null +# updated_at :datetime not null # copyright_id :integer # license_id :integer -# dspace_handle :string -# issues_found :boolean default(FALSE), not null -# authors_count :integer -# proquest_exported :integer default("Not exported"), not null # proquest_export_batch_id :integer # +# Indexes +# +# index_theses_on_copyright_id (copyright_id) +# index_theses_on_license_id (license_id) +# index_theses_on_proquest_export_batch_id (proquest_export_batch_id) +# require 'csv' require 'test_helper' diff --git a/test/models/transfer_test.rb b/test/models/transfer_test.rb index de9c6081..15771eee 100644 --- a/test/models/transfer_test.rb +++ b/test/models/transfer_test.rb @@ -3,14 +3,24 @@ # Table name: transfers # # id :integer not null, primary key -# user_id :integer not null -# department_id :integer not null +# files_count :integer default(0), not null # grad_date :date not null -# created_at :datetime not null -# updated_at :datetime not null # note :text -# files_count :integer default(0), not null # unassigned_files_count :integer default(0), not null +# created_at :datetime not null +# updated_at :datetime not null +# department_id :integer not null +# user_id :integer not null +# +# Indexes +# +# index_transfers_on_department_id (department_id) +# index_transfers_on_user_id (user_id) +# +# Foreign Keys +# +# department_id (department_id => departments.id) +# user_id (user_id => users.id) # require 'test_helper' diff --git a/test/models/user_test.rb b/test/models/user_test.rb index 742551e9..11bfa6ab 100644 --- a/test/models/user_test.rb +++ b/test/models/user_test.rb @@ -3,19 +3,26 @@ # Table name: users # # id :integer not null, primary key -# uid :string not null -# email :string not null # admin :boolean default(FALSE) -# created_at :datetime not null -# updated_at :datetime not null -# role :string default("basic") -# given_name :string -# surname :string -# kerberos_id :string not null # display_name :string not null +# email :string not null +# given_name :string # middle_name :string -# preferred_name :string # orcid :string +# preferred_name :string +# role :string default("basic") +# surname :string +# uid :string not null +# created_at :datetime not null +# updated_at :datetime not null +# kerberos_id :string not null +# +# Indexes +# +# index_users_on_email (email) UNIQUE +# index_users_on_kerberos_id (kerberos_id) UNIQUE +# index_users_on_orcid (orcid) UNIQUE +# index_users_on_uid (uid) UNIQUE # require 'csv' From 5401e288c0673e2f8aef618c2e2cf54324b98b17 Mon Sep 17 00:00:00 2001 From: jazairi <16103405+jazairi@users.noreply.github.com> Date: Tue, 21 Jul 2026 12:39:30 -0700 Subject: [PATCH 2/3] Document annotation procedure in readme and remove route annotations --- README.md | 4 + config/routes.rb | 224 ----------------------------------------------- 2 files changed, 4 insertions(+), 224 deletions(-) diff --git a/README.md b/README.md index fcaad47c..598b2ae7 100644 --- a/README.md +++ b/README.md @@ -28,6 +28,10 @@ additional records with a standardized template. ## Developer notes +### Annotations + +Please `bundle exec annotaterb models` when making changes to models to update the internal documentation. + ### Confirming functionality after updating dependencies The application has excellent test coverage, and most errors are likely to be caught by our test suite. This runs in CI, diff --git a/config/routes.rb b/config/routes.rb index ceb30fe8..6bedbe2c 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,227 +1,3 @@ -# == Route Map -# -# Routes for application: -# Prefix Verb URI Pattern Controller#Action -# rails_health_check GET /up(.:format) rails/health#show -# flipflop /flipflop Flipflop::Engine -# admin_users GET /admin/users(.:format) admin/users#index -# POST /admin/users(.:format) admin/users#create -# new_admin_user GET /admin/users/new(.:format) admin/users#new -# edit_admin_user GET /admin/users/:id/edit(.:format) admin/users#edit -# admin_user GET /admin/users/:id(.:format) admin/users#show -# PATCH /admin/users/:id(.:format) admin/users#update -# PUT /admin/users/:id(.:format) admin/users#update -# DELETE /admin/users/:id(.:format) admin/users#destroy -# admin_archivematica_accessions GET /admin/archivematica_accessions(.:format) admin/archivematica_accessions#index -# POST /admin/archivematica_accessions(.:format) admin/archivematica_accessions#create -# new_admin_archivematica_accession GET /admin/archivematica_accessions/new(.:format) admin/archivematica_accessions#new -# edit_admin_archivematica_accession GET /admin/archivematica_accessions/:id/edit(.:format) admin/archivematica_accessions#edit -# admin_archivematica_accession GET /admin/archivematica_accessions/:id(.:format) admin/archivematica_accessions#show -# PATCH /admin/archivematica_accessions/:id(.:format) admin/archivematica_accessions#update -# PUT /admin/archivematica_accessions/:id(.:format) admin/archivematica_accessions#update -# DELETE /admin/archivematica_accessions/:id(.:format) admin/archivematica_accessions#destroy -# admin_advisors GET /admin/advisors(.:format) admin/advisors#index -# POST /admin/advisors(.:format) admin/advisors#create -# new_admin_advisor GET /admin/advisors/new(.:format) admin/advisors#new -# edit_admin_advisor GET /admin/advisors/:id/edit(.:format) admin/advisors#edit -# admin_advisor GET /admin/advisors/:id(.:format) admin/advisors#show -# PATCH /admin/advisors/:id(.:format) admin/advisors#update -# PUT /admin/advisors/:id(.:format) admin/advisors#update -# DELETE /admin/advisors/:id(.:format) admin/advisors#destroy -# admin_authors GET /admin/authors(.:format) admin/authors#index -# POST /admin/authors(.:format) admin/authors#create -# new_admin_author GET /admin/authors/new(.:format) admin/authors#new -# edit_admin_author GET /admin/authors/:id/edit(.:format) admin/authors#edit -# admin_author GET /admin/authors/:id(.:format) admin/authors#show -# PATCH /admin/authors/:id(.:format) admin/authors#update -# PUT /admin/authors/:id(.:format) admin/authors#update -# DELETE /admin/authors/:id(.:format) admin/authors#destroy -# admin_copyrights GET /admin/copyrights(.:format) admin/copyrights#index -# POST /admin/copyrights(.:format) admin/copyrights#create -# new_admin_copyright GET /admin/copyrights/new(.:format) admin/copyrights#new -# edit_admin_copyright GET /admin/copyrights/:id/edit(.:format) admin/copyrights#edit -# admin_copyright GET /admin/copyrights/:id(.:format) admin/copyrights#show -# PATCH /admin/copyrights/:id(.:format) admin/copyrights#update -# PUT /admin/copyrights/:id(.:format) admin/copyrights#update -# DELETE /admin/copyrights/:id(.:format) admin/copyrights#destroy -# admin_degrees GET /admin/degrees(.:format) admin/degrees#index -# POST /admin/degrees(.:format) admin/degrees#create -# new_admin_degree GET /admin/degrees/new(.:format) admin/degrees#new -# edit_admin_degree GET /admin/degrees/:id/edit(.:format) admin/degrees#edit -# admin_degree GET /admin/degrees/:id(.:format) admin/degrees#show -# PATCH /admin/degrees/:id(.:format) admin/degrees#update -# PUT /admin/degrees/:id(.:format) admin/degrees#update -# DELETE /admin/degrees/:id(.:format) admin/degrees#destroy -# admin_degree_types GET /admin/degree_types(.:format) admin/degree_types#index -# POST /admin/degree_types(.:format) admin/degree_types#create -# new_admin_degree_type GET /admin/degree_types/new(.:format) admin/degree_types#new -# edit_admin_degree_type GET /admin/degree_types/:id/edit(.:format) admin/degree_types#edit -# admin_degree_type GET /admin/degree_types/:id(.:format) admin/degree_types#show -# PATCH /admin/degree_types/:id(.:format) admin/degree_types#update -# PUT /admin/degree_types/:id(.:format) admin/degree_types#update -# DELETE /admin/degree_types/:id(.:format) admin/degree_types#destroy -# admin_degree_periods GET /admin/degree_periods(.:format) admin/degree_periods#index -# POST /admin/degree_periods(.:format) admin/degree_periods#create -# new_admin_degree_period GET /admin/degree_periods/new(.:format) admin/degree_periods#new -# edit_admin_degree_period GET /admin/degree_periods/:id/edit(.:format) admin/degree_periods#edit -# admin_degree_period GET /admin/degree_periods/:id(.:format) admin/degree_periods#show -# PATCH /admin/degree_periods/:id(.:format) admin/degree_periods#update -# PUT /admin/degree_periods/:id(.:format) admin/degree_periods#update -# DELETE /admin/degree_periods/:id(.:format) admin/degree_periods#destroy -# admin_departments GET /admin/departments(.:format) admin/departments#index -# POST /admin/departments(.:format) admin/departments#create -# new_admin_department GET /admin/departments/new(.:format) admin/departments#new -# edit_admin_department GET /admin/departments/:id/edit(.:format) admin/departments#edit -# admin_department GET /admin/departments/:id(.:format) admin/departments#show -# PATCH /admin/departments/:id(.:format) admin/departments#update -# PUT /admin/departments/:id(.:format) admin/departments#update -# DELETE /admin/departments/:id(.:format) admin/departments#destroy -# admin_department_theses GET /admin/department_theses(.:format) admin/department_theses#index -# POST /admin/department_theses(.:format) admin/department_theses#create -# new_admin_department_thesis GET /admin/department_theses/new(.:format) admin/department_theses#new -# edit_admin_department_thesis GET /admin/department_theses/:id/edit(.:format) admin/department_theses#edit -# admin_department_thesis GET /admin/department_theses/:id(.:format) admin/department_theses#show -# PATCH /admin/department_theses/:id(.:format) admin/department_theses#update -# PUT /admin/department_theses/:id(.:format) admin/department_theses#update -# DELETE /admin/department_theses/:id(.:format) admin/department_theses#destroy -# admin_holds GET /admin/holds(.:format) admin/holds#index -# POST /admin/holds(.:format) admin/holds#create -# new_admin_hold GET /admin/holds/new(.:format) admin/holds#new -# edit_admin_hold GET /admin/holds/:id/edit(.:format) admin/holds#edit -# admin_hold GET /admin/holds/:id(.:format) admin/holds#show -# PATCH /admin/holds/:id(.:format) admin/holds#update -# PUT /admin/holds/:id(.:format) admin/holds#update -# DELETE /admin/holds/:id(.:format) admin/holds#destroy -# admin_hold_sources GET /admin/hold_sources(.:format) admin/hold_sources#index -# POST /admin/hold_sources(.:format) admin/hold_sources#create -# new_admin_hold_source GET /admin/hold_sources/new(.:format) admin/hold_sources#new -# edit_admin_hold_source GET /admin/hold_sources/:id/edit(.:format) admin/hold_sources#edit -# admin_hold_source GET /admin/hold_sources/:id(.:format) admin/hold_sources#show -# PATCH /admin/hold_sources/:id(.:format) admin/hold_sources#update -# PUT /admin/hold_sources/:id(.:format) admin/hold_sources#update -# DELETE /admin/hold_sources/:id(.:format) admin/hold_sources#destroy -# admin_licenses GET /admin/licenses(.:format) admin/licenses#index -# POST /admin/licenses(.:format) admin/licenses#create -# new_admin_license GET /admin/licenses/new(.:format) admin/licenses#new -# edit_admin_license GET /admin/licenses/:id/edit(.:format) admin/licenses#edit -# admin_license GET /admin/licenses/:id(.:format) admin/licenses#show -# PATCH /admin/licenses/:id(.:format) admin/licenses#update -# PUT /admin/licenses/:id(.:format) admin/licenses#update -# DELETE /admin/licenses/:id(.:format) admin/licenses#destroy -# admin_submission_information_packages GET /admin/submission_information_packages(.:format) admin/submission_information_packages#index -# POST /admin/submission_information_packages(.:format) admin/submission_information_packages#create -# new_admin_submission_information_package GET /admin/submission_information_packages/new(.:format) admin/submission_information_packages#new -# edit_admin_submission_information_package GET /admin/submission_information_packages/:id/edit(.:format) admin/submission_information_packages#edit -# admin_submission_information_package GET /admin/submission_information_packages/:id(.:format) admin/submission_information_packages#show -# PATCH /admin/submission_information_packages/:id(.:format) admin/submission_information_packages#update -# PUT /admin/submission_information_packages/:id(.:format) admin/submission_information_packages#update -# DELETE /admin/submission_information_packages/:id(.:format) admin/submission_information_packages#destroy -# admin_submitters GET /admin/submitters(.:format) admin/submitters#index -# POST /admin/submitters(.:format) admin/submitters#create -# new_admin_submitter GET /admin/submitters/new(.:format) admin/submitters#new -# edit_admin_submitter GET /admin/submitters/:id/edit(.:format) admin/submitters#edit -# admin_submitter GET /admin/submitters/:id(.:format) admin/submitters#show -# PATCH /admin/submitters/:id(.:format) admin/submitters#update -# PUT /admin/submitters/:id(.:format) admin/submitters#update -# DELETE /admin/submitters/:id(.:format) admin/submitters#destroy -# admin_theses GET /admin/theses(.:format) admin/theses#index -# POST /admin/theses(.:format) admin/theses#create -# new_admin_thesis GET /admin/theses/new(.:format) admin/theses#new -# edit_admin_thesis GET /admin/theses/:id/edit(.:format) admin/theses#edit -# admin_thesis GET /admin/theses/:id(.:format) admin/theses#show -# PATCH /admin/theses/:id(.:format) admin/theses#update -# PUT /admin/theses/:id(.:format) admin/theses#update -# DELETE /admin/theses/:id(.:format) admin/theses#destroy -# admin_transfers GET /admin/transfers(.:format) admin/transfers#index -# POST /admin/transfers(.:format) admin/transfers#create -# new_admin_transfer GET /admin/transfers/new(.:format) admin/transfers#new -# edit_admin_transfer GET /admin/transfers/:id/edit(.:format) admin/transfers#edit -# admin_transfer GET /admin/transfers/:id(.:format) admin/transfers#show -# PATCH /admin/transfers/:id(.:format) admin/transfers#update -# PUT /admin/transfers/:id(.:format) admin/transfers#update -# DELETE /admin/transfers/:id(.:format) admin/transfers#destroy -# admin_root GET /admin(.:format) admin/theses#index -# report_index GET /report(.:format) report#index -# report_authors_not_graduated GET /report/authors_not_graduated(.:format) report#authors_not_graduated -# report_empty_theses GET /report/empty_theses(.:format) report#empty_theses -# report_expired_holds GET /report/expired_holds(.:format) report#expired_holds -# report_files GET /report/files(.:format) report#files -# report_holds_by_source GET /report/holds_by_source(.:format) report#holds_by_source -# report_proquest_files GET /report/proquest_files(.:format) report#proquest_files -# report_proquest_status GET /report/proquest_status(.:format) report#proquest_status -# report_student_submitted_theses GET /report/student_submitted_theses(.:format) report#student_submitted_theses -# report_term GET /report/term(.:format) report#term -# thesis_confirm GET /thesis/confirm(.:format) thesis#confirm -# thesis_deduplicate GET /thesis/deduplicate(.:format) thesis#deduplicate -# thesis_publication_statuses GET /thesis/publication_statuses(.:format) thesis#publication_statuses -# thesis_process GET /thesis/:id/process(.:format) thesis#process_theses -# thesis_process_update PATCH /thesis/:id/process(.:format) thesis#process_theses_update -# thesis_publish_preview GET /thesis/publish_preview(.:format) thesis#publish_preview -# thesis_publish_to_dspace GET /thesis/publish(.:format) thesis#publish_to_dspace -# thesis_select GET /thesis/select(.:format) thesis#select -# thesis_start GET /thesis/start(.:format) thesis#start -# thesis_proquest_export_preview GET /thesis/proquest_export_preview(.:format) thesis#proquest_export_preview -# thesis_proquest_export GET /thesis/proquest_export(.:format) thesis#proquest_export -# reset_all_publication_errors GET /thesis/reset_all_publication_errors(.:format) thesis#reset_all_publication_errors -# rename_file_form GET /file/rename/:thesis_id/:attachment_id(.:format) file#rename_form -# rename_file POST /file/rename/:thesis_id/:attachment_id(.:format) file#rename -# registrar_index POST /registrar(.:format) registrar#create -# new_registrar GET /registrar/new(.:format) registrar#new -# registrar GET /registrar/:id(.:format) registrar#show -# thesis_index POST /thesis(.:format) thesis#create -# new_thesis GET /thesis/new(.:format) thesis#new -# edit_thesis GET /thesis/:id/edit(.:format) thesis#edit -# thesis GET /thesis/:id(.:format) thesis#show -# PATCH /thesis/:id(.:format) thesis#update -# PUT /thesis/:id(.:format) thesis#update -# harvest GET /harvest(.:format) registrar#list_registrar -# process_registrar GET /harvest/:id(.:format) registrar#process_registrar -# hold_history GET /hold_history/:id(.:format) hold#show -# user_developer_omniauth_authorize POST /users/auth/developer(.:format) users/omniauth_callbacks#passthru -# user_developer_omniauth_callback GET|POST /users/auth/developer/callback(.:format) users/omniauth_callbacks#developer -# transfer_confirm GET /transfer/confirm(.:format) transfer#confirm -# transfer_files POST /transfer/files(.:format) transfer#files -# transfer_select GET /transfer/select(.:format) transfer#select -# transfer_index POST /transfer(.:format) transfer#create -# new_transfer GET /transfer/new(.:format) transfer#new -# transfer GET /transfer/:id(.:format) transfer#show -# user_session GET /sign_in(.:format) devise/sessions#new -# destroy_user_session DELETE /sign_out(.:format) devise/sessions#destroy -# vireo GET /vireo(.:format) redirect(301, /) -# GET /vireo/:whatever(.:format) redirect(301, /) -# login GET /login(.:format) static#login -# root GET / static#index -# rails_postmark_inbound_emails POST /rails/action_mailbox/postmark/inbound_emails(.:format) action_mailbox/ingresses/postmark/inbound_emails#create -# rails_relay_inbound_emails POST /rails/action_mailbox/relay/inbound_emails(.:format) action_mailbox/ingresses/relay/inbound_emails#create -# rails_sendgrid_inbound_emails POST /rails/action_mailbox/sendgrid/inbound_emails(.:format) action_mailbox/ingresses/sendgrid/inbound_emails#create -# rails_mandrill_inbound_health_check GET /rails/action_mailbox/mandrill/inbound_emails(.:format) action_mailbox/ingresses/mandrill/inbound_emails#health_check -# rails_mandrill_inbound_emails POST /rails/action_mailbox/mandrill/inbound_emails(.:format) action_mailbox/ingresses/mandrill/inbound_emails#create -# rails_mailgun_inbound_emails POST /rails/action_mailbox/mailgun/inbound_emails/mime(.:format) action_mailbox/ingresses/mailgun/inbound_emails#create -# rails_conductor_inbound_emails GET /rails/conductor/action_mailbox/inbound_emails(.:format) rails/conductor/action_mailbox/inbound_emails#index -# POST /rails/conductor/action_mailbox/inbound_emails(.:format) rails/conductor/action_mailbox/inbound_emails#create -# new_rails_conductor_inbound_email GET /rails/conductor/action_mailbox/inbound_emails/new(.:format) rails/conductor/action_mailbox/inbound_emails#new -# rails_conductor_inbound_email GET /rails/conductor/action_mailbox/inbound_emails/:id(.:format) rails/conductor/action_mailbox/inbound_emails#show -# new_rails_conductor_inbound_email_source GET /rails/conductor/action_mailbox/inbound_emails/sources/new(.:format) rails/conductor/action_mailbox/inbound_emails/sources#new -# rails_conductor_inbound_email_sources POST /rails/conductor/action_mailbox/inbound_emails/sources(.:format) rails/conductor/action_mailbox/inbound_emails/sources#create -# rails_conductor_inbound_email_reroute POST /rails/conductor/action_mailbox/:inbound_email_id/reroute(.:format) rails/conductor/action_mailbox/reroutes#create -# rails_conductor_inbound_email_incinerate POST /rails/conductor/action_mailbox/:inbound_email_id/incinerate(.:format) rails/conductor/action_mailbox/incinerates#create -# rails_service_blob GET /rails/active_storage/blobs/redirect/:signed_id/*filename(.:format) active_storage/blobs/redirect#show -# rails_service_blob_proxy GET /rails/active_storage/blobs/proxy/:signed_id/*filename(.:format) active_storage/blobs/proxy#show -# GET /rails/active_storage/blobs/:signed_id/*filename(.:format) active_storage/blobs/redirect#show -# rails_blob_representation GET /rails/active_storage/representations/redirect/:signed_blob_id/:variation_key/*filename(.:format) active_storage/representations/redirect#show -# rails_blob_representation_proxy GET /rails/active_storage/representations/proxy/:signed_blob_id/:variation_key/*filename(.:format) active_storage/representations/proxy#show -# GET /rails/active_storage/representations/:signed_blob_id/:variation_key/*filename(.:format) active_storage/representations/redirect#show -# rails_disk_service GET /rails/active_storage/disk/:encoded_key/*filename(.:format) active_storage/disk#show -# update_rails_disk_service PUT /rails/active_storage/disk/:encoded_token(.:format) active_storage/disk#update -# rails_direct_uploads POST /rails/active_storage/direct_uploads(.:format) active_storage/direct_uploads#create -# -# Routes for Flipflop::Engine: -# Prefix Verb URI Pattern Controller#Action -# feature_strategy PATCH /:feature_id/strategies/:id(.:format) flipflop/strategies#update -# PUT /:feature_id/strategies/:id(.:format) flipflop/strategies#update -# DELETE /:feature_id/strategies/:id(.:format) flipflop/strategies#destroy -# features GET / flipflop/features#index - Rails.application.routes.draw do # Reveal health status on /up that returns 200 if the app boots with no exceptions, otherwise 500. # Can be used by load balancers and uptime monitors to verify that the app is live. From 1ffed122dba8531b082055ffcd88a3f016d96e2e Mon Sep 17 00:00:00 2001 From: jazairi <16103405+jazairi@users.noreply.github.com> Date: Tue, 21 Jul 2026 14:16:21 -0700 Subject: [PATCH 3/3] Replace existing annotation documentation in readme --- README.md | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/README.md b/README.md index 598b2ae7..80811c0b 100644 --- a/README.md +++ b/README.md @@ -28,10 +28,6 @@ additional records with a standardized template. ## Developer notes -### Annotations - -Please `bundle exec annotaterb models` when making changes to models to update the internal documentation. - ### Confirming functionality after updating dependencies The application has excellent test coverage, and most errors are likely to be caught by our test suite. This runs in CI, @@ -78,7 +74,7 @@ other changes. ### Annotating the database schema -When changing the db schema, please run `bundle exec annotate` to update the +When changing the db schema, please run `bundle exec annotaterb models` to update the model and associated tests to reflect the changes in a nice convenient, consistent way.