Commit Graph

1021 Commits

Author SHA1 Message Date
jubnl 60d6e1fcd1 refactor(db): every entity in the snake_case shape; document-sync entities added; one repository per entity 2026-09-22 11:01:36 +02:00
jubnl 7534c2f903 fix(db): generator keeps NOT NULL boolean defaults; fails if a JSON interface import survives 2026-09-22 10:39:07 +02:00
jubnl 257529b250 fix(db): generator guard rails — validation cannot mask hidden()/index loss; typed JSON; loud failures 2026-09-22 10:24:10 +02:00
jubnl 7f379cac85 feat(db): re-runnable entity generator encoding the snake_case/DbTimestampType rules 2026-09-22 09:26:28 +02:00
jubnl 1e52332208 test(db): numeric ids for the primary-relation spike 2026-09-22 08:43:20 +02:00
jubnl fc1c788e9a test(db): parity gate also holds declared pivot entities; per-field column types; missing-set ratchets both ways 2026-09-22 08:38:06 +02:00
jubnl 4a67be3f87 feat(db): primary-relation entities proven (BudgetCategoryOrder, VacayUserSettings) 2026-09-22 08:35:46 +02:00
jubnl 6d6b6932f4 test(db): entity metadata must match the migrated schema; fix the four drifts it found 2026-09-22 08:25:43 +02:00
jubnl de2d13b1af fix(server): upload filters answer multer once on a throwing callback; positive call-graph gate test 2026-09-22 08:10:23 +02:00
jubnl ae2af05cad fix(server): phase 1 review follow-ups — awaited returns, logged upload-filter rejections, covered handshake/notice branches, call-graph gate in CI, dead test imports 2026-09-22 07:54:09 +02:00
jubnl f202227bbc refactor(trips, feeds): drop added return annotations; no double await on the feed guard 2026-09-22 06:41:46 +02:00
jubnl 39a6d991ce refactor(server): remove DatabaseService.transaction — every transaction runs through UnitOfWork 2026-09-22 06:39:38 +02:00
jubnl a0f50c8316 refactor(trip-read-model, trips, feeds): async DB-touching methods; transactions through UnitOfWork 2026-09-22 06:30:13 +02:00
jubnl bd8aeb06f5 refactor(roadtrip, reservations): return await on transactional; document the single-flight promises 2026-09-22 06:29:49 +02:00
jubnl 869d139412 refactor(reservations, booking-import, calendar, integrations, roadtrip): async DB-touching methods; transactions through UnitOfWork 2026-09-22 06:11:41 +02:00
jubnl a1fbfe6d75 refactor(assignments): drop the unused Trip type alias 2026-09-22 05:35:53 +02:00
jubnl 571df42bed refactor(trips): rewrite AccommodationsService.createAccommodation .bind alias
Recipe R4 trap named in the Task 12 brief: a .bind alias of an
AssignmentsService/AccommodationsService method is typed any and hides a
missing await from tsc and the promise lint rules. createAccommodation
belongs to this task's group, so rewritten as an arrow forwarding to the
method instead of a bound reference.
2026-09-22 05:22:51 +02:00
jubnl 5c8decd3ea refactor(assignments, public-api, accommodations, places): async DB-touching methods; transactions through UnitOfWork 2026-09-22 05:21:48 +02:00
jubnl 3a8b54d761 fix(server): the journey hooks are awaited by their callers, not detached 2026-09-22 04:38:12 +02:00
jubnl 845320e0a4 refactor(journey, oidc, place-enrichment, tokens, trip-members): async DB-touching methods; transactions through UnitOfWork 2026-09-22 04:16:07 +02:00
jubnl ad6e1ce8f0 fix(vacay): type the loop accumulators the async sweep introduced 2026-09-22 03:44:48 +02:00
jubnl cb177ce655 refactor(vacay, admin, doc-sync): async DB-touching methods; transactions through UnitOfWork 2026-09-22 03:29:33 +02:00
jubnl 567593a259 chore(server): lint rule also refuses a Promise handed to expect() without resolves/rejects 2026-09-22 02:32:59 +02:00
jubnl 37992de7ab refactor(memories, photos, packing, share): async DB-touching methods; transactions through UnitOfWork 2026-09-22 02:21:06 +02:00
jubnl 6b755314d8 refactor(collab, collections, maps): async DB-touching methods; transactions through UnitOfWork 2026-09-22 01:49:18 +02:00
jubnl fdb12aed1e test(files): upload filters fail closed on an excluded or unresolvable type 2026-09-22 01:21:57 +02:00
jubnl fc49c0c768 refactor(tokens): async DB-touching methods; the auth token handlers await them 2026-09-22 01:21:29 +02:00
jubnl 4700bb38a5 test(server): suites await the methods earlier sweep groups made async 2026-09-22 01:16:50 +02:00
jubnl 7940b7ff84 refactor(auth, files): async DB-touching methods; transactions through UnitOfWork 2026-09-22 01:08:22 +02:00
jubnl 4df2d83137 refactor(notifications, place-photos, backup): async DB-touching methods; transactions through UnitOfWork 2026-09-22 00:22:11 +02:00
jubnl fac181f45b chore(plugins): drop gate-only asyncs; observe the scheduler's rejection; async event-sink stub 2026-09-22 00:12:56 +02:00
jubnl 5d590ca5b1 chore(server): db-call-graph --sync stops its transitive walk at an async callee 2026-09-22 00:04:19 +02:00
jubnl e28dc6de28 refactor(plugins): async DB-touching methods; transactions through UnitOfWork 2026-09-22 00:00:53 +02:00
jubnl e413308227 refactor(llm-parse, mcp-shared, oauth, place-shadow, route-usage, storage, todo, trip-invite): async DB-touching methods; transactions through UnitOfWork 2026-09-21 23:27:01 +02:00
jubnl bb390a5407 chore(server): db-call-graph --unawaited lists calls to async methods whose result is used without await 2026-09-21 22:55:02 +02:00
jubnl 7daf98cf70 test(oauth): controller suite awaits the async service 2026-09-21 22:41:35 +02:00
jubnl aa587e2fb6 refactor(budget, common, day-notes, days): async DB-touching methods; transactions through UnitOfWork 2026-09-21 22:39:11 +02:00
jubnl 8bdc730b20 test(server): suites await the methods Task 1's forced edits made async 2026-09-21 21:54:19 +02:00
jubnl d73215f7f6 chore(server): lint rule refusing a Promise used as a plain value, and the misses it found 2026-09-21 21:39:39 +02:00
jubnl 953e2526bb refactor(atlas, school-holidays, settings): async DB-touching methods; transactions through UnitOfWork 2026-09-21 21:23:10 +02:00
jubnl f6c17938c3 test(doc-sync): unit suites await the methods the async sweep made async 2026-09-21 21:11:01 +02:00
jubnl 8de5171a8e fix(server): observe every promise the async sweep left unobserved (timer, handshake, plugin-runtime test) 2026-09-21 21:04:19 +02:00
jubnl 0cf99a9939 refactor(realtime, systemNotices, addons, airports, audit, categories, permissions, query-helpers, tags, transit, trip-membership): async DB-touching methods; transactions through UnitOfWork 2026-09-21 20:48:03 +02:00
jubnl 27d044f9e8 chore(server): promise safety net and sweep tooling for the async migration 2026-09-21 19:01:38 +02:00
jubnl ef184ec7c2 test(server): ORM suites open the schema snapshot; RESET_TABLES derived from the schema 2026-09-21 18:12:07 +02:00
jubnl f4fe27a3f8 fix(db): dialect helpers dispatch on the platform; lint gate for the repository layer 2026-09-21 18:12:07 +02:00
jubnl d7c7afea1b test(server): coverage's uncovered-file pass goes through the SWC transform 2026-09-21 11:06:42 +02:00
jubnl 2c7a5fcda6 test(server): websocket suites boot on the migrated schema snapshot 2026-09-21 11:03:16 +02:00
jubnl f0c6cd18b3 test(db): coverage ratchet entries for the ORM foundation 2026-09-21 11:01:44 +02:00
jubnl 418bd1c6b5 fix(test): route MikroORM's dynamic imports through vitest from the setup file, not the ORM config 2026-09-21 10:35:16 +02:00