{"_id":"@c11/notifications-nestjs","_rev":"6-bd9337f9d09c738ffae043a88b44c3ff","name":"@c11/notifications-nestjs","dist-tags":{"latest":"1.0.5"},"versions":{"1.0.0":{"name":"@c11/notifications-nestjs","version":"1.0.0","author":{"name":"Radu Cocieru","email":"radu@code11.com"},"license":"PRIVATE","_id":"@c11/notifications-nestjs@1.0.0","maintainers":[{"name":"code11-dev","email":"platform-ops@code11.com"}],"homepage":"https://github.com/code11/notifications-nestjs-module#readme","bugs":{"url":"https://github.com/code11/notifications-nestjs-module/issues"},"dist":{"shasum":"013ad43641797fe4e253a9c27c5b81df85902914","tarball":"https://registry.npmjs.org/@c11/notifications-nestjs/-/notifications-nestjs-1.0.0.tgz","fileCount":59,"integrity":"sha512-0DeisqGpoClRG8KW61TbL/zzoysKNBsYmvGMkCchNAQSDzGlmEMMJMcHYybYbZhBNKOSLcjN50/daN0ubY7ezA==","signatures":[{"sig":"MEUCIB8elBLBcA5kVDxnEWItgoXlD6kauE/+FSmQUWOCfdamAiEA6Olf1jBXjRSpTBfT3oNaW66NocXDZDeanjloVW7KXGo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":85876},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"6b725f97f00105b15ee15da1122d343bdc6a50cb","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"code11-dev","email":"platform-ops@code11.com"},"repository":{"url":"git+ssh://git@github.com/code11/notifications-nestjs-module.git","type":"git"},"_npmVersion":"10.8.2","description":"NestJS module for notifications: in-app and email channels, TypeORM-backed storage, and pluggable resolvers and content providers.","directories":{},"_nodeVersion":"20.20.0","publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","typeorm":"^0.3.0","typescript":"^5.0.0","@nestjs/core":"^11.0.0","@nestjs/common":"^11.0.0","@nestjs/testing":"^11.0.0","@nestjs/typeorm":"^11.0.0","@nestjs/schedule":"^5.0.0","@vitest/coverage-v8":"^4.0.18"},"peerDependencies":{"typeorm":"^0.3.0","@nestjs/core":"^10.0.0 || ^11.0.0","@nestjs/common":"^10.0.0 || ^11.0.0","@nestjs/typeorm":"^10.0.0 || ^11.0.0","@nestjs/schedule":"^4.0.0 || ^5.0.0","reflect-metadata":"^0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/notifications-nestjs_1.0.0_1772451000499_0.9114372372767128","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@c11/notifications-nestjs","version":"1.0.1","author":{"name":"Radu Cocieru","email":"radu@code11.com"},"license":"PRIVATE","_id":"@c11/notifications-nestjs@1.0.1","maintainers":[{"name":"code11-dev","email":"platform-ops@code11.com"}],"homepage":"https://github.com/code11/notifications-nestjs-module#readme","bugs":{"url":"https://github.com/code11/notifications-nestjs-module/issues"},"dist":{"shasum":"b3aa3eb3857025e6bc2bd476e547da0f129bbe68","tarball":"https://registry.npmjs.org/@c11/notifications-nestjs/-/notifications-nestjs-1.0.1.tgz","fileCount":59,"integrity":"sha512-ZaTI+ovqwmpnGRGC8z0z/w3wdEwOrcbuQ/fnDleJhDyLPeqt5hAupiqXzDRLBO0CwhOEV7/tYe0pwnwUcVYJVA==","signatures":[{"sig":"MEUCIF0H9iwgqM4HWzv854dF3Utq+RvxNjaqy+xx9/R9W+mSAiEAwR1b+4zV0VjduQIQZCWZZUtAKuCyAgvD6kjE/U/x4Bo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":86244},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"7e1465f136e4797c08d67cc191d1a21b7d36a74d","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"code11-dev","email":"platform-ops@code11.com"},"repository":{"url":"git+ssh://git@github.com/code11/notifications-nestjs-module.git","type":"git"},"_npmVersion":"10.8.2","description":"NestJS module for notifications: in-app and email channels, TypeORM-backed storage, and pluggable resolvers and content providers.","directories":{},"_nodeVersion":"20.20.1","publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","typeorm":"^0.3.0","typescript":"^5.0.0","@nestjs/core":"^11.0.0","@nestjs/common":"^11.0.0","@nestjs/testing":"^11.0.0","@nestjs/typeorm":"^11.0.0","@nestjs/schedule":"^5.0.0","@vitest/coverage-v8":"^4.0.18"},"peerDependencies":{"typeorm":"^0.3.0","@nestjs/core":"^10.0.0 || ^11.0.0","@nestjs/common":"^10.0.0 || ^11.0.0","@nestjs/typeorm":"^10.0.0 || ^11.0.0","@nestjs/schedule":"^4.0.0 || ^5.0.0","reflect-metadata":"^0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/notifications-nestjs_1.0.1_1773782966919_0.8502772585580127","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@c11/notifications-nestjs","version":"1.0.2","author":{"name":"Radu Cocieru","email":"radu@code11.com"},"license":"PRIVATE","_id":"@c11/notifications-nestjs@1.0.2","maintainers":[{"name":"code11-dev","email":"platform-ops@code11.com"}],"homepage":"https://github.com/code11/notifications-nestjs-module#readme","bugs":{"url":"https://github.com/code11/notifications-nestjs-module/issues"},"dist":{"shasum":"c04d7883eb8279d86b613b1ba6e10ad6aa11b3ae","tarball":"https://registry.npmjs.org/@c11/notifications-nestjs/-/notifications-nestjs-1.0.2.tgz","fileCount":59,"integrity":"sha512-ESmI7BgkgS76dsNGSFh9YTqZHBN9ggW8Gx4DPmqu6Mh09Z/DMkQlJZCvt7sGJPrgdHLZ6PHc/6y+/oM3VkUrnw==","signatures":[{"sig":"MEQCIBoog4SAHdkYRQMtW9G51OhfEhezQ02zBVrSas52cR5xAiBXRH5mDLHpAr82NT8eCvP00MPLswEu+OiQQfB2tq/Y9Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":86472},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"95327855e35d8048de497fa384577746e730c80f","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"code11-dev","email":"platform-ops@code11.com"},"repository":{"url":"git+ssh://git@github.com/code11/notifications-nestjs-module.git","type":"git"},"_npmVersion":"10.8.2","description":"NestJS module for notifications: in-app and email channels, TypeORM-backed storage, and pluggable resolvers and content providers.","directories":{},"_nodeVersion":"20.20.1","publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","typeorm":"^0.3.0","typescript":"^5.0.0","@nestjs/core":"^11.0.0","@nestjs/common":"^11.0.0","@nestjs/testing":"^11.0.0","@nestjs/typeorm":"^11.0.0","@nestjs/schedule":"^5.0.0","@vitest/coverage-v8":"^4.0.18"},"peerDependencies":{"typeorm":"^0.3.0","@nestjs/core":"^10.0.0 || ^11.0.0","@nestjs/common":"^10.0.0 || ^11.0.0","@nestjs/typeorm":"^10.0.0 || ^11.0.0","@nestjs/schedule":"^4.0.0 || ^5.0.0","reflect-metadata":"^0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/notifications-nestjs_1.0.2_1773783732227_0.04417186305486043","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@c11/notifications-nestjs","version":"1.0.3","author":{"name":"Radu Cocieru","email":"radu@code11.com"},"license":"PRIVATE","_id":"@c11/notifications-nestjs@1.0.3","maintainers":[{"name":"code11-dev","email":"platform-ops@code11.com"}],"homepage":"https://github.com/code11/notifications-nestjs-module#readme","bugs":{"url":"https://github.com/code11/notifications-nestjs-module/issues"},"dist":{"shasum":"20e8229f148aac5481f39868a6901699ac789ede","tarball":"https://registry.npmjs.org/@c11/notifications-nestjs/-/notifications-nestjs-1.0.3.tgz","fileCount":59,"integrity":"sha512-M+EGFvmMvJ2a55ZGAqPeQiTS6SVgNj/dRXmgnS3MKk5V7X6KIcG035qGcAX+kedGXtqBkFA0NC26MWLoFyRAtA==","signatures":[{"sig":"MEQCICb2a/BJ85i+/t41BH4ibZU4w0PFVzomQ0750xTZMBRxAiBtXgXO8aqiaHkLQ37s6+7EyfL9s0re8bqGMYmKAzaGrg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":87356},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"4962b4b1639843c2d6582e12bd096969418aab4a","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"code11-dev","email":"platform-ops@code11.com"},"repository":{"url":"git+ssh://git@github.com/code11/notifications-nestjs-module.git","type":"git"},"_npmVersion":"10.8.2","description":"NestJS module for notifications: in-app and email channels, TypeORM-backed storage, and pluggable resolvers and content providers.","directories":{},"_nodeVersion":"20.20.1","publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","typeorm":"^0.3.0","typescript":"^5.0.0","@nestjs/core":"^11.0.0","@nestjs/common":"^11.0.0","@nestjs/testing":"^11.0.0","@nestjs/typeorm":"^11.0.0","@nestjs/schedule":"^5.0.0","@vitest/coverage-v8":"^4.0.18"},"peerDependencies":{"typeorm":"^0.3.0","@nestjs/core":"^10.0.0 || ^11.0.0","@nestjs/common":"^10.0.0 || ^11.0.0","@nestjs/typeorm":"^10.0.0 || ^11.0.0","@nestjs/schedule":"^4.0.0 || ^5.0.0","reflect-metadata":"^0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/notifications-nestjs_1.0.3_1773925730133_0.28709820085984905","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@c11/notifications-nestjs","version":"1.0.4","author":{"name":"Radu Cocieru","email":"radu@code11.com"},"license":"PRIVATE","_id":"@c11/notifications-nestjs@1.0.4","maintainers":[{"name":"code11-dev","email":"platform-ops@code11.com"}],"homepage":"https://github.com/code11/notifications-nestjs-module#readme","bugs":{"url":"https://github.com/code11/notifications-nestjs-module/issues"},"dist":{"shasum":"a1c5f1965bc7d701579425433094b0476b2b55ff","tarball":"https://registry.npmjs.org/@c11/notifications-nestjs/-/notifications-nestjs-1.0.4.tgz","fileCount":59,"integrity":"sha512-jnmfFqirDK6Y6a7NJDgKz0M24wcLLvINmfu/tuJOXA0PG8u8JHMs4x6KseOTgeFdnDc8GoZYyFmuT9KhcTSlcw==","signatures":[{"sig":"MEUCIEPWoOqQ/rFGsQHQ89t/c1cu0HucNVWt1yY4dhNZrkl4AiEAn6vI5bTTXEDVXxaDcXaCgzauxKwfNwBSVUUnv7ltH8s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":87360},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"9e803e63791f397c11c63ed83922fe852fded45a","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"code11-dev","email":"platform-ops@code11.com"},"repository":{"url":"git+ssh://git@github.com/code11/notifications-nestjs-module.git","type":"git"},"_npmVersion":"10.8.2","description":"NestJS module for notifications: in-app and email channels, TypeORM-backed storage, and pluggable resolvers and content providers.","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","typeorm":"^0.3.0","typescript":"^5.0.0","@nestjs/core":"^11.0.0","@nestjs/common":"^11.0.0","@nestjs/testing":"^11.0.0","@nestjs/typeorm":"^11.0.0","@nestjs/schedule":"^5.0.0","@vitest/coverage-v8":"^4.0.18"},"peerDependencies":{"typeorm":"^0.3.0","@nestjs/core":"^10.0.0 || ^11.0.0","@nestjs/common":"^10.0.0 || ^11.0.0","@nestjs/typeorm":"^10.0.0 || ^11.0.0","@nestjs/schedule":"^4.0.0 || ^5.0.0","reflect-metadata":"^0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/notifications-nestjs_1.0.4_1776433568470_0.14248303961238262","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@c11/notifications-nestjs","version":"1.0.5","repository":{"type":"git","url":"git+ssh://git@github.com/code11/notifications-nestjs-module.git"},"type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.js","scripts":{"build":"tsc -p tsconfig.build.json","prepublishOnly":"npm run build","test":"vitest run","test:watch":"vitest"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"peerDependencies":{"@nestjs/common":"^10.0.0 || ^11.0.0","@nestjs/core":"^10.0.0 || ^11.0.0","@nestjs/schedule":"^4.0.0 || ^5.0.0","@nestjs/typeorm":"^10.0.0 || ^11.0.0","typeorm":"^0.3.0","reflect-metadata":"^0.2.0"},"devDependencies":{"@nestjs/common":"^11.0.0","@nestjs/core":"^11.0.0","@nestjs/schedule":"^5.0.0","@nestjs/testing":"^11.0.0","@nestjs/typeorm":"^11.0.0","@vitest/coverage-v8":"^4.0.18","typeorm":"^0.3.0","typescript":"^5.0.0","vitest":"^4.0.18"},"publishConfig":{"registry":"https://registry.npmjs.org"},"author":{"name":"Radu Cocieru","email":"radu@code11.com"},"license":"PRIVATE","_id":"@c11/notifications-nestjs@1.0.5","gitHead":"d5dde77a3650cd2105f0e8350d2a1760252f11d9","description":"NestJS module for notifications: in-app and email channels, TypeORM-backed storage, and pluggable resolvers and content providers.","bugs":{"url":"https://github.com/code11/notifications-nestjs-module/issues"},"homepage":"https://github.com/code11/notifications-nestjs-module#readme","_nodeVersion":"20.20.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-4n5Z5I5bT12YZhRl7p+3GfFbxLMcLdEymoU4Ua/Ef5R8sXmcwn+/0bvid+MNcGsoZeo4CGOasVs0G+Ireabx9w==","shasum":"d6481543badd7ad330676a69a6a9b578528c4fad","tarball":"https://registry.npmjs.org/@c11/notifications-nestjs/-/notifications-nestjs-1.0.5.tgz","fileCount":59,"unpackedSize":87615,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIGmvAuXWYbziETypsjztaoq2pDI5PBKrD4EIS0mCHpEgAiBs5TKfGoDPwWw9PGxBlF/vSsEeU84o86NMgOCU7aDecQ=="}]},"_npmUser":{"name":"code11-dev","email":"platform-ops@code11.com"},"directories":{},"maintainers":[{"name":"code11-dev","email":"platform-ops@code11.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/notifications-nestjs_1.0.5_1778074662975_0.6309259035458388"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-02T11:30:00.380Z","modified":"2026-05-06T13:37:43.286Z","1.0.0":"2026-03-02T11:30:00.718Z","1.0.1":"2026-03-17T21:29:27.064Z","1.0.2":"2026-03-17T21:42:12.379Z","1.0.3":"2026-03-19T13:08:50.281Z","1.0.4":"2026-04-17T13:46:08.631Z","1.0.5":"2026-05-06T13:37:43.140Z"},"bugs":{"url":"https://github.com/code11/notifications-nestjs-module/issues"},"author":{"name":"Radu Cocieru","email":"radu@code11.com"},"license":"PRIVATE","homepage":"https://github.com/code11/notifications-nestjs-module#readme","repository":{"type":"git","url":"git+ssh://git@github.com/code11/notifications-nestjs-module.git"},"description":"NestJS module for notifications: in-app and email channels, TypeORM-backed storage, and pluggable resolvers and content providers.","maintainers":[{"name":"code11-dev","email":"platform-ops@code11.com"}],"readme":"# @c11/notifications-nestjs\n\nNestJS module for notifications: in-app and email channels, TypeORM-backed storage, and pluggable resolvers and content providers.\n\n## Installation\n\n```bash\nnpm install @c11/notifications-nestjs\n```\n\nPeer dependencies: `@nestjs/common`, `@nestjs/core`, `@nestjs/schedule`, `@nestjs/typeorm`, `typeorm`, `reflect-metadata`. Ensure your app has them installed.\n\n## Usage\n\nRegister the module with `forRoot()` and optional overrides:\n\n```ts\nimport { NotificationsModule } from \"@c11/notifications-nestjs\";\n\n@Module({\n  imports: [\n    NotificationsModule.forRoot({\n      imports: [YourConfigModule], // modules that export your custom providers\n      providers: [\n        { provide: NotificationEmailResolver, useClass: YourEmailResolver },\n        { provide: NotificationEmailContentProvider, useClass: YourEmailContentProvider },\n        // optional: NotificationMailSender, NotificationInAppContentProvider\n      ],\n    }),\n  ],\n})\nexport class AppModule {}\n```\n\n- **NotificationEmailResolver**: resolve email for a receiver (user id).\n- **NotificationEmailContentProvider**: build subject/body for email deliveries.\n- **NotificationMailSender**: send emails (default: console logger).\n- **NotificationInAppContentProvider**: build in-app content (default: minimal).\n\nExported services: `NotificationsService`, `NotificationRepository`, `NotificationDeliveryRepository`, and channel handlers as needed.\n\n## Database (TypeORM)\n\nThe module uses two entities:\n\n- **NotificationEntity** → table `notifications`\n- **NotificationDeliveryEntity** → table `notification_deliveries` and join table `notification_delivery_notifications`\n\n**Include the provided entities in your TypeORM setup** so the schema is known to TypeORM. When you import `NotificationsModule`, it registers these entities via `TypeOrmModule.forFeature()`. If your app uses `TypeOrmModule.forRoot({ autoLoadEntities: true })`, they are picked up automatically. Otherwise, add `NotificationEntity` and `NotificationDeliveryEntity` (imported from `@c11/notifications-nestjs`) to your TypeORM root config or feature modules so they are part of your DataSource.\n\n**Generate a migration** for your database from these entities using TypeORM’s migration generator (e.g. `npm run typeorm migration:generate -- -n AddNotifications` or your app’s equivalent). Then run the migration. This package does not ship migration files; the consuming app is responsible for generating and running migrations.\n\n## License\n\nPRIVATE\n","readmeFilename":"README.md"}