8af25def83
New search module: a message index (Meilisearch, MEILI_URL-gated; no-op when unset), a SearchProjector that indexes on message.sent, and a SearchService whose permission fence runs server-side — a query only touches the caller's own scope AND the threads they currently belong to (resolved live from participant rows, so membership changes reflect immediately). Every conversation kind (chat/mail/sms) is a message with a TEXT part, so all are searchable through one index. POST /v1/search + /reindex (backfill). 5 fence tests green. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
53 lines
1.5 KiB
JSON
53 lines
1.5 KiB
JSON
{
|
|
"name": "@insignia/iios-service",
|
|
"version": "0.0.0",
|
|
"private": true,
|
|
"scripts": {
|
|
"build": "nest build",
|
|
"start": "nest start",
|
|
"dev": "nest start --watch",
|
|
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
"prisma:generate": "prisma generate",
|
|
"prisma:migrate": "prisma migrate dev",
|
|
"prisma:studio": "prisma studio"
|
|
},
|
|
"dependencies": {
|
|
"@aws-sdk/client-s3": "^3.1090.0",
|
|
"@insignia/iios-adapter-sdk": "workspace:*",
|
|
"@insignia/iios-contracts": "workspace:*",
|
|
"@nestjs/common": "^11.1.27",
|
|
"@nestjs/core": "^11.1.27",
|
|
"@nestjs/platform-express": "^11.1.27",
|
|
"@nestjs/platform-socket.io": "^11.1.27",
|
|
"@nestjs/websockets": "^11.1.27",
|
|
"@prisma/client": "^6.2.1",
|
|
"@socket.io/redis-adapter": "^8.3.0",
|
|
"class-transformer": "^0.5.1",
|
|
"class-validator": "^0.15.1",
|
|
"dotenv": "^16.4.7",
|
|
"handlebars": "^4.7.9",
|
|
"ioredis": "^5.11.1",
|
|
"jsonwebtoken": "^9.0.3",
|
|
"jwks-rsa": "^4.1.0",
|
|
"meilisearch": "^0.45.0",
|
|
"nodemailer": "^9.0.3",
|
|
"prisma": "^6.2.1",
|
|
"reflect-metadata": "^0.2.2",
|
|
"rxjs": "^7.8.2",
|
|
"socket.io": "^4.8.3",
|
|
"web-push": "^3.6.7"
|
|
},
|
|
"devDependencies": {
|
|
"@insignia/iios-testkit": "workspace:*",
|
|
"@nestjs/cli": "^11.0.23",
|
|
"@nestjs/schematics": "^11.1.0",
|
|
"@types/express": "^5.0.6",
|
|
"@types/jsonwebtoken": "^9.0.10",
|
|
"@types/node": "^26.0.1",
|
|
"@types/nodemailer": "^8.0.1",
|
|
"@types/web-push": "^3.6.4",
|
|
"socket.io-client": "^4.8.3",
|
|
"typescript": "^5.7.3"
|
|
}
|
|
}
|