jessikitty
89f65e2d74
Add automatic instruction fetcher for official sets
...
Downloads official instruction PDFs from LEGO, located via the Brickset API, one set per interval (10 minutes by default) so neither API gets hammered. Official sets only; MOCs are excluded throughout.
- New admin page at /admin/instruction-fetch: queue builder, pacing controls, live countdown and per-set job history
- Database-backed queue (instruction_fetch_jobs) and last-run timestamp, so pacing survives restarts
- Background worker thread, plus 'flask instructions queue/run/status' for Task Scheduler or cron
- SHA-256 dedupe (instructions.sha256), PDF header check, size cap and streaming downloads via temp files
- brickset_api: getInstructions2 by set number and getInstructions by setID (the old code sent a set number to the setID method); getSets params now proper JSON; getKeyUsageStats added
- Schema top-ups applied automatically at boot: new table plus instructions.sha256/source
- Docker: fetcher env vars passed through compose, no worker thread in the entrypoint bootstrap
2026-09-26 13:43:17 +10:00
jessikitty
aac2b60517
Implement site settings backend and bulk visibility apply
2026-09-25 00:48:03 +10:00
jessikitty
70d3ad8f96
Wire schema upgrade, access guard and registration flag into the app factory
2026-09-25 00:47:01 +10:00
jessikitty
25401c229c
Add AUTO_SCHEMA_UPGRADE toggle
2026-09-25 00:46:43 +10:00
jessikitty
a82c77b0ef
Build out the Site Settings page: signup, visibility defaults, navigation, bulk apply
2026-09-25 00:46:23 +10:00
jessikitty
6d20037cdf
Hide the register prompt when signups are closed
2026-09-25 00:45:57 +10:00
jessikitty
f241e5f6ed
Scope set list to visible sets; add visibility and sharing routes
2026-09-25 00:45:45 +10:00
jessikitty
23d6a45584
Gate registration behind the site setting; land on dashboard after login
2026-09-25 00:44:57 +10:00
jessikitty
aafdaa5045
Redirect logged-in users to dashboard; scope dashboard stats to visible sets
2026-09-25 00:44:44 +10:00
jessikitty
dcd205fc6a
Export SetShare and SiteSetting
2026-09-25 00:44:31 +10:00
jessikitty
eb796b6884
Add visibility column, access helpers and visible_to query to Set
2026-09-25 00:44:26 +10:00
jessikitty
19a2d7ad9e
Add idempotent additive schema upgrader
2026-09-25 00:44:00 +10:00
jessikitty
8d5cccc4e3
Add central access guard for set-scoped routes
2026-09-25 00:43:50 +10:00
jessikitty
af714e7b9d
Add SetShare model for per-user set sharing
2026-09-25 00:43:33 +10:00
jessikitty
f03b3bfdaf
Add SiteSetting model for admin-configurable settings
2026-09-25 00:43:26 +10:00
jessikitty
ac38227dac
Add drag-and-drop archive upload with progress to the backup page
2026-09-24 20:31:21 +10:00
jessikitty
f60339a60f
Add BACKUP_MAX_UPLOAD (0 = no limit)
2026-09-24 20:29:58 +10:00
jessikitty
db1d577996
Add GUI archive upload: streams raw body to disk, bypassing the 50MB form cap
2026-09-24 20:29:40 +10:00
jessikitty
6821b67941
Serve uploads from UPLOAD_FOLDER so it can live on a mounted volume
2026-09-24 19:48:29 +10:00
jessikitty
04c5eddd17
Make UPLOAD_FOLDER env-configurable; resolve relative paths from project root
2026-09-24 19:48:09 +10:00
jessikitty
03873b37e1
Fix NameError: import current_app (bulk_import logged without it)
2026-09-24 15:48:16 +10:00
jessikitty
1199ec4766
Link Backup and Restore from site settings
2026-09-24 15:47:17 +10:00
jessikitty
5e34840465
Fix footer crash (no Jinja date filter), add admin/backup nav links and credit
2026-09-24 15:47:05 +10:00
jessikitty
a974ec5fa3
Register backup blueprint, CLI commands and current_year context var
2026-09-24 14:34:07 +10:00
jessikitty
af937daebb
Add BACKUP_FOLDER and BACKUP_KEEP config
2026-09-24 14:33:52 +10:00
jessikitty
b16106db7d
Add Backup and Restore admin page
2026-09-24 14:33:00 +10:00
jessikitty
ca3232c515
Add flask backup CLI: create/list/inspect/verify/restore
2026-09-24 14:31:56 +10:00
jessikitty
c6ffe7f153
Add admin backup routes (create/status/download/verify/delete/restore)
2026-09-24 14:31:28 +10:00
jessikitty
c9ef418cdd
Add backup/restore service: full archive of DB + all uploaded files
2026-09-24 14:31:07 +10:00
jessikitty
4d505a84e7
Export ExtraFile from app.models
2026-09-24 14:29:34 +10:00
jessikitty
62acef92ff
Enhanced home page with improved hero section, feature cards, detailed benefits, and CTA
2026-01-05 17:57:56 +11:00
jessikitty
7f583f1ac4
Enhanced dashboard with improved stat cards, better layout, getting started guide, and refined typography
2026-01-05 17:57:14 +11:00
jessikitty
9de38dfbe2
Enhanced base template with better fonts, icons in alerts, auto-hide messages, loading states, and micro-interactions
2026-01-05 17:56:32 +11:00
jessikitty
689147d622
Visual enhancement: Modern LEGO-themed design with gradients, improved cards, animations, and better UX
2026-01-05 17:55:56 +11:00
jessikitty
cd0b5f17f5
Add MOC generator with leading zeros support (MOC-0001 format)
2025-12-15 09:23:53 +11:00
jessikitty
3aa81f5b6d
Add auto-fill MOC number feature with refresh button
2025-12-15 07:58:47 +11:00
jessikitty
fdb9211dd2
Change to GLOBAL numbering as default (user_scoped=false)
2025-12-15 00:40:09 +11:00
jessikitty
a72346b68c
Add MOCNumberGenerator to services exports
2025-12-15 00:36:07 +11:00
jessikitty
4de5127b24
Register MOC blueprint in Flask app
2025-12-15 00:35:37 +11:00
jessikitty
0a9ae94706
Add MOC blueprint to routes
2025-12-15 00:35:13 +11:00
jessikitty
35d32d1a00
Add MOC API routes for auto-generation and validation
2025-12-15 00:34:48 +11:00
jessikitty
944a679372
Add MOC auto-generation service with sequential numbering
2025-12-15 00:34:34 +11:00
jessikitty
63496b1ccd
Initial commit - LEGO Instructions Manager v1.5.0
2025-12-09 17:20:41 +11:00