diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e95cf4c95..1c0306cd0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -42,7 +42,7 @@ jobs: - name: Setup Ruby uses: ruby/setup-ruby@v1 with: - ruby-version: 3.2.2 + ruby-version: 3.2.3 - uses: actions/setup-node@v2-beta with: node-version: '16' diff --git a/.gitignore b/.gitignore index 483ec7dc6..b3480e7c3 100644 --- a/.gitignore +++ b/.gitignore @@ -9,6 +9,7 @@ rspec.watchr .pgpass certs/* .env +.env.development.local .history/ *.swp diff --git a/.ruby-version b/.ruby-version index be94e6f53..b347b11ea 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -3.2.2 +3.2.3 diff --git a/.tool-versions b/.tool-versions new file mode 100644 index 000000000..d1d93dd21 --- /dev/null +++ b/.tool-versions @@ -0,0 +1,2 @@ +ruby 3.2.3 +nodejs 16.14.0 diff --git a/Dockerfile b/Dockerfile index 168a91e8b..ce0ecaea3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -ARG RUBY_VERSION=3.2.2 +ARG RUBY_VERSION=3.2.3 FROM ruby:${RUBY_VERSION} @@ -7,7 +7,7 @@ WORKDIR /app RUN apt-get update RUN curl -fsSL https://deb.nodesource.com/setup_16.x | bash - -RUN apt-get install -y nodejs npm +RUN apt-get install -y nodejs RUN npm install yarn -g # ENV SSL_CERT_DIR=/etc/ssl/certs diff --git a/Gemfile b/Gemfile index 8813f95ae..08c8e45fa 100644 --- a/Gemfile +++ b/Gemfile @@ -2,9 +2,9 @@ source 'https://rubygems.org' git_source(:github) { |name| "https://github.com/#{name}.git" } -ruby '~> 3.2.2' +ruby '~> 3.2.3' -gem 'rails', '7.1.1' +gem 'rails', '7.1.3.2' gem 'websocket-extensions', '~> 0.1.5' # SSL redirect @@ -23,7 +23,7 @@ gem 'sprockets-rails', '>= 2.0.0' gem 'slim-rails', '~> 3.2.0' gem 'coffee-rails', '5.0' gem 'jquery-rails', '~> 4.4' -gem 'jquery-ui-rails', '6.0.1' +gem 'jquery-ui-rails', github: 'jquery-ui-rails/jquery-ui-rails', tag: 'v7.0.0' gem 'bootstrap-sass', '~> 3.4' gem 'govuk_frontend_toolkit', '~> 3.1.0' gem 'govuk_template', '0.12.0' @@ -84,7 +84,7 @@ gem 'prawn-table' gem 'nokogiri' # Uploads -gem 'carrierwave', '~> 2.2.5' +gem 'carrierwave', '~> 2.2.6' gem 'google-cloud-storage', '~> 1.34.1' gem 'carrierwave-google-storage', github: "bitzesty/carrierwave-google-storage", ref: 'c706a21c6c25045cae2e39bcab5bf594af0bcf46' gem 'vigilion', '~> 1.0.4', github: 'vigilion/vigilion-ruby', ref: '7d6a7e5' @@ -121,7 +121,7 @@ gem 'nilify_blanks' # We use it for sending API requests to Sendgrid in # AdvancedEmailValidator -gem 'curb', '0.9.10' +gem 'curb', '~> 1.0.5' # Web server gem 'puma', '~> 5.6.8' diff --git a/Gemfile.lock b/Gemfile.lock index 081c0abcb..0078f2f09 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -17,6 +17,14 @@ GIT devise-security (0.14.3) devise (>= 4.3.0, < 5.0) +GIT + remote: https://github.com/jquery-ui-rails/jquery-ui-rails.git + revision: 413265e81f790f795239e07e7e25e01429b2f18d + tag: v7.0.0 + specs: + jquery-ui-rails (7.0.0) + railties (>= 3.2.16) + GIT remote: https://github.com/vigilion/vigilion-ruby.git revision: 7d6a7e5b93d8491c30b10cf95773be003c6ab579 @@ -32,78 +40,79 @@ GEM remote: https://rubygems.org/ specs: Ascii85 (1.1.0) - actioncable (7.1.1) - actionpack (= 7.1.1) - activesupport (= 7.1.1) + actioncable (7.1.3.2) + actionpack (= 7.1.3.2) + activesupport (= 7.1.3.2) nio4r (~> 2.0) websocket-driver (>= 0.6.1) zeitwerk (~> 2.6) - actionmailbox (7.1.1) - actionpack (= 7.1.1) - activejob (= 7.1.1) - activerecord (= 7.1.1) - activestorage (= 7.1.1) - activesupport (= 7.1.1) + actionmailbox (7.1.3.2) + actionpack (= 7.1.3.2) + activejob (= 7.1.3.2) + activerecord (= 7.1.3.2) + activestorage (= 7.1.3.2) + activesupport (= 7.1.3.2) mail (>= 2.7.1) net-imap net-pop net-smtp - actionmailer (7.1.1) - actionpack (= 7.1.1) - actionview (= 7.1.1) - activejob (= 7.1.1) - activesupport (= 7.1.1) + actionmailer (7.1.3.2) + actionpack (= 7.1.3.2) + actionview (= 7.1.3.2) + activejob (= 7.1.3.2) + activesupport (= 7.1.3.2) mail (~> 2.5, >= 2.5.4) net-imap net-pop net-smtp rails-dom-testing (~> 2.2) - actionpack (7.1.1) - actionview (= 7.1.1) - activesupport (= 7.1.1) + actionpack (7.1.3.2) + actionview (= 7.1.3.2) + activesupport (= 7.1.3.2) nokogiri (>= 1.8.5) + racc rack (>= 2.2.4) rack-session (>= 1.0.1) rack-test (>= 0.6.3) rails-dom-testing (~> 2.2) rails-html-sanitizer (~> 1.6) - actiontext (7.1.1) - actionpack (= 7.1.1) - activerecord (= 7.1.1) - activestorage (= 7.1.1) - activesupport (= 7.1.1) + actiontext (7.1.3.2) + actionpack (= 7.1.3.2) + activerecord (= 7.1.3.2) + activestorage (= 7.1.3.2) + activesupport (= 7.1.3.2) globalid (>= 0.6.0) nokogiri (>= 1.8.5) - actionview (7.1.1) - activesupport (= 7.1.1) + actionview (7.1.3.2) + activesupport (= 7.1.3.2) builder (~> 3.1) erubi (~> 1.11) rails-dom-testing (~> 2.2) rails-html-sanitizer (~> 1.6) active_hash (3.2.1) activesupport (>= 5.0.0) - activejob (7.1.1) - activesupport (= 7.1.1) + activejob (7.1.3.2) + activesupport (= 7.1.3.2) globalid (>= 0.3.6) - activemodel (7.1.1) - activesupport (= 7.1.1) + activemodel (7.1.3.2) + activesupport (= 7.1.3.2) activemodel-serializers-xml (1.0.2) activemodel (> 5.x) activesupport (> 5.x) builder (~> 3.1) - activerecord (7.1.1) - activemodel (= 7.1.1) - activesupport (= 7.1.1) + activerecord (7.1.3.2) + activemodel (= 7.1.3.2) + activesupport (= 7.1.3.2) timeout (>= 0.4.0) activerecord-import (1.5.1) activerecord (>= 4.2) - activestorage (7.1.1) - actionpack (= 7.1.1) - activejob (= 7.1.1) - activerecord (= 7.1.1) - activesupport (= 7.1.1) + activestorage (7.1.3.2) + actionpack (= 7.1.3.2) + activejob (= 7.1.3.2) + activerecord (= 7.1.3.2) + activesupport (= 7.1.3.2) marcel (~> 1.0) - activesupport (7.1.1) + activesupport (7.1.3.2) base64 bigdecimal concurrent-ruby (~> 1.0, >= 1.0.2) @@ -113,7 +122,7 @@ GEM minitest (>= 5.1) mutex_m tzinfo (~> 2.0) - addressable (2.8.5) + addressable (2.8.6) public_suffix (>= 2.0.2, < 6.0) afm (0.2.2) amoeba (3.0.0) @@ -131,7 +140,7 @@ GEM thread_safe (~> 0.3, >= 0.3.1) base64 (0.2.0) bcrypt (3.1.20) - bigdecimal (3.1.4) + bigdecimal (3.1.7) bindex (0.8.1) binding_of_caller (1.0.0) debug_inspector (>= 0.0.1) @@ -151,7 +160,7 @@ GEM rack-test (>= 0.6.3) regexp_parser (>= 1.5, < 3.0) xpath (~> 3.2) - carrierwave (2.2.5) + carrierwave (2.2.6) activemodel (>= 5.0.0) activesupport (>= 5.0.0) addressable (~> 2.6) @@ -178,7 +187,7 @@ GEM execjs coffee-script-source (1.12.2) colorize (1.1.0) - concurrent-ruby (1.2.2) + concurrent-ruby (1.2.3) connection_pool (2.4.1) countries (2.1.4) i18n_data (~> 0.8.0) @@ -196,7 +205,7 @@ GEM cucumber-messages (22.0.0) cuke_modeler (3.20.1) cucumber-gherkin (< 28.0) - curb (0.9.10) + curb (1.0.5) database_cleaner-active_record (2.1.0) activerecord (>= 5.a) database_cleaner-core (~> 2.0.0) @@ -238,8 +247,7 @@ GEM activesupport (>= 5.0) request_store (>= 1.0) ruby2_keywords - drb (2.2.0) - ruby2_keywords + drb (2.2.1) email_validator (2.2.4) activemodel enumerize (2.7.0) @@ -337,25 +345,23 @@ GEM http-cookie (1.0.5) domain_name (~> 0.5) httpclient (2.8.3) - i18n (1.14.1) + i18n (1.14.4) concurrent-ruby (~> 1.0) i18n_data (0.8.0) ice_nine (0.11.2) image_processing (1.12.2) mini_magick (>= 4.9.5, < 5) ruby-vips (>= 2.0.17, < 3) - io-console (0.6.0) - irb (1.9.0) + io-console (0.7.2) + irb (1.12.0) rdoc - reline (>= 0.3.8) + reline (>= 0.4.2) jbuilder (2.10.2) activesupport (>= 5.0.0) jquery-rails (4.6.0) rails-dom-testing (>= 1, < 3) railties (>= 4.2.0) thor (>= 0.14, < 2.0) - jquery-ui-rails (6.0.1) - railties (>= 3.2.16) js_cookie_rails (2.1.4) railties (>= 3.1) json (2.3.0) @@ -399,7 +405,7 @@ GEM activesupport (>= 5.2.4.6) notifications-ruby-client (~> 5.1) rack (>= 2.1.4.1) - marcel (1.0.2) + marcel (1.0.4) matrix (0.4.2) method_source (1.0.0) mime-types (3.5.1) @@ -407,20 +413,20 @@ GEM mime-types-data (3.2023.1003) mini_magick (4.12.0) mini_mime (1.1.5) - minitest (5.20.0) + minitest (5.22.3) money (6.16.0) i18n (>= 0.6.4, <= 2) multi_json (1.15.0) multipart-post (2.3.0) mutex_m (0.2.0) - net-imap (0.4.5) + net-imap (0.4.10) date net-protocol net-pop (0.1.2) net-protocol net-protocol (0.2.2) timeout - net-smtp (0.4.0) + net-smtp (0.4.0.1) net-protocol netrc (0.11.0) nilify_blanks (1.4.0) @@ -472,7 +478,7 @@ GEM pry-byebug (3.10.1) byebug (~> 11.0) pry (>= 0.13, < 0.15) - psych (5.1.1.1) + psych (5.1.2) stringio public_suffix (5.0.4) puma (5.6.8) @@ -486,7 +492,7 @@ GEM pusher-signature (0.1.8) raabro (1.4.0) racc (1.7.3) - rack (2.2.8) + rack (2.2.8.1) rack-canonical-host (1.2.0) addressable (> 0, < 3) rack (>= 1, < 4) @@ -496,7 +502,7 @@ GEM rack (>= 1.2.0) rack-proxy (0.7.7) rack - rack-session (1.0.1) + rack-session (1.0.2) rack (< 3) rack-ssl-enforcer (0.2.9) rack-test (2.1.0) @@ -504,20 +510,20 @@ GEM rackup (1.0.0) rack (< 3) webrick - rails (7.1.1) - actioncable (= 7.1.1) - actionmailbox (= 7.1.1) - actionmailer (= 7.1.1) - actionpack (= 7.1.1) - actiontext (= 7.1.1) - actionview (= 7.1.1) - activejob (= 7.1.1) - activemodel (= 7.1.1) - activerecord (= 7.1.1) - activestorage (= 7.1.1) - activesupport (= 7.1.1) + rails (7.1.3.2) + actioncable (= 7.1.3.2) + actionmailbox (= 7.1.3.2) + actionmailer (= 7.1.3.2) + actionpack (= 7.1.3.2) + actiontext (= 7.1.3.2) + actionview (= 7.1.3.2) + activejob (= 7.1.3.2) + activemodel (= 7.1.3.2) + activerecord (= 7.1.3.2) + activestorage (= 7.1.3.2) + activesupport (= 7.1.3.2) bundler (>= 1.15.0) - railties (= 7.1.1) + railties (= 7.1.3.2) rails-controller-testing (1.0.5) actionpack (>= 5.0.1.rc1) actionview (>= 5.0.1.rc1) @@ -536,9 +542,9 @@ GEM actionview (> 3.1) activesupport (> 3.1) railties (> 3.1) - railties (7.1.1) - actionpack (= 7.1.1) - activesupport (= 7.1.1) + railties (7.1.3.2) + actionpack (= 7.1.3.2) + activesupport (= 7.1.3.2) irb rackup (>= 1.0.0) rake (>= 12.2) @@ -550,7 +556,7 @@ GEM rb-inotify (0.10.1) ffi (~> 1.0) rb-readline (0.5.5) - rdoc (6.6.0) + rdoc (6.6.3.1) psych (>= 4.0.0) redis (5.0.8) redis-client (>= 0.17.0) @@ -573,7 +579,7 @@ GEM redis-store (1.10.0) redis (>= 4, < 6) regexp_parser (2.8.2) - reline (0.4.0) + reline (0.4.3) io-console (~> 0.5) representable (3.2.0) declarative (< 0.1.0) @@ -635,7 +641,7 @@ GEM parser (>= 3.2.1.0) ruby-progressbar (1.13.0) ruby-rc4 (0.1.5) - ruby-vips (2.2.0) + ruby-vips (2.2.1) ffi (~> 1.12) ruby2_keywords (0.0.5) rubyzip (2.3.2) @@ -701,11 +707,11 @@ GEM sprockets (>= 3.0.0) ssrf_filter (1.1.2) statesman (11.0.0) - stringio (3.0.9) + stringio (3.1.0) temple (0.8.2) terser (1.1.20) execjs (>= 0.3.0, < 3) - thor (1.3.0) + thor (1.3.1) thread_safe (0.3.6) tilt (2.0.11) timecop (0.9.8) @@ -752,11 +758,12 @@ GEM railties (>= 3.0.7) xpath (3.2.0) nokogiri (~> 1.8) - zeitwerk (2.6.12) + zeitwerk (2.6.13) zxcvbn (0.1.10) PLATFORMS arm64-darwin-21 + arm64-darwin-23 x86_64-darwin-22 x86_64-linux @@ -770,14 +777,14 @@ DEPENDENCIES bootstrap-sass (~> 3.4) browser (= 2.4.0) capybara (~> 3.39) - carrierwave (~> 2.2.5) + carrierwave (~> 2.2.6) carrierwave-google-storage! ckeditor codeclimate_circle_ci_coverage coffee-rails (= 5.0) connection_pool country_select (~> 3.1) - curb (= 0.9.10) + curb (~> 1.0.5) database_cleaner-active_record decent_decoration decent_exposure @@ -798,7 +805,7 @@ DEPENDENCIES hiredis jbuilder (~> 2.10.1) jquery-rails (~> 4.4) - jquery-ui-rails (= 6.0.1) + jquery-ui-rails! js_cookie_rails (= 2.1.4) json (= 2.3.0) kaminari @@ -825,7 +832,7 @@ DEPENDENCIES rack-cors (~> 1.0) rack-mini-profiler (>= 0.10.1) rack-ssl-enforcer - rails (= 7.1.1) + rails (= 7.1.3.2) rails-controller-testing rails-healthcheck rails-html-sanitizer (>= 1.4.3) @@ -864,7 +871,7 @@ DEPENDENCIES wicked (~> 1.1) RUBY VERSION - ruby 3.2.2p53 + ruby 3.2.3p157 BUNDLED WITH 2.4.8 diff --git a/app/controllers/admin/lieutenants_controller.rb b/app/controllers/admin/lieutenants_controller.rb index 7e6bdcb22..a4c2be8ed 100644 --- a/app/controllers/admin/lieutenants_controller.rb +++ b/app/controllers/admin/lieutenants_controller.rb @@ -2,7 +2,7 @@ class Admin::LieutenantsController < Admin::UsersController before_action :permit_search_params, except: [:index] def index - params[:search] ||= LieutenantSearch::DEFAULT_SEARCH + params[:search] ||= LieutenantSearch.default_search params[:search].permit! authorize :lieutenant, :index? diff --git a/app/controllers/form/support_letters_controller.rb b/app/controllers/form/support_letters_controller.rb index 673f6039c..cd0a41211 100644 --- a/app/controllers/form/support_letters_controller.rb +++ b/app/controllers/form/support_letters_controller.rb @@ -31,7 +31,7 @@ def new def destroy # safeguard for the case when not a user tries to delete a letter - return if current_assessor || current_leutenant + return if current_assessor || current_lieutenant if @support_letter.destroy remove_support_letter_from_document! diff --git a/app/controllers/lieutenant/lieutenants_controller.rb b/app/controllers/lieutenant/lieutenants_controller.rb index 7ff9706ff..4a23f3be5 100644 --- a/app/controllers/lieutenant/lieutenants_controller.rb +++ b/app/controllers/lieutenant/lieutenants_controller.rb @@ -5,7 +5,7 @@ class Lieutenant::LieutenantsController < Lieutenant::BaseController def index authorize :lieutenant, :index? - params[:search] ||= LieutenantSearch::DEFAULT_SEARCH + params[:search] ||= LieutenantSearch.default_search params[:search].permit! @search = LieutenantSearch.new(Lieutenant.from_county(current_lieutenant.ceremonial_county)) diff --git a/app/search/lieutenant_search.rb b/app/search/lieutenant_search.rb index 4f5bdfc9e..40e57d162 100644 --- a/app/search/lieutenant_search.rb +++ b/app/search/lieutenant_search.rb @@ -1,11 +1,48 @@ class LieutenantSearch < Search - DEFAULT_SEARCH = { - sort: "full_name" - } - include FullNameSort + def self.default_search + { + sort: "full_name", + search_filter: { + assigned_ceremonial_county: LieutenantSearch.ceremonial_county_options.map(&:second) + } + } + end + + + def filter_by_assigned_ceremonial_county(scoped_results, value) + value = value.map do |v| + v == "not_assigned" ? nil : v + end + scoped_results.where(ceremonial_county_id: value) + end + def sort_by_ceremonial_county_name(scoped_results, desc = false) scoped_results.joins(:ceremonial_county).order("ceremonial_counties.name #{sort_order(desc)}") end + + class << self + def ceremonial_county_options + collection_mapping(county_options) + end + + private + + def collection_mapping(options) + options.map do |k, v| + [v[:label], k] + end + end + + def county_options + options = Hash[not_assigned: { label: "Not assigned" }] + + CeremonialCounty.ordered.collect do |county| + options[county.id] = { label: county.name } + end + + options + end + end end diff --git a/app/views/admin/lieutenants/index.html.slim b/app/views/admin/lieutenants/index.html.slim new file mode 100644 index 000000000..6525259f8 --- /dev/null +++ b/app/views/admin/lieutenants/index.html.slim @@ -0,0 +1,51 @@ +.dashboard + h1.govuk-heading-xl + | Users + = simple_form_for @search, url: "#", method: :get, as: :search, html: { class: "search-form" } do |f| + = render 'admin/users/navigation' do + .govuk-tabs__panel + .govuk-grid-row + p.govuk-body-l.govuk-grid-column-two-thirds class="govuk-!-font-weight-bold" + | Search Lieutenancy office users + .govuk-grid-row + .govuk-grid-column-one-third + .form-group.search-input + = f.input :query, label: "Name", input_html: { type: "search" } + .govuk-grid-column-two-third + .form-group.search-input + = f.simple_fields_for [:filters, @search.filters] do |g| + = render "shared/form_answers/filters/assigned_lieutenancy_filter", g: g, options: LieutenantSearch.ceremonial_county_options + .govuk-button-group + = f.submit "Search", class: 'govuk-button' + = link_to "Clear search", + [:admin, controller_name.to_sym], + class: "govuk-button govuk-button--secondary", + role: "button", + aria: { label: "Clear search" } + .govuk-grid-row + = render "shared/users/search_count" + .govuk-button-group + - if action_name == "deleted" + = link_to "Show active users", + admin_lieutenants_path, + class: "new-user govuk-button pull-right", + role: "button", + aria: { label: "Show active users" } + + - else + = link_to "Show deleted users", + deleted_admin_lieutenants_path, + class: "new-user govuk-button pull-right", + role: "button", + aria: { label: "Show deleted users" } + + = link_to public_send("new_admin_#{controller_name.singularize}_path", search: params[:search], page: params[:page]), class: 'new-user govuk-button pull-right', role: 'button' do + = t("admin.users.new_button.#{controller_name}") + .clear + + = render 'list', resources: @resources, f: f + + .govuk-grid-row + .col-xs-12.text-right + = paginate @resources + .clear diff --git a/app/views/admin/users/index.html.slim b/app/views/admin/users/index.html.slim index 2c43e9238..9c98c5197 100644 --- a/app/views/admin/users/index.html.slim +++ b/app/views/admin/users/index.html.slim @@ -18,21 +18,6 @@ .govuk-grid-row = render "shared/users/search_count" .govuk-button-group - - if controller_name == "lieutenants" - - if action_name == "deleted" - = link_to "Show active users", - admin_lieutenants_path, - class: "new-user govuk-button pull-right", - role: "button", - aria: { label: "Show active users" } - - - else - = link_to "Show deleted users", - deleted_admin_lieutenants_path, - class: "new-user govuk-button pull-right", - role: "button", - aria: { label: "Show deleted users" } - = link_to public_send("new_admin_#{controller_name.singularize}_path", search: params[:search], page: params[:page]), class: 'new-user govuk-button pull-right', role: 'button' do = t("admin.users.new_button.#{controller_name}") .clear diff --git a/db/seeds.rb b/db/seeds.rb index e8ea10515..d94faa7b4 100644 --- a/db/seeds.rb +++ b/db/seeds.rb @@ -3,7 +3,7 @@ unless Admin.exists? admin_args = { email: "admin@example.com", - password: SecureRandom.alphanumeric(12), + password: SecureRandom.alphanumeric(14), first_name: "First name", last_name: "Last name", confirmed_at: DateTime.now @@ -17,7 +17,7 @@ assessor_args = { email: "assessor@example.com", sub_group: "sub_group_1", - password: SecureRandom.alphanumeric(12), + password: SecureRandom.alphanumeric(14), first_name: "First name", last_name: "Last name", confirmed_at: DateTime.now diff --git a/db/structure.sql b/db/structure.sql index 99cd08162..0fae4c66c 100644 --- a/db/structure.sql +++ b/db/structure.sql @@ -9,6 +9,13 @@ SET xmloption = content; SET client_min_messages = warning; SET row_security = off; +-- +-- Name: public; Type: SCHEMA; Schema: -; Owner: - +-- + +-- *not* creating schema, since initdb creates it + + -- -- Name: hstore; Type: EXTENSION; Schema: -; Owner: - -- @@ -44,6 +51,7 @@ CREATE TABLE public.accounts ( -- CREATE SEQUENCE public.accounts_id_seq + AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -132,6 +140,7 @@ CREATE TABLE public.admins ( -- CREATE SEQUENCE public.admins_id_seq + AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -174,7 +183,8 @@ CREATE TABLE public.assessor_assignments ( editable_id integer, assessed_at timestamp without time zone, locked_at timestamp without time zone, - award_year_id integer + award_year_id integer, + status character varying ); @@ -183,6 +193,7 @@ CREATE TABLE public.assessor_assignments ( -- CREATE SEQUENCE public.assessor_assignments_id_seq + AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -238,6 +249,7 @@ CREATE TABLE public.assessors ( -- CREATE SEQUENCE public.assessors_id_seq + AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -273,6 +285,7 @@ CREATE TABLE public.audit_logs ( -- CREATE SEQUENCE public.audit_logs_id_seq + AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -309,6 +322,7 @@ CREATE TABLE public.award_years ( -- CREATE SEQUENCE public.award_years_id_seq + AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -412,6 +426,7 @@ CREATE TABLE public.comments ( -- CREATE SEQUENCE public.comments_id_seq + AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -446,6 +461,7 @@ CREATE TABLE public.deadlines ( -- CREATE SEQUENCE public.deadlines_id_seq + AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -482,6 +498,7 @@ CREATE TABLE public.draft_notes ( -- CREATE SEQUENCE public.draft_notes_id_seq + AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -517,6 +534,7 @@ CREATE TABLE public.eligibilities ( -- CREATE SEQUENCE public.eligibilities_id_seq + AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -551,6 +569,7 @@ CREATE TABLE public.email_notifications ( -- CREATE SEQUENCE public.email_notifications_id_seq + AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -588,6 +607,7 @@ CREATE TABLE public.feedbacks ( -- CREATE SEQUENCE public.feedbacks_id_seq + AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -627,6 +647,7 @@ CREATE TABLE public.form_answer_attachments ( -- CREATE SEQUENCE public.form_answer_attachments_id_seq + AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -657,6 +678,7 @@ CREATE TABLE public.form_answer_progresses ( -- CREATE SEQUENCE public.form_answer_progresses_id_seq + AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -692,6 +714,7 @@ CREATE TABLE public.form_answer_transitions ( -- CREATE SEQUENCE public.form_answer_transitions_id_seq + AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -760,6 +783,7 @@ CREATE TABLE public.form_answers ( -- CREATE SEQUENCE public.form_answers_id_seq + AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -801,7 +825,7 @@ CREATE TABLE public.group_leaders ( first_name character varying, last_name character varying, deleted boolean DEFAULT false NOT NULL, - form_answer_id integer + form_answer_id bigint ); @@ -941,6 +965,7 @@ CREATE TABLE public.palace_attendees ( -- CREATE SEQUENCE public.palace_attendees_id_seq + AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -975,6 +1000,7 @@ CREATE TABLE public.palace_invites ( -- CREATE SEQUENCE public.palace_invites_id_seq + AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -1008,6 +1034,7 @@ CREATE TABLE public.previous_wins ( -- CREATE SEQUENCE public.previous_wins_id_seq + AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -1045,6 +1072,7 @@ CREATE TABLE public.scans ( -- CREATE SEQUENCE public.scans_id_seq + AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -1085,6 +1113,7 @@ CREATE TABLE public.settings ( -- CREATE SEQUENCE public.settings_id_seq + AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -1117,6 +1146,7 @@ CREATE TABLE public.site_feedbacks ( -- CREATE SEQUENCE public.site_feedbacks_id_seq + AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -1153,6 +1183,7 @@ CREATE TABLE public.support_letter_attachments ( -- CREATE SEQUENCE public.support_letter_attachments_id_seq + AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -1198,6 +1229,7 @@ CREATE TABLE public.support_letters ( -- CREATE SEQUENCE public.support_letters_id_seq + AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -2497,6 +2529,7 @@ CREATE TABLE public.users ( -- CREATE SEQUENCE public.users_id_seq + AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -2528,6 +2561,7 @@ CREATE TABLE public.version_associations ( -- CREATE SEQUENCE public.version_associations_id_seq + AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -2564,6 +2598,7 @@ CREATE TABLE public.versions ( -- CREATE SEQUENCE public.versions_id_seq + AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -3572,6 +3607,14 @@ ALTER TABLE ONLY public.feedbacks ADD CONSTRAINT fk_rails_85a1d7f049 FOREIGN KEY (form_answer_id) REFERENCES public.form_answers(id); +-- +-- Name: group_leaders fk_rails_8781709c53; Type: FK CONSTRAINT; Schema: public; Owner: - +-- + +ALTER TABLE ONLY public.group_leaders + ADD CONSTRAINT fk_rails_8781709c53 FOREIGN KEY (form_answer_id) REFERENCES public.form_answers(id); + + -- -- Name: support_letter_attachments fk_rails_abd43a0510; Type: FK CONSTRAINT; Schema: public; Owner: - -- @@ -3611,230 +3654,232 @@ ALTER TABLE ONLY public.support_letters SET search_path TO "$user", public; INSERT INTO "schema_migrations" (version) VALUES -('20141124095215'), -('20141124112326'), -('20141124161532'), -('20141127094914'), -('20141127094940'), -('20141127095334'), -('20141128115405'), -('20141130191608'), -('20141201084521'), -('20141203090803'), -('20141203135504'), -('20141203140154'), -('20141203172220'), -('20141203182047'), -('20141204113405'), -('20141204113729'), -('20141204134014'), -('20141204161223'), -('20141208085751'), -('20141208105812'), -('20141209150903'), -('20141211103406'), -('20141211103425'), -('20141217112332'), -('20141219102035'), -('20150109142716'), -('20150112121539'), -('20150113154435'), -('20150113155731'), -('20150216232552'), -('20150217114106'), -('20150218132412'), -('20150218141547'), -('20150218150006'), -('20150219102528'), -('20150219125327'), -('20150223100419'), -('20150223115842'), -('20150223123005'), -('20150224115303'), -('20150224115503'), -('20150225090728'), -('20150225122104'), -('20150226141107'), -('20150227124243'), -('20150227125140'), -('20150227125226'), -('20150227125421'), -('20150227135432'), -('20150227141437'), -('20150228145247'), -('20150302092030'), -('20150302095528'), -('20150303120704'), -('20150303123415'), -('20150303152052'), -('20150303163541'), -('20150304075824'), -('20150304080108'), -('20150304084018'), -('20150304144532'), -('20150304145423'), -('20150304155948'), -('20150305084628'), -('20150305104844'), -('20150306122216'), -('20150309112759'), -('20150309114102'), -('20150309114427'), -('20150309143448'), -('20150310114756'), -('20150310124624'), -('20150310130907'), -('20150312105021'), -('20150312114528'), -('20150313090152'), -('20150317130146'), -('20150318123932'), -('20150318142055'), -('20150323132637'), -('20150323155826'), -('20150324104816'), -('20150324104913'), -('20150324163344'), -('20150325092930'), -('20150325133040'), -('20150325160755'), -('20150325201007'), -('20150326105117'), -('20150326170750'), -('20150326170823'), -('20150326221536'), -('20150327122904'), -('20150327190410'), -('20150331061542'), -('20150331180118'), -('20150406130916'), -('20150407122134'), -('20150407132835'), -('20150407134028'), -('20150407172016'), -('20150409082247'), -('20150409090140'), -('20150410091747'), -('20150410131705'), -('20150411113516'), -('20150411113532'), -('20150411113543'), -('20150411113558'), -('20150414102640'), -('20150414133524'), -('20150414141823'), -('20150414170238'), -('20150417153811'), -('20150427100604'), -('20150429171132'), -('20150429171704'), -('20150429171705'), -('20150504112318'), -('20150506150526'), -('20150507114157'), -('20150507143136'), -('20150515145647'), -('20150519123524'), -('20150617142142'), -('20150622173914'), -('20150907131321'), -('20150907145343'), -('20150907145955'), -('20150907161006'), -('20150907165227'), -('20150908105756'), -('20150908151417'), -('20150908163040'), -('20150908172247'), -('20150914114817'), -('20150917134236'), -('20150917135114'), -('20150922132151'), -('20151001144155'), -('20151005112348'), -('20151126154434'), -('20151126171347'), -('20151130145800'), -('20160106115349'), -('20160121080201'), -('20160204203037'), -('20160222153821'), -('20160222175452'), -('20160224174712'), -('20160302191539'), -('20160302191611'), -('20160302191628'), -('20160310140650'), -('20160311130931'), -('20160314141838'), -('20160323103504'), -('20160328090616'), -('20160328124213'), -('20160604141333'), -('20160607085426'), -('20160607172315'), -('20160621114955'), -('20160708131227'), -('20160727154722'), -('20160728174708'), -('20160728174732'), -('20160729082206'), -('20160729082616'), -('20160729090515'), -('20160729131756'), -('20160729132247'), -('20160729132552'), -('20160731102944'), -('20160731121716'), -('20160802111557'), -('20160804172537'), -('20160804175341'), -('20160804175513'), -('20160804175527'), -('20160906174550'), -('20161021111201'), -('20161021140457'), -('20161116104612'), -('20180820050136'), -('20181102125508'), -('20181102125923'), -('20190415133209'), -('20190422174739'), -('20190501154629'), -('20190501162430'), -('20190501163901'), -('20190513114859'), -('20190514192116'), -('20190515121928'), -('20200710150405'), -('20200714125921'), -('20200814122259'), -('20200918110854'), -('20200918151320'), -('20201023115307'), -('20210517075551'), -('20210615093659'), -('20210616135647'), -('20210629130552'), -('20210707081708'), -('20210707115136'), -('20210707122554'), -('20210803084421'), -('20210803120605'), -('20210806102135'), -('20210808194051'), -('20210809072025'), -('20210809072320'), -('20210809073242'), -('20210810173827'), -('20210810175339'), -('20210816072005'), -('20210817084427'), -('20210819140008'), -('20210826124140'), -('20210831085355'), -('20210928120530'), -('20211011083451'), -('20211013073349'), +('20240216144428'), +('20211214111643'), ('20211104074415'), -('20211214111643'); +('20211013073349'), +('20211011083451'), +('20210928120530'), +('20210831085355'), +('20210826124140'), +('20210819140008'), +('20210817084427'), +('20210816072005'), +('20210810175339'), +('20210810173827'), +('20210809073242'), +('20210809072320'), +('20210809072025'), +('20210808194051'), +('20210806102135'), +('20210803120605'), +('20210803084421'), +('20210707122554'), +('20210707115136'), +('20210707081708'), +('20210629130552'), +('20210616135647'), +('20210615093659'), +('20210517075551'), +('20201023115307'), +('20200918151320'), +('20200918110854'), +('20200814122259'), +('20200714125921'), +('20200710150405'), +('20190515121928'), +('20190514192116'), +('20190513114859'), +('20190501163901'), +('20190501162430'), +('20190501154629'), +('20190422174739'), +('20190415133209'), +('20181102125923'), +('20181102125508'), +('20180820050136'), +('20161116104612'), +('20161021140457'), +('20161021111201'), +('20160906174550'), +('20160804175527'), +('20160804175513'), +('20160804175341'), +('20160804172537'), +('20160802111557'), +('20160731121716'), +('20160731102944'), +('20160729132552'), +('20160729132247'), +('20160729131756'), +('20160729090515'), +('20160729082616'), +('20160729082206'), +('20160728174732'), +('20160728174708'), +('20160727154722'), +('20160708131227'), +('20160621114955'), +('20160607172315'), +('20160607085426'), +('20160604141333'), +('20160328124213'), +('20160328090616'), +('20160323103504'), +('20160314141838'), +('20160311130931'), +('20160310140650'), +('20160302191628'), +('20160302191611'), +('20160302191539'), +('20160224174712'), +('20160222175452'), +('20160222153821'), +('20160204203037'), +('20160121080201'), +('20160106115349'), +('20151130145800'), +('20151126171347'), +('20151126154434'), +('20151005112348'), +('20151001144155'), +('20150922132151'), +('20150917135114'), +('20150917134236'), +('20150914114817'), +('20150908172247'), +('20150908163040'), +('20150908151417'), +('20150908105756'), +('20150907165227'), +('20150907161006'), +('20150907145955'), +('20150907145343'), +('20150907131321'), +('20150622173914'), +('20150617142142'), +('20150519123524'), +('20150515145647'), +('20150507143136'), +('20150507114157'), +('20150506150526'), +('20150504112318'), +('20150429171705'), +('20150429171704'), +('20150429171132'), +('20150427100604'), +('20150417153811'), +('20150414170238'), +('20150414141823'), +('20150414133524'), +('20150414102640'), +('20150411113558'), +('20150411113543'), +('20150411113532'), +('20150411113516'), +('20150410131705'), +('20150410091747'), +('20150409090140'), +('20150409082247'), +('20150407172016'), +('20150407134028'), +('20150407132835'), +('20150407122134'), +('20150406130916'), +('20150331180118'), +('20150331061542'), +('20150327190410'), +('20150327122904'), +('20150326221536'), +('20150326170823'), +('20150326170750'), +('20150326105117'), +('20150325201007'), +('20150325160755'), +('20150325133040'), +('20150325092930'), +('20150324163344'), +('20150324104913'), +('20150324104816'), +('20150323155826'), +('20150323132637'), +('20150318142055'), +('20150318123932'), +('20150317130146'), +('20150313090152'), +('20150312114528'), +('20150312105021'), +('20150310130907'), +('20150310124624'), +('20150310114756'), +('20150309143448'), +('20150309114427'), +('20150309114102'), +('20150309112759'), +('20150306122216'), +('20150305104844'), +('20150305084628'), +('20150304155948'), +('20150304145423'), +('20150304144532'), +('20150304084018'), +('20150304080108'), +('20150304075824'), +('20150303163541'), +('20150303152052'), +('20150303123415'), +('20150303120704'), +('20150302095528'), +('20150302092030'), +('20150228145247'), +('20150227141437'), +('20150227135432'), +('20150227125421'), +('20150227125226'), +('20150227125140'), +('20150227124243'), +('20150226141107'), +('20150225122104'), +('20150225090728'), +('20150224115503'), +('20150224115303'), +('20150223123005'), +('20150223115842'), +('20150223100419'), +('20150219125327'), +('20150219102528'), +('20150218150006'), +('20150218141547'), +('20150218132412'), +('20150217114106'), +('20150216232552'), +('20150113155731'), +('20150113154435'), +('20150112121539'), +('20150109142716'), +('20141219102035'), +('20141217112332'), +('20141211103425'), +('20141211103406'), +('20141209150903'), +('20141208105812'), +('20141208085751'), +('20141204161223'), +('20141204134014'), +('20141204113729'), +('20141204113405'), +('20141203182047'), +('20141203172220'), +('20141203140154'), +('20141203135504'), +('20141203090803'), +('20141201084521'), +('20141130191608'), +('20141128115405'), +('20141127095334'), +('20141127094940'), +('20141127094914'), +('20141124161532'), +('20141124112326'), +('20141124095215'); + diff --git a/package-lock.json b/package-lock.json index 16c40cca3..506564367 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2593,13 +2593,13 @@ } }, "node_modules/body-parser": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", - "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", + "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", "dev": true, "dependencies": { "bytes": "3.1.2", - "content-type": "~1.0.4", + "content-type": "~1.0.5", "debug": "2.6.9", "depd": "2.0.0", "destroy": "1.2.0", @@ -2607,7 +2607,7 @@ "iconv-lite": "0.4.24", "on-finished": "2.4.1", "qs": "6.11.0", - "raw-body": "2.5.1", + "raw-body": "2.5.2", "type-is": "~1.6.18", "unpipe": "1.0.0" }, @@ -2652,21 +2652,6 @@ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, - "node_modules/body-parser/node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "dev": true, - "dependencies": { - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/bonjour-service": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.1.1.tgz", @@ -3202,9 +3187,9 @@ "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" }, "node_modules/cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", "dev": true, "engines": { "node": ">= 0.6" @@ -3966,17 +3951,17 @@ "dev": true }, "node_modules/express": { - "version": "4.18.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", - "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", + "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", "dev": true, "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.20.1", + "body-parser": "1.20.2", "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.5.0", + "cookie": "0.6.0", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "2.0.0", @@ -4028,21 +4013,6 @@ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, - "node_modules/express/node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "dev": true, - "dependencies": { - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -4154,9 +4124,9 @@ } }, "node_modules/follow-redirects": { - "version": "1.15.5", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", - "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==", + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", "dev": true, "funding": [ { @@ -4837,9 +4807,9 @@ } }, "node_modules/ip": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", - "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.1.tgz", + "integrity": "sha512-lJUL9imLTNi1ZfXT+DU6rBBdbiKGBuay9B6xGSPVjUeQwaH1RIGqef8RZkUtHioLmSNpPR5M4HVKJGm1j8FWVQ==" }, "node_modules/ipaddr.js": { "version": "1.9.1", @@ -7257,6 +7227,21 @@ "node": ">=6" } }, + "node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dev": true, + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/quick-lru": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", @@ -7283,9 +7268,9 @@ } }, "node_modules/raw-body": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", "dev": true, "dependencies": { "bytes": "3.1.2", @@ -8874,9 +8859,9 @@ } }, "node_modules/webpack-dev-middleware": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", - "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz", + "integrity": "sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==", "dev": true, "dependencies": { "colorette": "^2.0.10", @@ -11196,13 +11181,13 @@ "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" }, "body-parser": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", - "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", + "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", "dev": true, "requires": { "bytes": "3.1.2", - "content-type": "~1.0.4", + "content-type": "~1.0.5", "debug": "2.6.9", "depd": "2.0.0", "destroy": "1.2.0", @@ -11210,7 +11195,7 @@ "iconv-lite": "0.4.24", "on-finished": "2.4.1", "qs": "6.11.0", - "raw-body": "2.5.1", + "raw-body": "2.5.2", "type-is": "~1.6.18", "unpipe": "1.0.0" }, @@ -11244,15 +11229,6 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true - }, - "qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "dev": true, - "requires": { - "side-channel": "^1.0.4" - } } } }, @@ -11647,9 +11623,9 @@ "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" }, "cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", "dev": true }, "cookie-signature": { @@ -12184,17 +12160,17 @@ "dev": true }, "express": { - "version": "4.18.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", - "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", + "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", "dev": true, "requires": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.20.1", + "body-parser": "1.20.2", "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.5.0", + "cookie": "0.6.0", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "2.0.0", @@ -12242,15 +12218,6 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true - }, - "qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "dev": true, - "requires": { - "side-channel": "^1.0.4" - } } } }, @@ -12343,9 +12310,9 @@ "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==" }, "follow-redirects": { - "version": "1.15.5", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", - "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==", + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", "dev": true }, "foreground-child": { @@ -12838,9 +12805,9 @@ "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==" }, "ip": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", - "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.1.tgz", + "integrity": "sha512-lJUL9imLTNi1ZfXT+DU6rBBdbiKGBuay9B6xGSPVjUeQwaH1RIGqef8RZkUtHioLmSNpPR5M4HVKJGm1j8FWVQ==" }, "ipaddr.js": { "version": "1.9.1", @@ -14573,6 +14540,15 @@ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==" }, + "qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dev": true, + "requires": { + "side-channel": "^1.0.4" + } + }, "quick-lru": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", @@ -14593,9 +14569,9 @@ "dev": true }, "raw-body": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", "dev": true, "requires": { "bytes": "3.1.2", @@ -15769,9 +15745,9 @@ } }, "webpack-dev-middleware": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", - "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz", + "integrity": "sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==", "dev": true, "requires": { "colorette": "^2.0.10", diff --git a/yarn.lock b/yarn.lock index 0f471f98f..a77e33029 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1442,12 +1442,12 @@ binary-extensions@^2.0.0: version "2.2.0" resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" -body-parser@1.20.1: - version "1.20.1" - resolved "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz" +body-parser@1.20.2: + version "1.20.2" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.2.tgz#6feb0e21c4724d06de7ff38da36dad4f57a747fd" dependencies: bytes "3.1.2" - content-type "~1.0.4" + content-type "~1.0.5" debug "2.6.9" depd "2.0.0" destroy "1.2.0" @@ -1455,7 +1455,7 @@ body-parser@1.20.1: iconv-lite "0.4.24" on-finished "2.4.1" qs "6.11.0" - raw-body "2.5.1" + raw-body "2.5.2" type-is "~1.6.18" unpipe "1.0.0" @@ -1752,7 +1752,7 @@ content-disposition@0.5.4: dependencies: safe-buffer "5.2.1" -content-type@~1.0.4: +content-type@~1.0.4, content-type@~1.0.5: version "1.0.5" resolved "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz" @@ -1764,9 +1764,9 @@ cookie-signature@1.0.6: version "1.0.6" resolved "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz" -cookie@0.5.0: - version "0.5.0" - resolved "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz" +cookie@0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.6.0.tgz#2798b04b071b0ecbff0dbb62a505a8efa4e19051" core-js-compat@^3.31.0, core-js-compat@^3.33.1: version "3.33.3" @@ -2129,15 +2129,15 @@ exponential-backoff@^3.1.1: resolved "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.1.tgz" express@^4.17.3: - version "4.18.2" - resolved "https://registry.npmjs.org/express/-/express-4.18.2.tgz" + version "4.19.2" + resolved "https://registry.yarnpkg.com/express/-/express-4.19.2.tgz#e25437827a3aa7f2a827bc8171bbbb664a356465" dependencies: accepts "~1.3.8" array-flatten "1.1.1" - body-parser "1.20.1" + body-parser "1.20.2" content-disposition "0.5.4" content-type "~1.0.4" - cookie "0.5.0" + cookie "0.6.0" cookie-signature "1.0.6" debug "2.6.9" depd "2.0.0" @@ -2220,8 +2220,8 @@ flat@^5.0.2: resolved "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz" follow-redirects@^1.0.0: - version "1.15.5" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.5.tgz#54d4d6d062c0fa7d9d17feb008461550e3ba8020" + version "1.15.6" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.6.tgz#7f815c0cda4249c74ff09e95ef97c23b5fd0399b" foreground-child@^3.1.0: version "3.1.1" @@ -2592,8 +2592,8 @@ interpret@^2.2.0: resolved "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz" ip@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz" + version "2.0.1" + resolved "https://registry.yarnpkg.com/ip/-/ip-2.0.1.tgz#e8f3595d33a3ea66490204234b77636965307105" ipaddr.js@1.9.1: version "1.9.1" @@ -3657,9 +3657,9 @@ range-parser@^1.2.1, range-parser@~1.2.1: version "1.2.1" resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz" -raw-body@2.5.1: - version "2.5.1" - resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz" +raw-body@2.5.2: + version "2.5.2" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.2.tgz#99febd83b90e08975087e8f1f9419a149366b68a" dependencies: bytes "3.1.2" http-errors "2.0.0" @@ -4446,8 +4446,8 @@ webpack-cli@^4.2.0, webpack-cli@^4.8.0: webpack-merge "^5.7.3" webpack-dev-middleware@^5.3.1: - version "5.3.3" - resolved "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz" + version "5.3.4" + resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz#eb7b39281cbce10e104eb2b8bf2b63fce49a3517" dependencies: colorette "^2.0.10" memfs "^3.4.3"