FROM docuseal/docuseal:3.1.4

# Railway Hobby blocks SMTP traffic. Keep DocuSeal pinned while replacing only
# its delivery transport with Resend's HTTPS API.
COPY --chown=2000:2000 resend_api_delivery_method.rb /app/lib/resend_api_delivery_method.rb
COPY --chown=2000:2000 action_mailer_configs_interceptor.rb /app/lib/action_mailer_configs_interceptor.rb

# Staff-only preparation UI; the upstream signing, audit, storage and auth paths
# remain intact. Version public asset filenames when changing cached assets.
COPY --chown=2000:2000 simple_esign/initializer.rb /app/config/initializers/virtualending_simple_esign.rb
COPY --chown=2000:2000 simple_esign/upload.html.erb /app/app/views/virtualending_esign/upload.html.erb
COPY --chown=2000:2000 simple_esign/editor.html.erb /app/app/views/virtualending_esign/editor.html.erb
COPY --chown=2000:2000 simple_esign/editor.css /app/public/virtualending-esign-v2.css
COPY --chown=2000:2000 simple_esign/editor.js /app/public/virtualending-esign-v2.js
COPY --chown=2000:2000 simple_esign/brand /app/public/virtualending-esign-brand-v1

# Add VirtuaLending chrome around the original signer screens and mail bodies.
# All signing actions and original DocuSeal attribution remain upstream.
COPY --chown=2000:2000 signer_branding/form.html.erb /app/app/views/layouts/form.html.erb
COPY --chown=2000:2000 signer_branding/mailer.html.erb /app/app/views/layouts/mailer.html.erb
COPY --chown=2000:2000 signer_branding/attribution.html.erb /app/app/views/shared/_attribution.html.erb
COPY --chown=2000:2000 signer_branding/signer.css /app/public/virtualending-signer-v1.css

# Durable, encrypted email snapshots use the existing signed app webhook.
COPY --chown=2000:2000 email_history/20261030010000_create_virtualending_email_outboxes.rb /app/db/migrate/20261030010000_create_virtualending_email_outboxes.rb
COPY --chown=2000:2000 email_history/virtualending_email_outbox.rb /app/app/models/virtualending_email_outbox.rb
COPY --chown=2000:2000 email_history/virtualending_email_history.rb /app/lib/virtualending_email_history.rb
COPY --chown=2000:2000 email_history/virtualending_email_history_job.rb /app/app/jobs/virtualending_email_history_job.rb

# Corresponding source for the modified AGPL service, with no runtime data or
# VirtuaLending frontend source. Pin and verify the exact upstream source.
ADD --chown=2000:2000 --checksum=sha256:8245865d6d36f58e4f80d0cf1047a569f180c481c92d20518abca6d1bb91ed92 https://codeload.github.com/docusealco/docuseal/tar.gz/6a3a18531021a20ea2b02c146a918a4e127971ce /tmp/docuseal-source.tar.gz
COPY --chown=2000:2000 Dockerfile README.md build_source_archive.sh resend_api_delivery_method.rb action_mailer_configs_interceptor.rb /tmp/vl-source-overlay/
COPY --chown=2000:2000 simple_esign /tmp/vl-source-overlay/simple_esign
COPY --chown=2000:2000 signer_branding /tmp/vl-source-overlay/signer_branding
COPY --chown=2000:2000 email_history /tmp/vl-source-overlay/email_history
RUN sh /tmp/vl-source-overlay/build_source_archive.sh
