Main page. Just simple HTML, CSS and JS. https://asxp.io
  • Ruby 57.4%
  • HTML 22.2%
  • CSS 10.3%
  • JavaScript 7.5%
  • Nix 1%
  • Other 1.6%
Find a file
Sergei Poljanski 969101600d
db: scope invoices to owner, add void + snapshot columns
- owner_id (FK users, ON DELETE RESTRICT) + index on (owner_id, created_at DESC)
- client_id (nullable FK clients, ON DELETE RESTRICT) for client back-references
- issuer_snapshot jsonb + snapshot_version: invoices freeze the issuer's
  legal-entity fields at issue time so historical PDFs render unchanged when
  the user later edits their profile
- voided_at + voided_reason: soft-void instead of delete, since invoices
  are retained indefinitely
- swap unique(number) for unique(owner_id, number): numbers are now per-user,
  not global

DROP CONSTRAINT uses IF EXISTS so the migration is resilient to the
auto-generated constraint name differing across Postgres versions.
2026-05-26 19:09:33 +03:00
.forgejo/workflows deploy: write invoicing env vars to .env 2026-05-26 18:07:15 +03:00
db/migrations db: scope invoices to owner, add void + snapshot columns 2026-05-26 19:09:33 +03:00
lib fix: assign uuid after Invoice.new to avoid mass-assignment restriction 2026-05-26 18:34:45 +03:00
public css: invoice list, badges, item form, download button 2026-05-26 17:54:48 +03:00
views invoicing: admin and public views 2026-05-26 17:54:40 +03:00
.dockerignore ruby rework with contact form 2026-05-05 00:45:27 +04:00
.env.example ruby rework with contact form 2026-05-05 00:45:27 +04:00
.gitignore ruby rework with contact form 2026-05-05 00:45:27 +04:00
asxpio.rb invoicing: admin and public routes 2026-05-26 17:54:31 +03:00
CLAUDE.md docs: storage stack, invoicing routes, secrets table 2026-05-26 18:51:26 +03:00
config.ru ruby rework with contact form 2026-05-05 00:45:27 +04:00
docker-compose.yml compose: join external storage network 2026-05-26 17:29:09 +03:00
Dockerfile gems: add pg, sequel, prawn, aws-sdk-s3 for invoicing 2026-05-26 17:29:21 +03:00
flake.lock ruby rework with contact form 2026-05-05 00:45:27 +04:00
flake.nix gems: add pg, sequel, prawn, aws-sdk-s3 for invoicing 2026-05-26 17:29:21 +03:00
Gemfile gems: add pg, sequel, prawn, aws-sdk-s3 for invoicing 2026-05-26 17:29:21 +03:00
Gemfile.lock gems: add pg, sequel, prawn, aws-sdk-s3 for invoicing 2026-05-26 17:29:21 +03:00