Michael Chus a4457a0a28 Add partnumber book snapshots for QuoteForge integration
- Migrations 026-028: qt_partnumber_books + qt_partnumber_book_items
  tables; is_primary_pn on lot_partnumbers; version VARCHAR(30);
  description VARCHAR(10000) on items (required by QuoteForge sync)
- Service: CreateSnapshot expands bundles, filters empty lot_name and
  ignored PNs, copies description, activates new book atomically,
  applies GFS retention (7d/5w/12m/10y) with explicit item deletion
- Task type TaskTypePartnumberBookCreate; handlers ListPartnumberBooks
  and CreatePartnumberBook; routes GET/POST /api/admin/pricing/partnumber-books
- UI: snapshot list + "Создать снапшот сопоставлений" button with
  progress polling on /vendor-mappings page
- Bible: history, api, background-tasks, vendor-mapping updated

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-21 22:16:16 +03:00
2026-02-18 07:01:49 +03:00
2026-02-07 21:42:26 +03:00
2026-02-07 21:42:26 +03:00
2026-02-08 08:57:52 +03:00
2026-02-08 08:57:52 +03:00
2026-02-08 08:57:52 +03:00

PriceForge

Price and pricelist manager for MariaDB.

Quick Start

cp config.example.yaml config.yaml
# Edit config.yaml: database.host, name, user, password
make run

Commands

make run           # dev server
make build         # local build
make build-release # release build
make build-all     # cross-compile Linux/macOS/Windows
make test          # run tests
go run ./cmd/pfs -migrate   # run migrations
./bin/pfs -version          # check version
./scripts/release.sh        # build release archives

Requirements

  • Go 1.22+
  • MariaDB / MySQL

macOS Gatekeeper

xattr -d com.apple.quarantine /path/to/pfs-darwin-arm64
Description
No description provided
Readme 261 MiB
Languages
Go 47.2%
CSS 25.1%
JavaScript 16%
HTML 11.3%
Makefile 0.2%
Other 0.2%