{"_id":"@duyhotan2000/nestjs-agenda","_rev":"1-210d5fc4fea638f943891b35277ac34c","name":"@duyhotan2000/nestjs-agenda","dist-tags":{"latest":"2.0.4"},"versions":{"2.0.3":{"name":"@duyhotan2000/nestjs-agenda","version":"2.0.3","description":"An opioninated agenda module for Nestjs","repository":{"type":"git","url":"git+https://github.com/duyhotan2000/nestjs-agenda.git"},"license":"MIT","main":"dist/index.js","types":"dist/index.d.ts","keywords":["nestjs","nest","agenda","mongodb"],"publishConfig":{"registry":"https://registry.npmjs.org/"},"scripts":{"test":"vitest","test:e2e":"tsnd test/src/main.ts","build":"rimraf dist && tsc -p tsconfig.build.json","release":"npm run build && release-it"},"devDependencies":{"@nestjs/cli":"^9.0.0","@nestjs/common":"^9.0.7","@nestjs/core":"^9.0.7","@nestjs/platform-express":"^9.0.7","@nestjs/testing":"^9.0.7","@swc/core":"^1.2.220","@types/node":"^18.6.3","agenda":"^4.3.0","reflect-metadata":"^0.1.13","release-it":"^15.2.0","rimraf":"^3.0.2","rxjs":"^7.5.6","ts-node":"^10.9.1","ts-node-dev":"^2.0.0","typescript":"^4.7.4","unplugin-swc":"^1.3.2","vitest":"^0.19.1"},"peerDependencies":{"@nestjs/common":"^9.0.0","@nestjs/core":"^9.0.0","agenda":"^4.3.0","reflect-metadata":"^0.1.13"},"gitHead":"3cf74ee771f3d0d2fdbce80387f8da45fbf7c770","bugs":{"url":"https://github.com/duyhotan2000/nestjs-agenda/issues"},"homepage":"https://github.com/duyhotan2000/nestjs-agenda#readme","_id":"@duyhotan2000/nestjs-agenda@2.0.3","_nodeVersion":"18.16.1","_npmVersion":"9.5.1","dist":{"integrity":"sha512-BAhXC7UU2xvLf8KJXRL647k6pDWOvkkbWUFYv8Lsu4048s8RfHsqJ06G0aMQND8STy1+Bjnv0YeUrKMjoFW6SQ==","shasum":"fc0a9f4f7112e1ba183f0638aed12a8b69562fc6","tarball":"https://registry.npmjs.org/@duyhotan2000/nestjs-agenda/-/nestjs-agenda-2.0.3.tgz","fileCount":51,"unpackedSize":32135,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAI0Ty1v1i3jhWfavJbJZVVM1QIhP16bVu+A+4bhLZs6AiEA9aVIld9eUJ0V3uRR41XhUuU7QpsJlr3nAhkEtu9NYek="}]},"_npmUser":{"name":"duyhotan2000","email":"duy_hotan2000@yahoo.com"},"directories":{},"maintainers":[{"name":"duyhotan2000","email":"duy_hotan2000@yahoo.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nestjs-agenda_2.0.3_1691405372426_0.9078001036955579"},"_hasShrinkwrap":false},"2.0.4":{"name":"@duyhotan2000/nestjs-agenda","version":"2.0.4","description":"An opioninated agenda module for Nestjs","repository":{"type":"git","url":"git+https://github.com/duyhotan2000/nestjs-agenda.git"},"license":"MIT","main":"dist/index.js","types":"dist/index.d.ts","keywords":["nestjs","nest","agenda","mongodb"],"publishConfig":{"registry":"https://registry.npmjs.org/"},"scripts":{"test":"vitest","test:e2e":"tsnd test/src/main.ts","build":"rimraf dist && tsc -p tsconfig.build.json","release":"npm run build && release-it"},"devDependencies":{"@nestjs/cli":"^9.0.0","@nestjs/common":"^9.0.7","@nestjs/core":"^9.0.7","@nestjs/platform-express":"^9.0.7","@nestjs/testing":"^9.0.7","@swc/core":"^1.2.220","@types/node":"^18.6.3","agenda":"^4.3.0","reflect-metadata":"^0.1.13","release-it":"^15.2.0","rimraf":"^3.0.2","rxjs":"^7.5.6","ts-node":"^10.9.1","ts-node-dev":"^2.0.0","typescript":"^4.7.4","unplugin-swc":"^1.3.2","vitest":"^0.19.1"},"peerDependencies":{"@nestjs/common":"^9.0.0","@nestjs/core":"^9.0.0","agenda":"^4.3.0","reflect-metadata":"^0.1.13"},"gitHead":"0acd00f77ab3c94f6993c7e62b5a8db40e6a1e51","bugs":{"url":"https://github.com/duyhotan2000/nestjs-agenda/issues"},"homepage":"https://github.com/duyhotan2000/nestjs-agenda#readme","_id":"@duyhotan2000/nestjs-agenda@2.0.4","_nodeVersion":"18.16.1","_npmVersion":"9.5.1","dist":{"integrity":"sha512-NVS5CteCwgzWN+vq9lWctCf4kb7tGjjOi7u0wEAC45amleqC/j9F70GvII/JPIMIvecvh1FaAb71IwZdRVOxkg==","shasum":"8e377215cf7ed74877a7408df9bf6ed5c2b54562","tarball":"https://registry.npmjs.org/@duyhotan2000/nestjs-agenda/-/nestjs-agenda-2.0.4.tgz","fileCount":51,"unpackedSize":32125,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIENF+gYYEW9awnY6XvaJOOTZa4Q3XDIVLgChONEvGmz7AiEAxTl4JwDsORi6s7cei02Z7kWwkhYDMKqfI85LtvP+AAs="}]},"_npmUser":{"name":"duyhotan2000","email":"duy_hotan2000@yahoo.com"},"directories":{},"maintainers":[{"name":"duyhotan2000","email":"duy_hotan2000@yahoo.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nestjs-agenda_2.0.4_1691461916415_0.9617891893792676"},"_hasShrinkwrap":false}},"time":{"created":"2023-08-07T10:49:32.349Z","2.0.3":"2023-08-07T10:49:32.623Z","modified":"2023-08-08T02:31:56.688Z","2.0.4":"2023-08-08T02:31:56.582Z"},"maintainers":[{"name":"duyhotan2000","email":"duy_hotan2000@yahoo.com"}],"description":"An opioninated agenda module for Nestjs","homepage":"https://github.com/duyhotan2000/nestjs-agenda#readme","keywords":["nestjs","nest","agenda","mongodb"],"repository":{"type":"git","url":"git+https://github.com/duyhotan2000/nestjs-agenda.git"},"bugs":{"url":"https://github.com/duyhotan2000/nestjs-agenda/issues"},"license":"MIT","readme":"# nestjs-agenda\n> The Agenda module you've been looking for\n\nI've always wanted a module similar to @nestjs/schedule & @nestjs/bull but for [agenda](https://github.com/agenda/agenda), the mongoose task scheduling library. Stay tuned for a BullMQ nestjs module as well, because they sure as hell won't do it.\n\n\n## Installation\n```sh\nyarn add @duyhotan2000/nestjs-agenda agenda\n# npm install ...\n```\n\n## Usage\n`app.processor.ts`\n```ts\nimport { Processor, Define, Every, Schedule } from \"@duyhotan2000/nestjs-agenda\";\nimport { Job } from \"agenda\";\n\ninterface ISayYourName {\n  name: string;\n}\n\n@Processor()\nexport class AppProcessor {\n  @Define('Say \"Hello world!\"')\n  @Every('30 seconds')\n  sayHelloWorld() {\n    console.log(\"Hello world!\");\n  }\n\n  @Define('Say \"Goodbye world!\"')\n  @Schedule('in 1 minute')\n  sayGoodbyeWorld() {\n    console.log(\"Goodbye world!\")\n  }\n\n  @Define('Say your name')\n  sayYourName(job: Job<ISayYourName>) {\n    console.log(`Your name is ${job.attrs.data.name}`);\n  }\n}\n```\n`app.service.ts`\n```ts\n...\nimport { AgendaService } from \"@duyhotan2000/nestjs-agenda\";\n@Injectable()\nexport class AppService {\n  constructor(\n    // AgendaService is an instance of Agenda\n    private readonly agendaService: AgendaService,\n  )\n  \n  sayYourName(name: string) {\n    agendaService.now('Say your name', { name })\n  }\n}\n```\n`app.module.ts`\n```ts\n...\nimport { AgendaModule } from \"@duyhotan2000/nestjs-agenda\";\nimport { AppProcessor } from \"./app.processor\";\n\n@Module({\n  imports: [\n    AgendaModule.forRoot({\n      db: { \n        address: ... // Enter MongoDB URI Connection\n      }\n    })\n  ],\n  providers: [AppProcessor]\n})\nexport class AppModule {}\n```","readmeFilename":"README.md"}