From da4dc19a15aadd53d9fa9b7a07f5f73e1e330286 Mon Sep 17 00:00:00 2001 From: Laura Jaime Date: Fri, 24 Apr 2026 11:47:33 +0200 Subject: [PATCH 01/11] Dockerize app --- .dockerignore | 45 +++++++++ .gitignore | 3 +- Dockerfile | 166 ++++++++++++++++++++++++++++++- config/puma.example.rb | 18 ++++ docker/init.d/fix_permissions.sh | 3 + docker/run-web_service.sh | 10 ++ docker/start_sge_plus.sh | 62 ++++++++++++ 7 files changed, 305 insertions(+), 2 deletions(-) create mode 100644 .dockerignore create mode 100644 config/puma.example.rb create mode 100644 docker/init.d/fix_permissions.sh create mode 100755 docker/run-web_service.sh create mode 100755 docker/start_sge_plus.sh diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 00000000..cd762af7 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,45 @@ +# Git internals +.git +.gitignore +.gitattributes + +# Documentation +*.md +LICENSE-AGPLv3.txt + +# Development and CI tooling +spec/ +decidim-signature_collection/spec/ +.github/ +Procfile.dev +docker-compose*.yml + +# Secrets — must NEVER be baked into the image +config/application.yml +config/master.key +.env +*.env + +# Pre-built JS assets — rebuilt fresh inside the Dockerfile +/public/decidim-packs/ +/public/packs-test/ +/public/sw.js +/public/sw.js.gz +/public/sw.js.map + +# Bundler and gem cache from local development / CI +.bundle/ +vendor/bundle/ + +# Node modules (reinstalled inside the Dockerfile) +node_modules/ + +# Runtime data +/log/* +!/log/.keep +/tmp/* +!/tmp/.keep +!/tmp/pids/ +!/tmp/pids/.keep +/storage/* +!/storage/.keep diff --git a/.gitignore b/.gitignore index 6b41e772..da3f74be 100644 --- a/.gitignore +++ b/.gitignore @@ -39,6 +39,7 @@ .env .envrc .rbenv-vars +docker/*.env # Ignore the files and folders generated through Webpack /public/decidim-packs @@ -64,4 +65,4 @@ decidim-signature_collection/spec/decidim_dummy_app/ .byebug_history .DS_Store -/config/application.yml \ No newline at end of file +/config/application.yml diff --git a/Dockerfile b/Dockerfile index 4a176468..bd37a622 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1 +1,165 @@ -FROM decidim/decidim:0.30.1 +ARG OS_VERSION=slim-bookworm +ARG RUBY_IMAGE_VERSION=3.3.4 + +FROM ruby:${RUBY_IMAGE_VERSION}-${OS_VERSION} + +ARG RUBYGEMS_VERSION=3.3.22 +ARG BUNDLER_VERSION=2.6.5 +ARG NODE_VERSION=18.17.1 + +ENV DEBIAN_FRONTEND=noninteractive + +ENV HOME=/var/www +ENV APP_HOME=$HOME/sge_plus + +# Force Madrid's timezone +ENV TZ=Europe/Madrid +RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone + +# Install system dependencies +RUN apt -qq update && apt upgrade -y +RUN apt -qq install -y \ + build-essential \ + graphviz \ + imagemagick \ + libicu-dev \ + libpq-dev \ + gettext-base \ + tzdata \ + vim \ + locales \ + p7zip \ + ca-certificates \ + curl \ + cron \ + python3 \ + git \ + icu-devtools \ + zlib1g-dev \ + # required by wkhtmltopdf + xfonts-base \ + xfonts-75dpi \ + fontconfig \ + libjpeg62-turbo \ + libxrender1 \ + xfonts-encodings \ + xfonts-utils \ + libx11-6 \ + libxext6 \ + && apt install -y --no-install-recommends libjemalloc2 + +ENV LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libjemalloc.so.2 +ENV MALLOC_CONF='dirty_decay_ms:1000,narenas:2,background_thread:true' + +# Install wkhtmltopdf +RUN curl -L -o wkhtmltox.deb https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-2/wkhtmltox_0.12.6.1-2.bullseye_amd64.deb \ + && dpkg -i wkhtmltox.deb || true \ + && apt install -f -y \ + && rm wkhtmltox.deb + +# Define volumes +VOLUME $APP_HOME/storage +VOLUME $APP_HOME/log + +# Configure init scripts +RUN mkdir -p /etc/my_init.d +ADD docker/init.d/fix_permissions.sh /etc/my_init.d/fix_permissions.sh +##########ADD docker/init.d/delayed_job.sh /etc/my_init.d/delayed_job.sh +RUN chmod +x /etc/my_init.d/*.sh + +############################## +# Update Ruby ecosystem +############################## +RUN gem update --system $RUBYGEMS_VERSION && update_rubygems +RUN gem install bundler:$BUNDLER_VERSION \ + && gem install stringio:3.1.7 + +############################## +# Install NodeJs & Yarn +############################## +ENV NODE_VERSION=${NODE_VERSION} +RUN apt update +RUN apt -y install curl gnupg +RUN curl -fsSL https://deb.nodesource.com/node_18.x/pool/main/n/nodejs/nodejs_18.17.1-1nodesource1_amd64.deb -o nodejs_18.17.1.deb \ + && dpkg -i nodejs_${NODE_VERSION}.deb \ + && rm nodejs_${NODE_VERSION}.deb +RUN npm -v +RUN npm install -g yarn + +############################## +# Prepare working directory & other configurations +############################## + +# Create app dir +RUN mkdir -p $APP_HOME +RUN mkdir -p $APP_HOME/tmp + +WORKDIR $APP_HOME +RUN chown -R www-data:www-data $HOME +RUN chown -R www-data:www-data $APP_HOME +RUN chown -R www-data:www-data /var/www/.npm + +############################## +# Copy app code into docker image +############################## +ADD . $APP_HOME +RUN rm -Rf tmp/* +RUN chown -R www-data:www-data $APP_HOME + +USER www-data +ENV RAILS_ENV=production +WORKDIR $APP_HOME + +############################## +# Install Node dependencies +############################## +RUN rm -Rf node_modules/ && npm cache clean --force + +RUN npm install + +# ############################## +# # Install Bundler dependencies +# ############################## + +# ADD Gemfile Gemfile +# ADD Gemfile.lock Gemfile.lock + +RUN cp config/application.example.yml config/application.yml +RUN cp config/puma.example.rb config/puma.rb +RUN bundle config --without development test \ + && bundle config set deployment 'true' \ + && bundle install --jobs=10 + +# ############################## +# # Build app +# ############################## +ENV DISABLE_SPRING=1 +RUN RAILS_ENV=production SECRET_KEY_BASE=WHATEVER DATABASE_URL=postgresql://localhost/dummy DOCKER=1 bundle exec rake shakapacker:clobber shakapacker:compile + +# make sure nothing gets leacked +RUN rm config/application.yml && touch config/application.yml + +# Add a tmp folder for pids +RUN mkdir -p tmp/pids + +############################## +# Clean up APT and bundler when done. +############################## +USER root +# clean caches +RUN apt clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* + +# remove compilation tools +RUN apt -y remove build-essential libpq-dev libicu-dev curl python3 git icu-devtools zlib1g-dev + +USER www-data + +############################## +# RUN image as www-data +############################## +#################RUN chown -R www-data:www-data $APP_HOME +USER www-data +WORKDIR $APP_HOME + +# Print the UID and GID (only one CMD is allowed in a Dockerfile, it executes when the container starts) +CMD ["sh", "-c", "echo 'Inside Container:' && echo 'User: `$(whoami)` UID: `$(id -u)` GID: `$(id -g)`'"] diff --git a/config/puma.example.rb b/config/puma.example.rb new file mode 100644 index 00000000..7f264374 --- /dev/null +++ b/config/puma.example.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +max_threads_count = ENV.fetch("RAILS_MAX_THREADS", 5) +min_threads_count = ENV.fetch("RAILS_MIN_THREADS") { max_threads_count } +threads min_threads_count, max_threads_count + +worker_timeout 3600 if ENV.fetch("RAILS_ENV", "development") == "development" + +port ENV.fetch("PORT", 3000) + +environment ENV.fetch("RAILS_ENV", "development") + +pidfile ENV.fetch("PIDFILE", "tmp/pids/server.pid") + +# workers ENV.fetch("WEB_CONCURRENCY") { 2 } +# preload_app! + +plugin :tmp_restart diff --git a/docker/init.d/fix_permissions.sh b/docker/init.d/fix_permissions.sh new file mode 100644 index 00000000..95170224 --- /dev/null +++ b/docker/init.d/fix_permissions.sh @@ -0,0 +1,3 @@ +#!/bin/sh +chown -R www-data:www-data /var/www/sge_plus/storage +chown -R www-data:www-data /var/www/sge_plus/log diff --git a/docker/run-web_service.sh b/docker/run-web_service.sh new file mode 100755 index 00000000..83b8b4a5 --- /dev/null +++ b/docker/run-web_service.sh @@ -0,0 +1,10 @@ +#!/bin/sh +set -e + +APP_DIR="/var/www/sge_plus" + +echo "[run-web_service] Removing stale PID file if present..." +rm -f "$APP_DIR/tmp/pids/server.pid" + +echo "[run-web_service] Starting Puma..." +exec bundle exec puma -C config/puma.rb diff --git a/docker/start_sge_plus.sh b/docker/start_sge_plus.sh new file mode 100755 index 00000000..76349ade --- /dev/null +++ b/docker/start_sge_plus.sh @@ -0,0 +1,62 @@ +#!/bin/sh +# Script de despliegue PRODUCCIÓN (servidor Linux). +# Uso: sh docker/start_sge_plus.sh +# +# Prerequisitos en el servidor: +# - Código clonado en APP_DIR (git clone / git pull) +# - Fichero ENV_FILE relleno con credenciales reales +# - Directorios STORAGE_DIR y LOG_DIR creados +set -e + +IMAGE="sge_plus:latest" +CONTAINER="sge_plus" +APP_DIR="/srv/sge_plus/app" +ENV_FILE="/srv/sge_plus/prod.env" +STORAGE_DIR="/srv/sge_plus/storage" +LOG_DIR="/srv/sge_plus/log" +OFELIA_INI="/srv/sge_plus/ofelia.ini" + +echo "=== Construyendo imagen (compilando assets) ===" +docker build -t "$IMAGE" "$APP_DIR" + +echo "=== Ejecutando migraciones ===" +docker run --rm \ + --network host \ + --env-file "$ENV_FILE" \ + -e RAILS_ENV=production \ + "$IMAGE" \ + bundle exec rails db:migrate + +echo "=== Parando contenedor antiguo (si existe) ===" +docker stop "$CONTAINER" 2>/dev/null || true +docker rm "$CONTAINER" 2>/dev/null || true + +echo "=== Arrancando contenedor web ===" +docker run -d \ + --name "$CONTAINER" \ + --restart unless-stopped \ + --network host \ + --env-file "$ENV_FILE" \ + -e RAILS_ENV=production \ + -e PORT=3000 \ + -v "$STORAGE_DIR:/var/www/sge_plus/storage" \ + -v "$LOG_DIR:/var/www/sge_plus/log" \ + "$IMAGE" \ + /bin/sh -c "docker/run-web_service.sh" + +echo "=== Reiniciando Ofelia ===" +docker stop ofelia 2>/dev/null || true +docker rm ofelia 2>/dev/null || true + +docker run -d \ + --name ofelia \ + --restart unless-stopped \ + -v /var/run/docker.sock:/var/run/docker.sock:ro \ + -v "$OFELIA_INI:/etc/ofelia/config.ini:ro" \ + mcuadros/ofelia:latest \ + daemon --config=/etc/ofelia/config.ini + +echo "" +echo "=== Listo ===" +echo "Logs web: docker logs -f $CONTAINER" +echo "Logs crons: docker logs -f ofelia" From f455a56f4b066f189f1a5f9cfebdac0e45c8f6e7 Mon Sep 17 00:00:00 2001 From: Laura Jaime Date: Fri, 24 Apr 2026 12:03:17 +0200 Subject: [PATCH 02/11] Upgrade to Decidim 0.30.4 --- Gemfile | 2 +- Gemfile.lock | 156 +++++++++--------- .../api/docs/object/candidacytype/index.html | 6 - .../api/docs/query/candidaciestype/index.html | 6 - .../docs/query/candidaciestypes/index.html | 6 - ...vert_private_exports_id_to_uuid.decidim.rb | 56 +++++++ db/schema.rb | 7 +- package-lock.json | 113 +++++++------ package.json | 14 +- 9 files changed, 203 insertions(+), 163 deletions(-) create mode 100644 db/migrate/20260424100041_convert_private_exports_id_to_uuid.decidim.rb diff --git a/Gemfile b/Gemfile index 106bceb2..8ff66654 100644 --- a/Gemfile +++ b/Gemfile @@ -4,7 +4,7 @@ source "https://rubygems.org" ruby RUBY_VERSION -DECIDIM_VERSION = "0.30.3" +DECIDIM_VERSION = "0.30.4" gem "decidim", DECIDIM_VERSION gem "decidim-core", DECIDIM_VERSION diff --git a/Gemfile.lock b/Gemfile.lock index bc32bd76..ea8ef298 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -144,57 +144,57 @@ GEM date_validator (0.12.0) activemodel (>= 3) activesupport (>= 3) - decidim (0.30.3) - decidim-accountability (= 0.30.3) - decidim-admin (= 0.30.3) - decidim-api (= 0.30.3) - decidim-assemblies (= 0.30.3) - decidim-blogs (= 0.30.3) - decidim-budgets (= 0.30.3) - decidim-comments (= 0.30.3) - decidim-core (= 0.30.3) - decidim-debates (= 0.30.3) - decidim-forms (= 0.30.3) - decidim-generators (= 0.30.3) - decidim-meetings (= 0.30.3) - decidim-pages (= 0.30.3) - decidim-participatory_processes (= 0.30.3) - decidim-proposals (= 0.30.3) - decidim-sortitions (= 0.30.3) - decidim-surveys (= 0.30.3) - decidim-system (= 0.30.3) - decidim-verifications (= 0.30.3) - decidim-accountability (0.30.3) - decidim-comments (= 0.30.3) - decidim-core (= 0.30.3) - decidim-admin (0.30.3) + decidim (0.30.4) + decidim-accountability (= 0.30.4) + decidim-admin (= 0.30.4) + decidim-api (= 0.30.4) + decidim-assemblies (= 0.30.4) + decidim-blogs (= 0.30.4) + decidim-budgets (= 0.30.4) + decidim-comments (= 0.30.4) + decidim-core (= 0.30.4) + decidim-debates (= 0.30.4) + decidim-forms (= 0.30.4) + decidim-generators (= 0.30.4) + decidim-meetings (= 0.30.4) + decidim-pages (= 0.30.4) + decidim-participatory_processes (= 0.30.4) + decidim-proposals (= 0.30.4) + decidim-sortitions (= 0.30.4) + decidim-surveys (= 0.30.4) + decidim-system (= 0.30.4) + decidim-verifications (= 0.30.4) + decidim-accountability (0.30.4) + decidim-comments (= 0.30.4) + decidim-core (= 0.30.4) + decidim-admin (0.30.4) active_link_to (~> 1.0) - decidim-core (= 0.30.3) + decidim-core (= 0.30.4) devise (~> 4.7) devise-i18n (~> 1.2) devise_invitable (~> 2.0, >= 2.0.9) - decidim-api (0.30.3) - decidim-core (= 0.30.3) + decidim-api (0.30.4) + decidim-core (= 0.30.4) graphql (~> 2.4.0) graphql-docs (~> 5.0) rack-cors (~> 1.0) - decidim-assemblies (0.30.3) - decidim-core (= 0.30.3) - decidim-blogs (0.30.3) - decidim-admin (= 0.30.3) - decidim-comments (= 0.30.3) - decidim-core (= 0.30.3) - decidim-budgets (0.30.3) - decidim-comments (= 0.30.3) - decidim-core (= 0.30.3) + decidim-assemblies (0.30.4) + decidim-core (= 0.30.4) + decidim-blogs (0.30.4) + decidim-admin (= 0.30.4) + decidim-comments (= 0.30.4) + decidim-core (= 0.30.4) + decidim-budgets (0.30.4) + decidim-comments (= 0.30.4) + decidim-core (= 0.30.4) decidim-cdtb (0.5.5) decidim (>= 0.28.0) rails (>= 6) ruby-progressbar - decidim-comments (0.30.3) - decidim-core (= 0.30.3) + decidim-comments (0.30.4) + decidim-core (= 0.30.4) redcarpet (~> 3.5, >= 3.5.1) - decidim-core (0.30.3) + decidim-core (0.30.4) active_link_to (~> 1.0) acts_as_list (~> 1.0) batch-loader (~> 2.0) @@ -246,19 +246,19 @@ GEM valid_email2 (~> 7.0) web-push (~> 3.0) wisper (~> 3.0) - decidim-debates (0.30.3) - decidim-comments (= 0.30.3) - decidim-core (= 0.30.3) - decidim-dev (0.30.3) + decidim-debates (0.30.4) + decidim-comments (= 0.30.4) + decidim-core (= 0.30.4) + decidim-dev (0.30.4) bullet (~> 8.0.0) byebug (~> 11.0) capybara (~> 3.39) - decidim-admin (= 0.30.3) - decidim-api (= 0.30.3) - decidim-comments (= 0.30.3) - decidim-core (= 0.30.3) - decidim-generators (= 0.30.3) - decidim-verifications (= 0.30.3) + decidim-admin (= 0.30.4) + decidim-api (= 0.30.4) + decidim-comments (= 0.30.4) + decidim-core (= 0.30.4) + decidim-generators (= 0.30.4) + decidim-verifications (= 0.30.4) erb_lint (~> 0.8.0) factory_bot_rails (~> 6.2) faker (~> 3.2) @@ -291,39 +291,39 @@ GEM w3c_rspec_validators (~> 0.3.0) webmock (~> 3.18) wisper-rspec (~> 1.0) - decidim-forms (0.30.3) - decidim-core (= 0.30.3) - decidim-generators (0.30.3) - decidim-core (= 0.30.3) - decidim-meetings (0.30.3) - decidim-core (= 0.30.3) - decidim-forms (= 0.30.3) + decidim-forms (0.30.4) + decidim-core (= 0.30.4) + decidim-generators (0.30.4) + decidim-core (= 0.30.4) + decidim-meetings (0.30.4) + decidim-core (= 0.30.4) + decidim-forms (= 0.30.4) icalendar (~> 2.5) - decidim-pages (0.30.3) - decidim-core (= 0.30.3) - decidim-participatory_processes (0.30.3) - decidim-core (= 0.30.3) - decidim-proposals (0.30.3) - decidim-comments (= 0.30.3) - decidim-core (= 0.30.3) + decidim-pages (0.30.4) + decidim-core (= 0.30.4) + decidim-participatory_processes (0.30.4) + decidim-core (= 0.30.4) + decidim-proposals (0.30.4) + decidim-comments (= 0.30.4) + decidim-core (= 0.30.4) doc2text (~> 0.4.7) redcarpet (~> 3.5, >= 3.5.1) - decidim-sortitions (0.30.3) - decidim-admin (= 0.30.3) - decidim-comments (= 0.30.3) - decidim-core (= 0.30.3) - decidim-proposals (= 0.30.3) - decidim-surveys (0.30.3) - decidim-core (= 0.30.3) - decidim-forms (= 0.30.3) - decidim-system (0.30.3) + decidim-sortitions (0.30.4) + decidim-admin (= 0.30.4) + decidim-comments (= 0.30.4) + decidim-core (= 0.30.4) + decidim-proposals (= 0.30.4) + decidim-surveys (0.30.4) + decidim-core (= 0.30.4) + decidim-forms (= 0.30.4) + decidim-system (0.30.4) active_link_to (~> 1.0) - decidim-core (= 0.30.3) + decidim-core (= 0.30.4) devise (~> 4.7) devise-i18n (~> 1.2) devise_invitable (~> 2.0, >= 2.0.9) - decidim-verifications (0.30.3) - decidim-core (= 0.30.3) + decidim-verifications (0.30.4) + decidim-core (= 0.30.4) declarative-builder (0.2.0) trailblazer-option (~> 0.1.0) declarative-option (0.1.0) @@ -830,10 +830,10 @@ DEPENDENCIES bootsnap (~> 1.7) brakeman (~> 7.0) byebug (~> 11.0) - decidim (= 0.30.3) + decidim (= 0.30.4) decidim-cdtb (~> 0.5.5) - decidim-core (= 0.30.3) - decidim-dev (= 0.30.3) + decidim-core (= 0.30.4) + decidim-dev (= 0.30.4) decidim-signature_collection! deface figjam (= 2.0.0) diff --git a/app/views/static/api/docs/object/candidacytype/index.html b/app/views/static/api/docs/object/candidacytype/index.html index 4a8e2abb..7e014981 100644 --- a/app/views/static/api/docs/object/candidacytype/index.html +++ b/app/views/static/api/docs/object/candidacytype/index.html @@ -74,12 +74,6 @@

Enable participants to undo their online signatures

-
- validateSmsCodeOnVotes (Boolean) -
-

Add SMS code validation step to signature process

-
-
createdAt (DateTime)
diff --git a/app/views/static/api/docs/query/candidaciestype/index.html b/app/views/static/api/docs/query/candidaciestype/index.html index 77f843ca..c793ee97 100644 --- a/app/views/static/api/docs/query/candidaciestype/index.html +++ b/app/views/static/api/docs/query/candidaciestype/index.html @@ -77,12 +77,6 @@

Enable participants to undo their online signatures

-
- validateSmsCodeOnVotes (Boolean) -
-

Add SMS code validation step to signature process

-
-
createdAt (DateTime)
diff --git a/app/views/static/api/docs/query/candidaciestypes/index.html b/app/views/static/api/docs/query/candidaciestypes/index.html index 7c081f44..43b32112 100644 --- a/app/views/static/api/docs/query/candidaciestypes/index.html +++ b/app/views/static/api/docs/query/candidaciestypes/index.html @@ -69,12 +69,6 @@

Enable participants to undo their online signatures

-
- validateSmsCodeOnVotes (Boolean) -
-

Add SMS code validation step to signature process

-
-
createdAt (DateTime)
diff --git a/db/migrate/20260424100041_convert_private_exports_id_to_uuid.decidim.rb b/db/migrate/20260424100041_convert_private_exports_id_to_uuid.decidim.rb new file mode 100644 index 00000000..01fc5471 --- /dev/null +++ b/db/migrate/20260424100041_convert_private_exports_id_to_uuid.decidim.rb @@ -0,0 +1,56 @@ +# frozen_string_literal: true + +# This migration comes from decidim (originally 20250819110800) +# This migration comes from decidim (originally 20250819110800) +class ConvertPrivateExportsIdToUuid < ActiveRecord::Migration[7.0] + def up + create_table :decidim_private_exports_new, force: :cascade do |t| + t.uuid :uuid, null: false + t.string :export_type, null: false + t.string :attached_to_type + t.integer :attached_to_id + t.string :file + t.string :content_type, null: false + t.string :file_size, null: false + t.datetime :expires_at + t.jsonb :metadata, default: {} + t.timestamps + + t.index [:uuid], name: "index_decidim_private_exports_on_uuid", unique: true + end + # Copy data from old table to new table + execute <<-SQL.squish + INSERT INTO decidim_private_exports_new (uuid, export_type, attached_to_type, attached_to_id, file, content_type, file_size, expires_at, metadata, created_at, updated_at) + SELECT id, export_type, attached_to_type, attached_to_id, file, content_type, file_size, NOW(), metadata, created_at, updated_at + FROM decidim_private_exports + SQL + + # Drop old table and rename new table + drop_table :decidim_private_exports + rename_table :decidim_private_exports_new, :decidim_private_exports + end + + def down + # Similar approach for rollback + create_table :decidim_private_exports_new, id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| + t.string :export_type, null: false + t.string :attached_to_type + t.integer :attached_to_id + t.string :file + t.string :content_type, null: false + t.string :file_size, null: false + t.datetime :expires_at + t.jsonb :metadata, default: {} + t.timestamps + end + + execute <<-SQL.squish + INSERT INTO decidim_private_exports_new (id, export_type, attached_to_type, attached_to_id, file, content_type, file_size, expires_at, metadata, created_at, updated_at) + SELECT uuid, export_type, attached_to_type, attached_to_id, file, content_type, file_size, expires_at, metadata, created_at, updated_at + FROM decidim_private_exports + SQL + + drop_table :decidim_private_exports + rename_table :decidim_private_exports_new, :decidim_private_exports + end +end diff --git a/db/schema.rb b/db/schema.rb index c3111557..614edd85 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,10 +10,11 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema[7.0].define(version: 2026_01_28_131233) do +ActiveRecord::Schema[7.0].define(version: 2026_04_24_100041) do # These are extensions that must be enabled in order to support this database enable_extension "ltree" enable_extension "pg_trgm" + enable_extension "pgcrypto" enable_extension "plpgsql" create_table "active_storage_attachments", force: :cascade do |t| @@ -1186,7 +1187,8 @@ t.index ["privatable_to_type", "privatable_to_id"], name: "space_privatable_to_privatable_id" end - create_table "decidim_private_exports", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| + create_table "decidim_private_exports", force: :cascade do |t| + t.uuid "uuid", null: false t.string "export_type", null: false t.string "attached_to_type" t.integer "attached_to_id" @@ -1197,6 +1199,7 @@ t.jsonb "metadata", default: {} t.datetime "created_at", null: false t.datetime "updated_at", null: false + t.index ["uuid"], name: "index_decidim_private_exports_on_uuid", unique: true end create_table "decidim_proposals_collaborative_draft_collaborator_requests", force: :cascade do |t| diff --git a/package-lock.json b/package-lock.json index 8f39088b..94522f4d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,15 +8,15 @@ "name": "decidim-development-app", "version": "0.1.0", "dependencies": { - "@decidim/browserslist-config": "^0.30.3", - "@decidim/core": "^0.30.3", - "@decidim/webpacker": "^0.30.3" + "@decidim/browserslist-config": "^0.30.8", + "@decidim/core": "^0.30.8", + "@decidim/webpacker": "^0.30.8" }, "devDependencies": { - "@decidim/dev": "^0.30.3", - "@decidim/eslint-config": "^0.30.3", - "@decidim/prettier-config": "^0.30.3", - "@decidim/stylelint-config": "^0.30.3" + "@decidim/dev": "^0.30.8", + "@decidim/eslint-config": "^0.30.8", + "@decidim/prettier-config": "^0.30.8", + "@decidim/stylelint-config": "^0.30.8" } }, "node_modules/@alloc/quick-lru": { @@ -2456,14 +2456,14 @@ } }, "node_modules/@decidim/browserslist-config": { - "version": "0.30.4", - "resolved": "https://registry.npmjs.org/@decidim/browserslist-config/-/browserslist-config-0.30.4.tgz", - "integrity": "sha512-JJ3rpiPxNfiYKvTAL2wIS3ACF6R+CWy/mHbxwzi+1vw+hRj/3HZqY9AXKwOaGvMtEq8yWPcv3ukos7gR+QWeZQ==" + "version": "0.30.8", + "resolved": "https://registry.npmjs.org/@decidim/browserslist-config/-/browserslist-config-0.30.8.tgz", + "integrity": "sha512-KqmKIDqOngtFsPj+3GrrsBSQzu0QclmgcvqnK+JGYPZfVZ/9gqOE6t/mgP17RILc8878269hzn2a26nzUvHA2w==" }, "node_modules/@decidim/core": { - "version": "0.30.4", - "resolved": "https://registry.npmjs.org/@decidim/core/-/core-0.30.4.tgz", - "integrity": "sha512-uZLRKMOsUiQv7+M9jhAgMCt/uPd5JpQ4YxIDUPdOS+/uGbLzm8x3HOVyyfCwU/j2ErLIPvfxF3TFpeFQ7hZx0A==", + "version": "0.30.8", + "resolved": "https://registry.npmjs.org/@decidim/core/-/core-0.30.8.tgz", + "integrity": "sha512-m3dzlHKDpRIgTbwQcqLBOcMulZ+YMnw5dVyZtjmbZVDkSMRjTZfQEnolxWc2IvKi2hnZTQF0SFk9jLdQC+9wiA==", "dependencies": { "@emoji-mart/data": "^1.1.2", "@rails/activestorage": "^7.0.8", @@ -2532,9 +2532,9 @@ } }, "node_modules/@decidim/dev": { - "version": "0.30.4", - "resolved": "https://registry.npmjs.org/@decidim/dev/-/dev-0.30.4.tgz", - "integrity": "sha512-h655v/mwCvmBpO17wLsm4bP3dAvi3FHNQR7HLYgrzKRUbErGYUpvkQMzcIl+vqIuTjjuA97D1gEVDLnbVtLC3Q==", + "version": "0.30.8", + "resolved": "https://registry.npmjs.org/@decidim/dev/-/dev-0.30.8.tgz", + "integrity": "sha512-4hLiTNrHQgofFmNRnE5CIj0a0YI8h8O09EbrCQPDp+sqVchCmU3kninCsxL5Ly2ei/ie5r5EYSilFByC7mGmMA==", "dev": true, "dependencies": { "@linthtml/linthtml": "^0.9.6", @@ -2543,9 +2543,9 @@ } }, "node_modules/@decidim/eslint-config": { - "version": "0.30.4", - "resolved": "https://registry.npmjs.org/@decidim/eslint-config/-/eslint-config-0.30.4.tgz", - "integrity": "sha512-d5aZ3DvegeztPMPeEnJT+Rv6p0+aL9OyqBNZXfALXfXkUBa7oIC3wcqX2nCbQtkNuOlSsqhvwa+SmEBldQKgCg==", + "version": "0.30.8", + "resolved": "https://registry.npmjs.org/@decidim/eslint-config/-/eslint-config-0.30.8.tgz", + "integrity": "sha512-TWnd+VZKl7V0Uf2VqYT3/lxOAClA/xRIVzrGW08yFoM53BDIt6QnU7fK4hNgMASUe0nG1L/cWSdHnyhfzAr6Lg==", "dev": true, "peerDependencies": { "eslint": "^8.7.0", @@ -2561,18 +2561,18 @@ } }, "node_modules/@decidim/prettier-config": { - "version": "0.30.4", - "resolved": "https://registry.npmjs.org/@decidim/prettier-config/-/prettier-config-0.30.4.tgz", - "integrity": "sha512-oOZG8Ld3e944FINP3TkuzxCUAkqOdmuxvaDUFumw+PcgA1Zun3+KpOiu4jEh4XDmrGb22TLddGrpYNhUZ3lbXQ==", + "version": "0.30.8", + "resolved": "https://registry.npmjs.org/@decidim/prettier-config/-/prettier-config-0.30.8.tgz", + "integrity": "sha512-5/mO8is36LnmDFtVlfCeUpCk31fXFn6lY2zS3n6QGx/xa70ZjJA8MNo3gIXx8xU2HclGeMpZqJt+VWA5GZ+Ygg==", "dev": true, "peerDependencies": { "prettier": "^2.3.2" } }, "node_modules/@decidim/stylelint-config": { - "version": "0.30.4", - "resolved": "https://registry.npmjs.org/@decidim/stylelint-config/-/stylelint-config-0.30.4.tgz", - "integrity": "sha512-nKE2ixlxf2pgC7zNKJcow+xRWLjmZqJRJ1N3JcrUsUdtX3mccPEk2ea+7SRsiNxQkXYdn5+W4nI+78twPSRp5A==", + "version": "0.30.8", + "resolved": "https://registry.npmjs.org/@decidim/stylelint-config/-/stylelint-config-0.30.8.tgz", + "integrity": "sha512-f3SGqI2/PhhEUnCGH47cBStIAegaRBaqgLF78PrSnbH7Fvd2LxyEjCQZI9V9oO3We+Gcc3EMhgsJ76Ukw34wEA==", "dev": true, "peerDependencies": { "stylelint": "^15.3.0", @@ -2580,9 +2580,9 @@ } }, "node_modules/@decidim/webpacker": { - "version": "0.30.4", - "resolved": "https://registry.npmjs.org/@decidim/webpacker/-/webpacker-0.30.4.tgz", - "integrity": "sha512-ma5yVP10sRj5aQKaHsHVWM/DM6wDMh/QKEk86876GsqgVc2hmnmTWLuQ3KlPYFCmSF0Nu5xejdCQbuwzO0Zp5A==", + "version": "0.30.8", + "resolved": "https://registry.npmjs.org/@decidim/webpacker/-/webpacker-0.30.8.tgz", + "integrity": "sha512-cWU8EFe2bclZeQtAuiRZRjyHvCgYtQdLspdBT/PoR1rF7INLOec7d2tprPLm8F17X6u1eXC1YxupevcOGjuy8w==", "dependencies": { "@rails/ujs": "^6.1.7", "@tailwindcss/typography": "^0.5.2", @@ -2611,7 +2611,7 @@ "style-loader": "^3.3.3", "tailwindcss": "^3.4.1", "terser-webpack-plugin": "^5.3.9", - "webpack": "^5.88.1", + "webpack": "~5.105.0", "webpack-assets-manifest": "^5.1.0", "webpack-cli": "^5.1.4", "webpack-dev-server": "^4.15.1", @@ -5712,9 +5712,9 @@ } }, "node_modules/acorn": { - "version": "8.15.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", - "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", + "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", "bin": { "acorn": "bin/acorn" }, @@ -8174,12 +8174,12 @@ } }, "node_modules/enhanced-resolve": { - "version": "5.18.4", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.4.tgz", - "integrity": "sha512-LgQMM4WXU3QI+SYgEc2liRgznaD5ojbmY3sb8LxyguVkIg5FxdpTkvk72te2R38/TGKxH634oLxXRGY6d7AP+Q==", + "version": "5.21.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.21.0.tgz", + "integrity": "sha512-otxSQPw4lkOZWkHpB3zaEQs6gWYEsmX4xQF68ElXC/TWvGxGMSGOvoNbaLXm6/cS/fSfHtsEdw90y20PCd+sCA==", "dependencies": { "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" + "tapable": "^2.3.3" }, "engines": { "node": ">=10.13.0" @@ -17350,9 +17350,9 @@ } }, "node_modules/tapable": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz", - "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.3.tgz", + "integrity": "sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==", "engines": { "node": ">=6" }, @@ -17415,14 +17415,13 @@ } }, "node_modules/terser-webpack-plugin": { - "version": "5.3.16", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.16.tgz", - "integrity": "sha512-h9oBFCWrq78NyWWVcSwZarJkZ01c2AyGrzs1crmHZO3QUg9D61Wu4NPjBy69n7JqylFF5y+CsUZYmYEIZ3mR+Q==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.5.0.tgz", + "integrity": "sha512-UYhptBwhWvfIjKd/UuFo6D8uq9xpGLDK+z8EDsj/zWhrTaH34cKEbrkMKfV5YWqGBvAYA3tlzZbs2R+qYrbQJA==", "dependencies": { "@jridgewell/trace-mapping": "^0.3.25", "jest-worker": "^27.4.5", "schema-utils": "^4.3.0", - "serialize-javascript": "^6.0.2", "terser": "^5.31.1" }, "engines": { @@ -17991,9 +17990,9 @@ "integrity": "sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==" }, "node_modules/watchpack": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.5.0.tgz", - "integrity": "sha512-e6vZvY6xboSwLz2GD36c16+O/2Z6fKvIf4pOXptw2rY9MVwE/TXc6RGqxD3I3x0a28lwBY7DE+76uTPSsBrrCA==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.5.1.tgz", + "integrity": "sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg==", "dependencies": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" @@ -18033,9 +18032,9 @@ "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" }, "node_modules/webpack": { - "version": "5.104.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.104.1.tgz", - "integrity": "sha512-Qphch25abbMNtekmEGJmeRUhLDbe+QfiWTiqpKYkpCOWY64v9eyl+KRRLmqOFA2AvKPpc9DC6+u2n76tQLBoaA==", + "version": "5.105.4", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.105.4.tgz", + "integrity": "sha512-jTywjboN9aHxFlToqb0K0Zs9SbBoW4zRUlGzI2tYNxVYcEi/IPpn+Xi4ye5jTLvX2YeLuic/IvxNot+Q1jMoOw==", "dependencies": { "@types/eslint-scope": "^3.7.7", "@types/estree": "^1.0.8", @@ -18043,11 +18042,11 @@ "@webassemblyjs/ast": "^1.14.1", "@webassemblyjs/wasm-edit": "^1.14.1", "@webassemblyjs/wasm-parser": "^1.14.1", - "acorn": "^8.15.0", + "acorn": "^8.16.0", "acorn-import-phases": "^1.0.3", "browserslist": "^4.28.1", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.17.4", + "enhanced-resolve": "^5.20.0", "es-module-lexer": "^2.0.0", "eslint-scope": "5.1.1", "events": "^3.2.0", @@ -18059,9 +18058,9 @@ "neo-async": "^2.6.2", "schema-utils": "^4.3.3", "tapable": "^2.3.0", - "terser-webpack-plugin": "^5.3.16", - "watchpack": "^2.4.4", - "webpack-sources": "^3.3.3" + "terser-webpack-plugin": "^5.3.17", + "watchpack": "^2.5.1", + "webpack-sources": "^3.3.4" }, "bin": { "webpack": "bin/webpack.js" @@ -18322,9 +18321,9 @@ } }, "node_modules/webpack-sources": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.3.3.tgz", - "integrity": "sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.4.0.tgz", + "integrity": "sha512-gHwIe1cgBvvfLeu1Yz/dcFpmHfKDVxxyqI+kzqmuxZED81z2ChxpyqPaWcNqigPywhaEke7AjSGga+kxY55gjQ==", "engines": { "node": ">=10.13.0" } diff --git a/package.json b/package.json index ca9cbbcf..51903333 100644 --- a/package.json +++ b/package.json @@ -2,16 +2,16 @@ "name": "decidim-development-app", "private": true, "dependencies": { - "@decidim/browserslist-config": "^0.30.3", - "@decidim/core": "^0.30.3", - "@decidim/webpacker": "^0.30.3" + "@decidim/browserslist-config": "^0.30.8", + "@decidim/core": "^0.30.8", + "@decidim/webpacker": "^0.30.8" }, "version": "0.1.0", "devDependencies": { - "@decidim/dev": "^0.30.3", - "@decidim/eslint-config": "^0.30.3", - "@decidim/prettier-config": "^0.30.3", - "@decidim/stylelint-config": "^0.30.3" + "@decidim/dev": "^0.30.8", + "@decidim/eslint-config": "^0.30.8", + "@decidim/prettier-config": "^0.30.8", + "@decidim/stylelint-config": "^0.30.8" }, "browserslist": [ "extends @decidim/browserslist-config" From 72ac1b68bde59700d06f550738c899fa8abd682d Mon Sep 17 00:00:00 2001 From: Laura Jaime Date: Fri, 24 Apr 2026 12:05:34 +0200 Subject: [PATCH 03/11] Upgrade to Decidim 0.30.5 --- Gemfile | 2 +- Gemfile.lock | 158 +- .../api/docs/directive/deprecated/index.html | 7 + .../api/docs/directive/include/index.html | 7 + .../static/api/docs/directive/index.html | 7 + .../api/docs/directive/oneof/index.html | 7 + .../static/api/docs/directive/skip/index.html | 7 + .../api/docs/directive/specifiedby/index.html | 7 + .../docs/enum/__directivelocation/index.html | 7 + .../api/docs/enum/__typekind/index.html | 7 + app/views/static/api/docs/enum/index.html | 7 + app/views/static/api/docs/index.html | 7 + .../input_object/categoryfilter/index.html | 7 + .../input_object/componentfilter/index.html | 7 + .../input_object/componentsort/index.html | 7 + .../static/api/docs/input_object/index.html | 7 + .../participatoryprocessfilter/index.html | 7 + .../participatoryprocesssort/index.html | 7 + .../docs/input_object/postfilter/index.html | 7 + .../api/docs/input_object/postsort/index.html | 7 + .../input_object/proposalfilter/index.html | 7 + .../docs/input_object/proposalsort/index.html | 7 + .../input_object/userentityfilter/index.html | 7 + .../input_object/userentitysort/index.html | 7 + .../amendableentityinterface/index.html | 7 + .../interface/amendableinterface/index.html | 7 + .../interface/attachableinterface/index.html | 7 + .../api/docs/interface/author/index.html | 7 + .../interface/authorableinterface/index.html | 7 + .../candidacytypeinterface/index.html | 7 + .../categoriescontainerinterface/index.html | 7 + .../coauthorableinterface/index.html | 7 + .../interface/commentableinterface/index.html | 8 + .../interface/componentinterface/index.html | 7 + .../interface/endorsableinterface/index.html | 7 + .../interface/fingerprintinterface/index.html | 7 + .../static/api/docs/interface/index.html | 7 + .../index.html | 7 + .../participatoryspaceinterface/index.html | 7 + .../index.html | 7 + .../questionnaireentityinterface/index.html | 7 + .../interface/scopableinterface/index.html | 7 + .../interface/servicesinterface/index.html | 7 + .../taxonomizableinterface/index.html | 7 + .../interface/timestampsinterface/index.html | 7 + .../interface/traceableinterface/index.html | 7 + .../api/docs/mutation/comment/index.html | 7 + .../api/docs/mutation/commentable/index.html | 7 + .../api/docs/object/__directive/index.html | 7 + .../api/docs/object/__enumvalue/index.html | 7 + .../static/api/docs/object/__field/index.html | 7 + .../api/docs/object/__inputvalue/index.html | 7 + .../api/docs/object/__schema/index.html | 7 + .../static/api/docs/object/__type/index.html | 7 + .../api/docs/object/accountability/index.html | 7 + .../api/docs/object/amendment/index.html | 7 + .../api/docs/object/answeroption/index.html | 7 + .../static/api/docs/object/area/index.html | 7 + .../api/docs/object/areatype/index.html | 7 + .../api/docs/object/assembliestype/index.html | 7 + .../api/docs/object/assembly/index.html | 7 + .../api/docs/object/attachment/index.html | 7 + .../static/api/docs/object/blogs/index.html | 7 + .../static/api/docs/object/budget/index.html | 7 + .../docs/object/budgetconnection/index.html | 7 + .../api/docs/object/budgetedge/index.html | 7 + .../static/api/docs/object/budgets/index.html | 7 + .../api/docs/object/candidacy/index.html | 7 + .../candidacycommitteemembertype/index.html | 7 + .../api/docs/object/candidacytype/index.html | 7 + .../api/docs/object/category/index.html | 7 + .../static/api/docs/object/comment/index.html | 7 + .../object/commentablemutation/index.html | 7 + .../docs/object/commentmutation/index.html | 7 + .../api/docs/object/coordinates/index.html | 7 + .../static/api/docs/object/debate/index.html | 7 + .../docs/object/debateconnection/index.html | 7 + .../api/docs/object/debateedge/index.html | 7 + .../static/api/docs/object/debates/index.html | 7 + .../static/api/docs/object/decidim/index.html | 7 + .../api/docs/object/dummyresource/index.html | 1324 +++++++++++++++++ .../api/docs/object/fingerprint/index.html | 7 + .../api/docs/object/hashtagtype/index.html | 7 + app/views/static/api/docs/object/index.html | 7 + .../docs/object/localizedstring/index.html | 7 + .../static/api/docs/object/meeting/index.html | 7 + .../api/docs/object/meetingagenda/index.html | 7 + .../docs/object/meetingagendaitem/index.html | 7 + .../docs/object/meetingconnection/index.html | 7 + .../api/docs/object/meetingedge/index.html | 7 + .../api/docs/object/meetings/index.html | 7 + .../api/docs/object/meetingservice/index.html | 7 + .../static/api/docs/object/metric/index.html | 7 + .../api/docs/object/metrichistory/index.html | 7 + .../api/docs/object/organization/index.html | 7 + .../static/api/docs/object/page/index.html | 7 + .../api/docs/object/pageconnection/index.html | 7 + .../api/docs/object/pageedge/index.html | 7 + .../api/docs/object/pageinfo/index.html | 7 + .../static/api/docs/object/pages/index.html | 7 + .../object/participatoryprocess/index.html | 7 + .../participatoryprocessgroup/index.html | 7 + .../participatoryprocessstep/index.html | 7 + .../participatoryprocesstype/index.html | 7 + .../docs/object/participatoryspace/index.html | 7 + .../object/participatoryspacelink/index.html | 7 + .../participatoryspacemanifest/index.html | 7 + .../static/api/docs/object/post/index.html | 7 + .../api/docs/object/postconnection/index.html | 7 + .../api/docs/object/postedge/index.html | 7 + .../static/api/docs/object/project/index.html | 7 + .../api/docs/object/proposal/index.html | 7 + .../docs/object/proposalconnection/index.html | 7 + .../api/docs/object/proposaledge/index.html | 7 + .../api/docs/object/proposals/index.html | 7 + .../quantifiabletranslatedfield/index.html | 7 + .../api/docs/object/question/index.html | 7 + .../api/docs/object/questionnaire/index.html | 7 + .../static/api/docs/object/result/index.html | 7 + .../docs/object/resultconnection/index.html | 7 + .../api/docs/object/resultedge/index.html | 7 + .../static/api/docs/object/scope/index.html | 7 + .../static/api/docs/object/session/index.html | 7 + .../api/docs/object/sortition/index.html | 7 + .../object/sortitionconnection/index.html | 7 + .../api/docs/object/sortitionedge/index.html | 7 + .../api/docs/object/sortitions/index.html | 7 + .../api/docs/object/statistic/index.html | 7 + .../static/api/docs/object/status/index.html | 7 + .../static/api/docs/object/survey/index.html | 7 + .../docs/object/surveyconnection/index.html | 7 + .../api/docs/object/surveyedge/index.html | 7 + .../static/api/docs/object/surveys/index.html | 7 + .../api/docs/object/taxonomy/index.html | 7 + .../api/docs/object/timelineentry/index.html | 7 + .../api/docs/object/traceversion/index.html | 7 + .../docs/object/translatedfield/index.html | 7 + .../static/api/docs/object/user/index.html | 7 + .../api/docs/object/usergroup/index.html | 7 + .../api/docs/operation/mutation/index.html | 7 + .../api/docs/operation/query/index.html | 7 + .../api/docs/query/assemblies/index.html | 7 + .../api/docs/query/assembliestype/index.html | 7 + .../api/docs/query/assembliestypes/index.html | 7 + .../static/api/docs/query/assembly/index.html | 7 + .../api/docs/query/candidacies/index.html | 7 + .../api/docs/query/candidaciestype/index.html | 7 + .../docs/query/candidaciestypes/index.html | 7 + .../api/docs/query/candidacy/index.html | 7 + .../api/docs/query/commentable/index.html | 7 + .../api/docs/query/component/index.html | 7 + .../static/api/docs/query/decidim/index.html | 7 + .../static/api/docs/query/hashtags/index.html | 7 + .../static/api/docs/query/metrics/index.html | 7 + .../api/docs/query/organization/index.html | 7 + .../query/participatoryprocess/index.html | 7 + .../query/participatoryprocesses/index.html | 7 + .../participatoryprocessgroup/index.html | 7 + .../participatoryprocessgroups/index.html | 7 + .../query/participatoryprocesstype/index.html | 7 + .../participatoryprocesstypes/index.html | 7 + .../static/api/docs/query/session/index.html | 7 + .../static/api/docs/query/user/index.html | 7 + .../static/api/docs/query/users/index.html | 7 + .../static/api/docs/scalar/boolean/index.html | 7 + .../static/api/docs/scalar/date/index.html | 7 + .../api/docs/scalar/datetime/index.html | 7 + .../static/api/docs/scalar/float/index.html | 7 + .../static/api/docs/scalar/id/index.html | 7 + app/views/static/api/docs/scalar/index.html | 7 + .../static/api/docs/scalar/int/index.html | 7 + .../static/api/docs/scalar/json/index.html | 7 + .../static/api/docs/scalar/string/index.html | 7 + app/views/static/api/docs/union/index.html | 7 + 174 files changed, 2603 insertions(+), 79 deletions(-) create mode 100644 app/views/static/api/docs/object/dummyresource/index.html diff --git a/Gemfile b/Gemfile index 8ff66654..7d18f71e 100644 --- a/Gemfile +++ b/Gemfile @@ -4,7 +4,7 @@ source "https://rubygems.org" ruby RUBY_VERSION -DECIDIM_VERSION = "0.30.4" +DECIDIM_VERSION = "0.30.5" gem "decidim", DECIDIM_VERSION gem "decidim-core", DECIDIM_VERSION diff --git a/Gemfile.lock b/Gemfile.lock index ea8ef298..70029aa0 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -133,6 +133,7 @@ GEM cmdparse (3.0.7) commonmarker (0.23.11) concurrent-ruby (1.3.4) + connection_pool (2.5.5) crack (1.0.0) bigdecimal rexml @@ -144,57 +145,57 @@ GEM date_validator (0.12.0) activemodel (>= 3) activesupport (>= 3) - decidim (0.30.4) - decidim-accountability (= 0.30.4) - decidim-admin (= 0.30.4) - decidim-api (= 0.30.4) - decidim-assemblies (= 0.30.4) - decidim-blogs (= 0.30.4) - decidim-budgets (= 0.30.4) - decidim-comments (= 0.30.4) - decidim-core (= 0.30.4) - decidim-debates (= 0.30.4) - decidim-forms (= 0.30.4) - decidim-generators (= 0.30.4) - decidim-meetings (= 0.30.4) - decidim-pages (= 0.30.4) - decidim-participatory_processes (= 0.30.4) - decidim-proposals (= 0.30.4) - decidim-sortitions (= 0.30.4) - decidim-surveys (= 0.30.4) - decidim-system (= 0.30.4) - decidim-verifications (= 0.30.4) - decidim-accountability (0.30.4) - decidim-comments (= 0.30.4) - decidim-core (= 0.30.4) - decidim-admin (0.30.4) + decidim (0.30.5) + decidim-accountability (= 0.30.5) + decidim-admin (= 0.30.5) + decidim-api (= 0.30.5) + decidim-assemblies (= 0.30.5) + decidim-blogs (= 0.30.5) + decidim-budgets (= 0.30.5) + decidim-comments (= 0.30.5) + decidim-core (= 0.30.5) + decidim-debates (= 0.30.5) + decidim-forms (= 0.30.5) + decidim-generators (= 0.30.5) + decidim-meetings (= 0.30.5) + decidim-pages (= 0.30.5) + decidim-participatory_processes (= 0.30.5) + decidim-proposals (= 0.30.5) + decidim-sortitions (= 0.30.5) + decidim-surveys (= 0.30.5) + decidim-system (= 0.30.5) + decidim-verifications (= 0.30.5) + decidim-accountability (0.30.5) + decidim-comments (= 0.30.5) + decidim-core (= 0.30.5) + decidim-admin (0.30.5) active_link_to (~> 1.0) - decidim-core (= 0.30.4) + decidim-core (= 0.30.5) devise (~> 4.7) devise-i18n (~> 1.2) devise_invitable (~> 2.0, >= 2.0.9) - decidim-api (0.30.4) - decidim-core (= 0.30.4) + decidim-api (0.30.5) + decidim-core (= 0.30.5) graphql (~> 2.4.0) graphql-docs (~> 5.0) rack-cors (~> 1.0) - decidim-assemblies (0.30.4) - decidim-core (= 0.30.4) - decidim-blogs (0.30.4) - decidim-admin (= 0.30.4) - decidim-comments (= 0.30.4) - decidim-core (= 0.30.4) - decidim-budgets (0.30.4) - decidim-comments (= 0.30.4) - decidim-core (= 0.30.4) + decidim-assemblies (0.30.5) + decidim-core (= 0.30.5) + decidim-blogs (0.30.5) + decidim-admin (= 0.30.5) + decidim-comments (= 0.30.5) + decidim-core (= 0.30.5) + decidim-budgets (0.30.5) + decidim-comments (= 0.30.5) + decidim-core (= 0.30.5) decidim-cdtb (0.5.5) decidim (>= 0.28.0) rails (>= 6) ruby-progressbar - decidim-comments (0.30.4) - decidim-core (= 0.30.4) + decidim-comments (0.30.5) + decidim-core (= 0.30.5) redcarpet (~> 3.5, >= 3.5.1) - decidim-core (0.30.4) + decidim-core (0.30.5) active_link_to (~> 1.0) acts_as_list (~> 1.0) batch-loader (~> 2.0) @@ -204,6 +205,7 @@ GEM charlock_holmes (~> 0.7) chartkick (~> 5.1.2) concurrent-ruby (= 1.3.4) + connection_pool (< 3) date_validator (~> 0.12.0) devise (~> 4.7) devise-i18n (~> 1.2) @@ -246,19 +248,19 @@ GEM valid_email2 (~> 7.0) web-push (~> 3.0) wisper (~> 3.0) - decidim-debates (0.30.4) - decidim-comments (= 0.30.4) - decidim-core (= 0.30.4) - decidim-dev (0.30.4) + decidim-debates (0.30.5) + decidim-comments (= 0.30.5) + decidim-core (= 0.30.5) + decidim-dev (0.30.5) bullet (~> 8.0.0) byebug (~> 11.0) capybara (~> 3.39) - decidim-admin (= 0.30.4) - decidim-api (= 0.30.4) - decidim-comments (= 0.30.4) - decidim-core (= 0.30.4) - decidim-generators (= 0.30.4) - decidim-verifications (= 0.30.4) + decidim-admin (= 0.30.5) + decidim-api (= 0.30.5) + decidim-comments (= 0.30.5) + decidim-core (= 0.30.5) + decidim-generators (= 0.30.5) + decidim-verifications (= 0.30.5) erb_lint (~> 0.8.0) factory_bot_rails (~> 6.2) faker (~> 3.2) @@ -291,39 +293,39 @@ GEM w3c_rspec_validators (~> 0.3.0) webmock (~> 3.18) wisper-rspec (~> 1.0) - decidim-forms (0.30.4) - decidim-core (= 0.30.4) - decidim-generators (0.30.4) - decidim-core (= 0.30.4) - decidim-meetings (0.30.4) - decidim-core (= 0.30.4) - decidim-forms (= 0.30.4) + decidim-forms (0.30.5) + decidim-core (= 0.30.5) + decidim-generators (0.30.5) + decidim-core (= 0.30.5) + decidim-meetings (0.30.5) + decidim-core (= 0.30.5) + decidim-forms (= 0.30.5) icalendar (~> 2.5) - decidim-pages (0.30.4) - decidim-core (= 0.30.4) - decidim-participatory_processes (0.30.4) - decidim-core (= 0.30.4) - decidim-proposals (0.30.4) - decidim-comments (= 0.30.4) - decidim-core (= 0.30.4) + decidim-pages (0.30.5) + decidim-core (= 0.30.5) + decidim-participatory_processes (0.30.5) + decidim-core (= 0.30.5) + decidim-proposals (0.30.5) + decidim-comments (= 0.30.5) + decidim-core (= 0.30.5) doc2text (~> 0.4.7) redcarpet (~> 3.5, >= 3.5.1) - decidim-sortitions (0.30.4) - decidim-admin (= 0.30.4) - decidim-comments (= 0.30.4) - decidim-core (= 0.30.4) - decidim-proposals (= 0.30.4) - decidim-surveys (0.30.4) - decidim-core (= 0.30.4) - decidim-forms (= 0.30.4) - decidim-system (0.30.4) + decidim-sortitions (0.30.5) + decidim-admin (= 0.30.5) + decidim-comments (= 0.30.5) + decidim-core (= 0.30.5) + decidim-proposals (= 0.30.5) + decidim-surveys (0.30.5) + decidim-core (= 0.30.5) + decidim-forms (= 0.30.5) + decidim-system (0.30.5) active_link_to (~> 1.0) - decidim-core (= 0.30.4) + decidim-core (= 0.30.5) devise (~> 4.7) devise-i18n (~> 1.2) devise_invitable (~> 2.0, >= 2.0.9) - decidim-verifications (0.30.4) - decidim-core (= 0.30.4) + decidim-verifications (0.30.5) + decidim-core (= 0.30.5) declarative-builder (0.2.0) trailblazer-option (~> 0.1.0) declarative-option (0.1.0) @@ -830,10 +832,10 @@ DEPENDENCIES bootsnap (~> 1.7) brakeman (~> 7.0) byebug (~> 11.0) - decidim (= 0.30.4) + decidim (= 0.30.5) decidim-cdtb (~> 0.5.5) - decidim-core (= 0.30.4) - decidim-dev (= 0.30.4) + decidim-core (= 0.30.5) + decidim-dev (= 0.30.5) decidim-signature_collection! deface figjam (= 2.0.0) diff --git a/app/views/static/api/docs/directive/deprecated/index.html b/app/views/static/api/docs/directive/deprecated/index.html index f9edcdae..4201a354 100644 --- a/app/views/static/api/docs/directive/deprecated/index.html +++ b/app/views/static/api/docs/directive/deprecated/index.html @@ -435,6 +435,13 @@

+
  • + + DummyResource + +
  • + +
  • Fingerprint diff --git a/app/views/static/api/docs/directive/include/index.html b/app/views/static/api/docs/directive/include/index.html index bfbaf476..b5abf6b2 100644 --- a/app/views/static/api/docs/directive/include/index.html +++ b/app/views/static/api/docs/directive/include/index.html @@ -434,6 +434,13 @@

  • +
  • + + DummyResource + +
  • + +
  • Fingerprint diff --git a/app/views/static/api/docs/directive/index.html b/app/views/static/api/docs/directive/index.html index 195fd527..d5ca1656 100644 --- a/app/views/static/api/docs/directive/index.html +++ b/app/views/static/api/docs/directive/index.html @@ -406,6 +406,13 @@
  • +
  • + + DummyResource + +
  • + +
  • Fingerprint diff --git a/app/views/static/api/docs/directive/oneof/index.html b/app/views/static/api/docs/directive/oneof/index.html index a13b963f..d9eba3bc 100644 --- a/app/views/static/api/docs/directive/oneof/index.html +++ b/app/views/static/api/docs/directive/oneof/index.html @@ -410,6 +410,13 @@

  • +
  • + + DummyResource + +
  • + +
  • Fingerprint diff --git a/app/views/static/api/docs/directive/skip/index.html b/app/views/static/api/docs/directive/skip/index.html index 931098ea..4a041b3a 100644 --- a/app/views/static/api/docs/directive/skip/index.html +++ b/app/views/static/api/docs/directive/skip/index.html @@ -434,6 +434,13 @@

  • +
  • + + DummyResource + +
  • + +
  • Fingerprint diff --git a/app/views/static/api/docs/directive/specifiedby/index.html b/app/views/static/api/docs/directive/specifiedby/index.html index e3b23fda..9c611793 100644 --- a/app/views/static/api/docs/directive/specifiedby/index.html +++ b/app/views/static/api/docs/directive/specifiedby/index.html @@ -432,6 +432,13 @@

  • +
  • + + DummyResource + +
  • + +
  • Fingerprint diff --git a/app/views/static/api/docs/enum/__directivelocation/index.html b/app/views/static/api/docs/enum/__directivelocation/index.html index 9291a77d..0228c6b8 100644 --- a/app/views/static/api/docs/enum/__directivelocation/index.html +++ b/app/views/static/api/docs/enum/__directivelocation/index.html @@ -502,6 +502,13 @@

  • +
  • + + DummyResource + +
  • + +
  • Fingerprint diff --git a/app/views/static/api/docs/enum/__typekind/index.html b/app/views/static/api/docs/enum/__typekind/index.html index 1c338596..dfcb62dd 100644 --- a/app/views/static/api/docs/enum/__typekind/index.html +++ b/app/views/static/api/docs/enum/__typekind/index.html @@ -447,6 +447,13 @@

  • +
  • + + DummyResource + +
  • + +
  • Fingerprint diff --git a/app/views/static/api/docs/enum/index.html b/app/views/static/api/docs/enum/index.html index ae08bb2b..3715b8f8 100644 --- a/app/views/static/api/docs/enum/index.html +++ b/app/views/static/api/docs/enum/index.html @@ -406,6 +406,13 @@
  • +
  • + + DummyResource + +
  • + +
  • Fingerprint diff --git a/app/views/static/api/docs/index.html b/app/views/static/api/docs/index.html index 7afa728d..f1c17af1 100644 --- a/app/views/static/api/docs/index.html +++ b/app/views/static/api/docs/index.html @@ -903,6 +903,13 @@

  • +
  • + + DummyResource + +
  • + +
  • Fingerprint diff --git a/app/views/static/api/docs/input_object/categoryfilter/index.html b/app/views/static/api/docs/input_object/categoryfilter/index.html index 1ee22d46..05bebd7e 100644 --- a/app/views/static/api/docs/input_object/categoryfilter/index.html +++ b/app/views/static/api/docs/input_object/categoryfilter/index.html @@ -413,6 +413,13 @@

  • +
  • + + DummyResource + +
  • + +
  • Fingerprint diff --git a/app/views/static/api/docs/input_object/componentfilter/index.html b/app/views/static/api/docs/input_object/componentfilter/index.html index 08a9712d..3ea27588 100644 --- a/app/views/static/api/docs/input_object/componentfilter/index.html +++ b/app/views/static/api/docs/input_object/componentfilter/index.html @@ -449,6 +449,13 @@

  • +
  • + + DummyResource + +
  • + +
  • Fingerprint diff --git a/app/views/static/api/docs/input_object/componentsort/index.html b/app/views/static/api/docs/input_object/componentsort/index.html index 5e23e1b7..25fa7e06 100644 --- a/app/views/static/api/docs/input_object/componentsort/index.html +++ b/app/views/static/api/docs/input_object/componentsort/index.html @@ -437,6 +437,13 @@

  • +
  • + + DummyResource + +
  • + +
  • Fingerprint diff --git a/app/views/static/api/docs/input_object/index.html b/app/views/static/api/docs/input_object/index.html index 3035b24c..94a545f0 100644 --- a/app/views/static/api/docs/input_object/index.html +++ b/app/views/static/api/docs/input_object/index.html @@ -406,6 +406,13 @@
  • +
  • + + DummyResource + +
  • + +
  • Fingerprint diff --git a/app/views/static/api/docs/input_object/participatoryprocessfilter/index.html b/app/views/static/api/docs/input_object/participatoryprocessfilter/index.html index d7fa62dc..768905a1 100644 --- a/app/views/static/api/docs/input_object/participatoryprocessfilter/index.html +++ b/app/views/static/api/docs/input_object/participatoryprocessfilter/index.html @@ -425,6 +425,13 @@

  • +
  • + + DummyResource + +
  • + +
  • Fingerprint diff --git a/app/views/static/api/docs/input_object/participatoryprocesssort/index.html b/app/views/static/api/docs/input_object/participatoryprocesssort/index.html index 4eeb5434..4ba6f550 100644 --- a/app/views/static/api/docs/input_object/participatoryprocesssort/index.html +++ b/app/views/static/api/docs/input_object/participatoryprocesssort/index.html @@ -425,6 +425,13 @@

  • +
  • + + DummyResource + +
  • + +
  • Fingerprint diff --git a/app/views/static/api/docs/input_object/postfilter/index.html b/app/views/static/api/docs/input_object/postfilter/index.html index 25a30757..0ef49268 100644 --- a/app/views/static/api/docs/input_object/postfilter/index.html +++ b/app/views/static/api/docs/input_object/postfilter/index.html @@ -444,6 +444,13 @@

  • +
  • + + DummyResource + +
  • + +
  • Fingerprint diff --git a/app/views/static/api/docs/input_object/postsort/index.html b/app/views/static/api/docs/input_object/postsort/index.html index 027e4fa7..c688618b 100644 --- a/app/views/static/api/docs/input_object/postsort/index.html +++ b/app/views/static/api/docs/input_object/postsort/index.html @@ -431,6 +431,13 @@

  • +
  • + + DummyResource + +
  • + +
  • Fingerprint diff --git a/app/views/static/api/docs/input_object/proposalfilter/index.html b/app/views/static/api/docs/input_object/proposalfilter/index.html index a817bd93..3d3a5f6d 100644 --- a/app/views/static/api/docs/input_object/proposalfilter/index.html +++ b/app/views/static/api/docs/input_object/proposalfilter/index.html @@ -432,6 +432,13 @@

  • +
  • + + DummyResource + +
  • + +
  • Fingerprint diff --git a/app/views/static/api/docs/input_object/proposalsort/index.html b/app/views/static/api/docs/input_object/proposalsort/index.html index 7da92e8f..9756b66d 100644 --- a/app/views/static/api/docs/input_object/proposalsort/index.html +++ b/app/views/static/api/docs/input_object/proposalsort/index.html @@ -431,6 +431,13 @@

  • +
  • + + DummyResource + +
  • + +
  • Fingerprint diff --git a/app/views/static/api/docs/input_object/userentityfilter/index.html b/app/views/static/api/docs/input_object/userentityfilter/index.html index 6963a471..0d3fb7b6 100644 --- a/app/views/static/api/docs/input_object/userentityfilter/index.html +++ b/app/views/static/api/docs/input_object/userentityfilter/index.html @@ -439,6 +439,13 @@

  • +
  • + + DummyResource + +
  • + +
  • Fingerprint diff --git a/app/views/static/api/docs/input_object/userentitysort/index.html b/app/views/static/api/docs/input_object/userentitysort/index.html index 278db95c..db9e0a81 100644 --- a/app/views/static/api/docs/input_object/userentitysort/index.html +++ b/app/views/static/api/docs/input_object/userentitysort/index.html @@ -431,6 +431,13 @@

  • +
  • + + DummyResource + +
  • + +
  • Fingerprint diff --git a/app/views/static/api/docs/interface/amendableentityinterface/index.html b/app/views/static/api/docs/interface/amendableentityinterface/index.html index 0eaeab76..d274eed5 100644 --- a/app/views/static/api/docs/interface/amendableentityinterface/index.html +++ b/app/views/static/api/docs/interface/amendableentityinterface/index.html @@ -418,6 +418,13 @@

  • +
  • + + DummyResource + +
  • + +
  • Fingerprint diff --git a/app/views/static/api/docs/interface/amendableinterface/index.html b/app/views/static/api/docs/interface/amendableinterface/index.html index f09c06d1..72205a66 100644 --- a/app/views/static/api/docs/interface/amendableinterface/index.html +++ b/app/views/static/api/docs/interface/amendableinterface/index.html @@ -418,6 +418,13 @@

  • +
  • + + DummyResource + +
  • + +
  • Fingerprint diff --git a/app/views/static/api/docs/interface/attachableinterface/index.html b/app/views/static/api/docs/interface/attachableinterface/index.html index 72d633c4..56147e76 100644 --- a/app/views/static/api/docs/interface/attachableinterface/index.html +++ b/app/views/static/api/docs/interface/attachableinterface/index.html @@ -424,6 +424,13 @@

  • +
  • + + DummyResource + +
  • + +
  • Fingerprint diff --git a/app/views/static/api/docs/interface/author/index.html b/app/views/static/api/docs/interface/author/index.html index 4333ad3c..3dd1e221 100644 --- a/app/views/static/api/docs/interface/author/index.html +++ b/app/views/static/api/docs/interface/author/index.html @@ -461,6 +461,13 @@

  • +
  • + + DummyResource + +
  • + +
  • Fingerprint diff --git a/app/views/static/api/docs/interface/authorableinterface/index.html b/app/views/static/api/docs/interface/authorableinterface/index.html index 9d3563ba..44e8bc2d 100644 --- a/app/views/static/api/docs/interface/authorableinterface/index.html +++ b/app/views/static/api/docs/interface/authorableinterface/index.html @@ -421,6 +421,13 @@

  • +
  • + + DummyResource + +
  • + +
  • Fingerprint diff --git a/app/views/static/api/docs/interface/candidacytypeinterface/index.html b/app/views/static/api/docs/interface/candidacytypeinterface/index.html index b111a07d..2df7c045 100644 --- a/app/views/static/api/docs/interface/candidacytypeinterface/index.html +++ b/app/views/static/api/docs/interface/candidacytypeinterface/index.html @@ -418,6 +418,13 @@

  • +
  • + + DummyResource + +
  • + +
  • Fingerprint diff --git a/app/views/static/api/docs/interface/categoriescontainerinterface/index.html b/app/views/static/api/docs/interface/categoriescontainerinterface/index.html index dcff906b..cad97f8c 100644 --- a/app/views/static/api/docs/interface/categoriescontainerinterface/index.html +++ b/app/views/static/api/docs/interface/categoriescontainerinterface/index.html @@ -439,6 +439,13 @@

  • +
  • + + DummyResource + +
  • + +
  • Fingerprint diff --git a/app/views/static/api/docs/interface/coauthorableinterface/index.html b/app/views/static/api/docs/interface/coauthorableinterface/index.html index 53bd3bea..99bfd083 100644 --- a/app/views/static/api/docs/interface/coauthorableinterface/index.html +++ b/app/views/static/api/docs/interface/coauthorableinterface/index.html @@ -430,6 +430,13 @@

  • +
  • + + DummyResource + +
  • + +
  • Fingerprint diff --git a/app/views/static/api/docs/interface/commentableinterface/index.html b/app/views/static/api/docs/interface/commentableinterface/index.html index ba3a775b..7794e324 100644 --- a/app/views/static/api/docs/interface/commentableinterface/index.html +++ b/app/views/static/api/docs/interface/commentableinterface/index.html @@ -6,6 +6,7 @@