syntaxbullet
aca5538d57
chore: improve DX scripts, fix test suite, and harden tooling
...
Scripts:
- remote.sh: remove unused open_browser() function
- deploy-remote.sh: add DB backup before deploy, --skip-backup flag, step numbering
- db-backup.sh: fix macOS compat (xargs -r is GNU-only), use portable approach
- db-restore.sh: add safety backup before restore, SQL file validation, file size display
- logs.sh: default to no-follow with --tail=100, order-independent arg parsing
- docker-cleanup.sh: add Docker health check, colored output
- test-sequential.sh: exclude *.integration.test.ts by default, add --integration flag
- simulate-ci.sh: pass --integration flag (has real DB)
Tests:
- db.test.ts: fix mock path from ./DrizzleClient to @shared/db/DrizzleClient
- server.settings.test.ts: rewrite mocks for gameSettingsService (old config/saveConfig removed)
- server.test.ts: add missing config.lootdrop and BotClient mocks, complete DrizzleClient chain
- indexes.test.ts: rename to indexes.integration.test.ts (requires live DB)
Config:
- package.json: test script uses sequential runner, add test:ci and db:restore aliases
- deploy.yml: use --integration flag in CI (has Postgres service)
2026-02-13 14:39:02 +01:00
syntaxbullet
6eb4a32a12
refactor: consolidate config types and remove file-based config
...
Tickets: #2 , #3
- Remove duplicate type definitions from shared/lib/config.ts
- Import types from schema files (game-settings.ts, guild-settings.ts)
- Add GuildConfig interface to guild-settings.ts schema
- Rename ModerationConfig to ModerationCaseConfig in moderation.service.ts
- Delete shared/config/config.json and shared/scripts/migrate-config-to-db.ts
- Update settings API to use gameSettingsService exclusively
- Return DB format (strings) from API instead of runtime BigInts
- Fix moderation service tests to pass config as parameter
Breaking Changes:
- Removes legacy file-based configuration system
- API now returns database format with string values for BigInt fields
2026-02-13 13:24:02 +01:00
syntaxbullet
2d35a5eabb
feat: Introduce TimerKey enum and refactor timer key usage across services with new tests.
2026-02-13 13:11:16 +01:00
syntaxbullet
c2b1fb6db1
feat: implement database-backed game settings with a new schema, service, and migration script.
2026-02-12 16:42:40 +01:00
syntaxbullet
5f107d03a7
feat(db): add guild_settings table for per-guild configuration
...
Store guild-specific settings (roles, channels, moderation options) in
database instead of config file, enabling per-guild configuration and
runtime updates without redeployment.
2026-02-12 14:57:24 +01:00
syntaxbullet
64804f7066
feat(db): add feature flags schema for beta feature testing
...
Add feature_flags and feature_flag_access tables to support controlled
beta testing of new features in production without a separate test environment.
2026-02-12 14:41:12 +01:00
syntaxbullet
b0c3baf5b7
refactor(db): split schema into domain modules
...
Split the 276-line schema.ts into focused domain modules:
- users.ts: classes, users, userTimers (core identity)
- inventory.ts: items, inventory (item system)
- economy.ts: transactions, itemTransactions (currency flow)
- quests.ts: quests, userQuests (quest system)
- moderation.ts: moderationCases, lootdrops (moderation)
Original schema.ts now re-exports from schema/index.ts for backward
compatibility. All existing imports continue to work.
2026-02-12 12:14:15 +01:00
syntaxbullet
f575588b9a
feat(db): export all schema types
...
Add missing type exports for Class, ItemTransaction, Quest,
UserQuest, UserTimer, and Lootdrop tables. All tables now
have consistent type exports available for import.
2026-02-12 12:12:49 +01:00
syntaxbullet
1929f0dd1f
refactor: Abbreviate item rarity values from full names to single-letter codes across the application.
2026-02-06 13:00:41 +01:00
syntaxbullet
aac9be19f2
feat: Add a script to simulate CI locally by setting up a temporary PostgreSQL database, running tests, and updating dependencies.
2026-01-30 16:30:26 +01:00
syntaxbullet
bb823c86c1
refactor: update database index tests to use DrizzleClient.execute for raw SQL queries.
2026-01-30 16:22:29 +01:00
syntaxbullet
6763e3c543
fix: address code review findings for analytics and security
2026-01-08 21:39:01 +01:00
syntaxbullet
f92415b89c
refactor: move drizzle to shared
2026-01-08 16:29:31 +01:00
syntaxbullet
88b266f81b
refactor: initial moves
2026-01-08 16:09:26 +01:00