Commit Graph

32 Commits

Author SHA1 Message Date
6c2851e93a feat: audit logging, meeting prep AI, communication style settings
Some checks failed
CI/CD / check (push) Failing after 20s
CI/CD / deploy (push) Has been skipped
- New audit_logs table for compliance tracking
- Audit logging service with helper functions
- GET /api/audit-logs endpoint (admin only, with filters)
- Communication style JSONB field on userProfiles
- GET/PATCH /api/profile/communication-style endpoints
- AI meeting prep: GET /api/clients/:id/meeting-prep
- AI email generation now incorporates communication style
- Password change audit logging
- 56 passing tests (21 new)
2026-01-30 01:16:12 +00:00
0ec1b9c448 feat: email templates + client segments with advanced filtering
Some checks failed
CI/CD / check (push) Failing after 19s
CI/CD / deploy (push) Has been skipped
- Email templates: CRUD API with categories, placeholders ({{firstName}}, etc.), usage tracking, default per category
- Client segments: save filtered views with multi-criteria filters (stage, tags, industry, city, state, contact dates, email/phone presence)
- Segment preview: test filters before saving, returns matching client list
- Filter options: GET /api/segments/filter-options returns unique values for all filterable fields
- New tables: email_templates, client_segments (auto-created via db:push)
2026-01-30 01:07:35 +00:00
93fce809e2 feat: pg-boss job queue, notifications, client interactions, bulk email
Some checks failed
CI/CD / check (push) Failing after 18s
CI/CD / deploy (push) Has been skipped
2026-01-30 00:48:07 +00:00
bb87ba169a feat: client pipeline stages + notes system
Some checks failed
CI/CD / check (push) Failing after 19s
CI/CD / deploy (push) Has been skipped
- Added 'stage' column to clients (lead/prospect/onboarding/active/inactive)
- New client_notes table with CRUD API at /clients/:id/notes
- Notes support pinning, editing, and deletion
- Stage field in create/update client endpoints
- Fixed flaky email test (env var interference)
2026-01-30 00:35:49 +00:00
33a0e1d110 ci: add Gitea Actions CI/CD workflow
Some checks failed
CI/CD / check (push) Failing after 18s
CI/CD / deploy (push) Has been skipped
2026-01-29 23:18:09 +00:00
959b76c2e4 feat: add reports/analytics API - overview stats, growth charts, engagement breakdown, industry/tag distributions, CSV export, notification alerts 2026-01-29 13:04:45 +00:00
567791e6bb feat: add CSV import, activity timeline, and insights endpoints
- POST /api/clients/import/preview - CSV preview with auto column mapping
- POST /api/clients/import - Import clients from CSV with custom mapping
- GET /api/clients/:id/activity - Activity timeline for client
- GET /api/insights - Dashboard AI insights (stale clients, birthdays, follow-ups)
2026-01-29 12:43:24 +00:00
a4c6ada7de feat: network matching API - rule-based scoring + AI intro suggestions
- /api/network/matches: find all client matches with scoring
- /api/network/matches/:clientId: matches for a specific client
- /api/network/intro: AI-generated introduction suggestions
- /api/network/stats: network analytics (industries, locations, connectors)
- Rule-based scoring: industry, interests, location, tags, complementary roles
- Smart filtering: same company detection, related industry groups
2026-01-29 12:35:27 +00:00
11ee9b946f fix: invite accept bypasses disableSignUp by falling back to internal adapter
signUpEmail throws when disableSignUp is true. Now catches that error
and creates the user directly via Better Auth's internal adapter:
createUser + linkAccount with hashed password.
2026-01-28 22:17:08 +00:00
ead71ae0a7 fix: use Better Auth internal API for invite user creation 2026-01-28 22:03:59 +00:00
3e63a4be8d Revert "temp: debug endpoint for user account inspection"
This reverts commit ac1495a953.
2026-01-28 22:03:33 +00:00
ac1495a953 temp: debug endpoint for user account inspection 2026-01-28 22:00:58 +00:00
8abad1a242 feat: add email and password change endpoints to profile routes 2026-01-28 21:55:39 +00:00
702156c406 fix: disable open signup - invite creates users directly via DB 2026-01-28 21:46:02 +00:00
1e30d349f5 fix: use frontend URL for reset/invite links instead of API URL 2026-01-28 21:44:09 +00:00
6b075b9ab5 feat: password reset flow (public + admin-initiated) 2026-01-28 21:43:38 +00:00
df4e67b929 fix: block open signup endpoint - invite only 2026-01-28 21:41:11 +00:00
c6d9f249ce feat: admin system with invite-only registration 2026-01-28 21:39:31 +00:00
c4990af6e4 fix: enable cross-subdomain cookies for session sharing 2026-01-28 21:28:49 +00:00
2cd64918a6 fix: add ALLOWED_ORIGINS to Better Auth trustedOrigins 2026-01-28 21:03:37 +00:00
7c53056e6e Add detailed logging to email send endpoint 2026-01-28 02:31:57 +00:00
4bbb9c0586 Add user profile API with name, title, company, phone, signature 2026-01-27 22:59:21 +00:00
3a5f7b2c17 Add 5 realistic fake clients to seed data 2026-01-27 22:50:52 +00:00
00a07dc95a Add OpenAI support, default to gpt-4o-mini 2026-01-27 22:45:06 +00:00
e4f900c111 Add detailed error logging to API and email generation 2026-01-27 22:40:46 +00:00
308ca4fc5e fix: use BetterAuth's hashPassword for seed 2026-01-27 22:19:53 +00:00
7bd506463e feat: bearer auth, auto-sync events, test seed
- Add bearer plugin to BetterAuth for mobile auth
- Auto-sync birthday/anniversary events on client create/update
- Add /api/events/sync-all endpoint for bulk sync
- Add test user seed (test@test.com / test)
- Expose set-auth-token header in CORS
2026-01-27 22:12:33 +00:00
f9643235be Add unit tests for clients, AI, and email services 2026-01-27 18:30:05 +00:00
e1f35db34f Fix schema: use text IDs for better-auth compatibility 2026-01-27 18:27:31 +00:00
6620333def Fix docker-compose: lockfile name, lazy Resend init 2026-01-27 17:20:28 +00:00
54d1bb7240 Add docker-compose for local dev 2026-01-27 17:11:04 +00:00
06f1b4e548 Initial API scaffold: Elysia + Bun + Drizzle + BetterAuth + LangChain 2026-01-27 02:43:11 +00:00