Commit Graph

8 Commits

Author SHA1 Message Date
5f14b9ff15 feat: add NotificationsService with SSE subject pool 2026-07-05 23:01:26 +08:00
09580e4a4e feat: P2-15 cron-based DingTalk/WeCom sync with logging and incremental sync
- Add @nestjs/schedule dependency
- Create SyncLog entity (platform, syncType, status, recordsCount, errorMessage, timestamps)
- Create SyncState entity for tracking lastSyncAt per platform
- SyncService with @Cron('0 2 * * *') daily scheduled sync
- Incremental sync: tracks last_sync_at per platform, passes to integration APIs
- Full/incremental mode determined by existence of prior sync
- SyncController: POST /sync/trigger (manual), GET /sync/logs (history)
- Register SyncModule in AppModule with ScheduleModule
2026-07-05 20:48:43 +08:00
a4ca6b2ef9 fix: use tsconfig.build.json for nest start --watch to fix rootDir 2026-07-02 16:16:57 +08:00
ac19c666b3 fix: add missing 'dev' script to @gongxue/server for turbo run dev 2026-07-02 16:11:57 +08:00
e13de5fef4 chore(task6): complete turborepo migration verification 2026-07-02 15:49:14 +08:00
5cf7fe05e9 feat(task4): update TypeScript configs to use shared presets 2026-07-02 15:31:29 +08:00
73dd92e615 feat(task3): migrate toolchain to oxfmt + oxlint
- Install oxfmt with .oxfmtrc.json (maps Prettier config)
- Install oxlint with oxlint.config.ts (TypeScript + React rules)
- Replace admin ESLint with oxlint
- Remove Prettier integration from server ESLint (keep ESLint for type checking)
- Delete server .prettierrc and admin eslint.config.js
2026-07-02 15:24:29 +08:00
46a817503e feat(task1): restructure directories for turborepo monorepo
- Move backend/ to apps/server/ via git mv
- Move frontend/ to apps/admin/ via git mv
- Create packages/typescript-config/ with base, nestjs, and react-vite presets
2026-07-02 15:05:12 +08:00