@develit-services/notification 0.0.3 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/dist/src.cjs +636 -0
  2. package/dist/src.d.cts +491 -0
  3. package/dist/src.d.mts +489 -0
  4. package/dist/src.d.ts +491 -0
  5. package/dist/src.mjs +625 -0
  6. package/package.json +6 -1
  7. package/@types/consts/audit-log.consts.ts +0 -7
  8. package/@types/consts/index.ts +0 -1
  9. package/@types/database/audit-log.types.ts +0 -7
  10. package/@types/database/index.ts +0 -1
  11. package/@types/email/IEmail.connector.ts +0 -21
  12. package/@types/email/IEmail.types.ts +0 -25
  13. package/@types/email/ecomail/ecomail.connector.ts +0 -139
  14. package/@types/email/ecomail/ecomail.types.ts +0 -27
  15. package/@types/email/ecomail/index.ts +0 -2
  16. package/@types/email/index.ts +0 -3
  17. package/@types/index.ts +0 -9
  18. package/@types/io/index.ts +0 -3
  19. package/@types/io/sendEmail.ts +0 -18
  20. package/@types/io/sendSlack.ts +0 -19
  21. package/@types/io/sendSms.ts +0 -20
  22. package/@types/pushNotification/IPushNotification.ts +0 -1
  23. package/@types/pushNotification/index.ts +0 -1
  24. package/@types/queue.ts +0 -19
  25. package/@types/service.ts +0 -30
  26. package/@types/slack/ISlack.types.ts +0 -3
  27. package/@types/slack/index.ts +0 -1
  28. package/@types/slack/slack.connector.ts +0 -27
  29. package/@types/sms/ISms.connector.ts +0 -22
  30. package/@types/sms/ISms.types.ts +0 -4
  31. package/@types/sms/index.ts +0 -3
  32. package/@types/sms/twilio/index.ts +0 -1
  33. package/@types/sms/twilio/twilio.connector.ts +0 -35
  34. package/CHANGELOG.md +0 -32
  35. package/build.config.ts +0 -29
  36. package/drizzle.config.ts +0 -3
  37. package/src/database/drizzle.ts +0 -6
  38. package/src/database/migrations/0000_funny_beast.sql +0 -12
  39. package/src/database/migrations/meta/0000_snapshot.json +0 -101
  40. package/src/database/migrations/meta/_journal.json +0 -13
  41. package/src/database/schema/audit-log.schema.ts +0 -13
  42. package/src/database/schema/index.ts +0 -1
  43. package/src/defineNotificationService.ts +0 -328
  44. package/src/defineNotificationWrangler.ts +0 -78
  45. package/src/index.ts +0 -12
  46. package/src/utils/connectors.ts +0 -1
  47. package/src/utils/database/command/create-audit-log.command.ts +0 -34
  48. package/src/utils/database/command/index.ts +0 -1
  49. package/src/utils/database/index.ts +0 -1
  50. package/src/utils/email.ts +0 -25
  51. package/src/utils/index.ts +0 -3
  52. package/src/utils/sms.ts +0 -25
  53. package/test/env.d.ts +0 -7
  54. package/test/integration/sendEmail.test.ts +0 -88
  55. package/test/setup/migrations.ts +0 -3
  56. package/test/unit/connectors/ecomail.connector.ts +0 -715
  57. package/test/unit/email.test.ts +0 -55
  58. package/tsconfig.json +0 -3
  59. package/vitest.config.ts +0 -31
  60. package/worker-configuration.d.ts +0 -25
  61. package/wrangler.jsonc +0 -209
  62. package/wrangler.ts +0 -106
@@ -1,55 +0,0 @@
1
- // import { initiateEmailConnector } from '@develit-services/notification/src/utils'
2
- import { describe, expect, it } from 'vitest'
3
-
4
- describe('unit placeholder', () => {
5
- it('should pass', () => {
6
- expect(true).toBe(true)
7
- })
8
- })
9
-
10
- // describe('initiateEmailConnector', () => {
11
- // describe('should initiate email connector when', () => {
12
- // it('the input is valid', () => {
13
- // const result = initiateEmailConnector(
14
- // 'ecomail',
15
- // '2de39f9c-d098-4cfc-93d9-5396a2f19a06',
16
- // 'smtp.gmail.com',
17
- // {
18
- // email: 'example@gmail.com',
19
- // name: undefined,
20
- // },
21
- // )
22
- // expect(result).toEqual({
23
- // API_KEY: '2de39f9c-d098-4cfc-93d9-5396a2f19a06',
24
- // SENDER: {
25
- // email: 'example@gmail.com',
26
- // name: undefined,
27
- // },
28
- // SMTP_HOST: 'smtp.gmail.com',
29
- // })
30
- // })
31
- // })
32
-
33
- // describe('should return an error when', () => {
34
- // it('the given email provider is not supported', () => {
35
- // expect(
36
- // async () =>
37
- // await initiateEmailConnector(
38
- // 'fakemail',
39
- // '2de39f9c-d098-4cfc-93d9-5396a2f19a06',
40
- // 'smtp.gmail.com',
41
- // {
42
- // email: 'example@gmail.com',
43
- // name: undefined,
44
- // },
45
- // ),
46
- // ).rejects.toThrowError(
47
- // expect.objectContaining({
48
- // code: 'UNKNOWN_ERROR',
49
- // message: 'Unsupported email provider',
50
- // status: 404,
51
- // }),
52
- // )
53
- // })
54
- // })
55
- // })
package/tsconfig.json DELETED
@@ -1,3 +0,0 @@
1
- {
2
- "extends": "../../tsconfig.json"
3
- }
package/vitest.config.ts DELETED
@@ -1,31 +0,0 @@
1
- import {
2
- defineWorkersProject,
3
- readD1Migrations,
4
- } from '@cloudflare/vitest-pool-workers/config'
5
-
6
- export default defineWorkersProject({
7
- test: {
8
- printConsoleTrace: true,
9
- deps: {
10
- optimizer: {
11
- ssr: {
12
- enabled: true,
13
- include: ['@develit-io/backend-sdk'],
14
- },
15
- },
16
- },
17
- poolOptions: {
18
- workers: {
19
- singleWorker: true,
20
- miniflare: {
21
- bindings: {
22
- MIGRATIONS: await readD1Migrations('./src/database/migrations'),
23
- },
24
- },
25
- wrangler: {
26
- configPath: './wrangler.jsonc',
27
- },
28
- },
29
- },
30
- },
31
- })
@@ -1,25 +0,0 @@
1
- /* eslint-disable */
2
- // Generated by Wrangler by running `wrangler types --include-runtime false --env-interface NotificationEnv` (hash: f27bf2311bf7e2e03c649acaff98bf39)
3
- declare namespace Cloudflare {
4
- interface Env {
5
- EMAIL_PROVIDER: "ecomail";
6
- EMAIL_SENDER: {"email":"noreply@notify.develit.io","name":"develit"};
7
- EMAIL_SMTP_HOST: "notify.develit.io";
8
- EMAIL_API_KEY: "";
9
- SMS_PROVIDER: "twilio";
10
- SMS_ACCOUNT_ID: "";
11
- SMS_AUTH_TOKEN: "";
12
- SMS_SERVICE_ID: "";
13
- SLACK_WEBHOOKS: [""];
14
- ENVIRONMENT: "dev" | "test" | "staging" | "production";
15
- NOTIFICATION_D1: D1Database;
16
- NOTIFICATIONS_QUEUE: Queue;
17
- }
18
- }
19
- interface NotificationEnv extends Cloudflare.Env {}
20
- type StringifyValues<EnvType extends Record<string, unknown>> = {
21
- [Binding in keyof EnvType]: EnvType[Binding] extends string ? EnvType[Binding] : string;
22
- };
23
- declare namespace NodeJS {
24
- interface ProcessEnv extends StringifyValues<Pick<Cloudflare.Env, "EMAIL_PROVIDER" | "EMAIL_SENDER" | "EMAIL_SMTP_HOST" | "EMAIL_API_KEY" | "SMS_PROVIDER" | "SMS_ACCOUNT_ID" | "SMS_AUTH_TOKEN" | "SMS_SERVICE_ID" | "SLACK_WEBHOOKS" | "ENVIRONMENT">> {}
25
- }
package/wrangler.jsonc DELETED
@@ -1,209 +0,0 @@
1
- // ⚠️ AUTO-GENERATED FILE. DO NOT EDIT.
2
- // To make changes, update wrangler.ts and re-run the generation script.
3
-
4
- {
5
- "name": "develit-notification",
6
- "main": "./src/index.ts",
7
- "compatibility_date": "2025-06-04",
8
- "compatibility_flags": [
9
- "nodejs_compat"
10
- ],
11
- "d1_databases": [
12
- {
13
- "binding": "NOTIFICATION_D1",
14
- "database_name": "develit-notification",
15
- "database_id": "00000000-da3f-4c28-a72c-4cb2920f7a3e",
16
- "migrations_dir": "./src/database/migrations"
17
- }
18
- ],
19
- "queues": {
20
- "producers": [
21
- {
22
- "binding": "NOTIFICATIONS_QUEUE",
23
- "queue": "develit-notification"
24
- }
25
- ],
26
- "consumers": [
27
- {
28
- "queue": "develit-notification",
29
- "max_batch_size": 1,
30
- "max_batch_timeout": 5,
31
- "dead_letter_queue": "develit-notification-dlq"
32
- }
33
- ]
34
- },
35
- "env": {
36
- "dev": {
37
- "vars": {
38
- "EMAIL_PROVIDER": "ecomail",
39
- "EMAIL_SENDER": {
40
- "email": "noreply@notify.develit.io",
41
- "name": "develit"
42
- },
43
- "EMAIL_SMTP_HOST": "notify.develit.io",
44
- "EMAIL_API_KEY": "",
45
- "SMS_PROVIDER": "twilio",
46
- "SMS_ACCOUNT_ID": "",
47
- "SMS_AUTH_TOKEN": "",
48
- "SMS_SERVICE_ID": "",
49
- "SLACK_WEBHOOKS": [
50
- ""
51
- ],
52
- "ENVIRONMENT": "dev"
53
- },
54
- "d1_databases": [
55
- {
56
- "binding": "NOTIFICATION_D1",
57
- "database_name": "develit-notification-dev",
58
- "database_id": "5ee14d35-25a8-4f6a-835d-bbb7cf335b48",
59
- "migrations_dir": "./src/database/migrations"
60
- }
61
- ],
62
- "queues": {
63
- "producers": [
64
- {
65
- "binding": "NOTIFICATIONS_QUEUE",
66
- "queue": "develit-notification-dev"
67
- }
68
- ],
69
- "consumers": [
70
- {
71
- "queue": "develit-notification-dev",
72
- "max_batch_size": 1,
73
- "max_batch_timeout": 5,
74
- "dead_letter_queue": "develit-notification-dlq-dev"
75
- }
76
- ]
77
- }
78
- },
79
- "test": {
80
- "vars": {
81
- "EMAIL_PROVIDER": "ecomail",
82
- "EMAIL_SENDER": {
83
- "email": "noreply@notify.develit.io",
84
- "name": "develit"
85
- },
86
- "EMAIL_SMTP_HOST": "notify.develit.io",
87
- "EMAIL_API_KEY": "",
88
- "SMS_PROVIDER": "twilio",
89
- "SMS_ACCOUNT_ID": "",
90
- "SMS_AUTH_TOKEN": "",
91
- "SMS_SERVICE_ID": "",
92
- "SLACK_WEBHOOKS": [
93
- ""
94
- ],
95
- "ENVIRONMENT": "test"
96
- },
97
- "d1_databases": [
98
- {
99
- "binding": "NOTIFICATION_D1",
100
- "database_name": "develit-notification-test",
101
- "database_id": "aa97cfa8-bf12-4e0d-837d-ef14e716db0d",
102
- "migrations_dir": "./src/database/migrations"
103
- }
104
- ],
105
- "queues": {
106
- "producers": [
107
- {
108
- "binding": "NOTIFICATIONS_QUEUE",
109
- "queue": "develit-notification-test"
110
- }
111
- ],
112
- "consumers": [
113
- {
114
- "queue": "develit-notification-test",
115
- "max_batch_size": 1,
116
- "max_batch_timeout": 5,
117
- "dead_letter_queue": "develit-notification-dlq-test"
118
- }
119
- ]
120
- }
121
- },
122
- "staging": {
123
- "vars": {
124
- "EMAIL_PROVIDER": "ecomail",
125
- "EMAIL_SENDER": {
126
- "email": "noreply@notify.develit.io",
127
- "name": "develit"
128
- },
129
- "EMAIL_SMTP_HOST": "notify.develit.io",
130
- "EMAIL_API_KEY": "",
131
- "SMS_PROVIDER": "twilio",
132
- "SMS_ACCOUNT_ID": "",
133
- "SMS_AUTH_TOKEN": "",
134
- "SMS_SERVICE_ID": "",
135
- "SLACK_WEBHOOKS": [
136
- ""
137
- ],
138
- "ENVIRONMENT": "staging"
139
- },
140
- "d1_databases": [
141
- {
142
- "binding": "NOTIFICATION_D1",
143
- "database_name": "develit-notification-staging",
144
- "database_id": "38ada081-b75d-4814-b162-02e89baa6e35",
145
- "migrations_dir": "./src/database/migrations"
146
- }
147
- ],
148
- "queues": {
149
- "producers": [
150
- {
151
- "binding": "NOTIFICATIONS_QUEUE",
152
- "queue": "develit-notification-staging"
153
- }
154
- ],
155
- "consumers": [
156
- {
157
- "queue": "develit-notification-staging",
158
- "max_batch_size": 1,
159
- "max_batch_timeout": 5,
160
- "dead_letter_queue": "develit-notification-dlq-staging"
161
- }
162
- ]
163
- }
164
- },
165
- "production": {
166
- "vars": {
167
- "EMAIL_PROVIDER": "ecomail",
168
- "EMAIL_SENDER": {
169
- "email": "noreply@notify.develit.io",
170
- "name": "develit"
171
- },
172
- "EMAIL_SMTP_HOST": "notify.develit.io",
173
- "EMAIL_API_KEY": "",
174
- "SMS_PROVIDER": "twilio",
175
- "SMS_ACCOUNT_ID": "",
176
- "SMS_AUTH_TOKEN": "",
177
- "SMS_SERVICE_ID": "",
178
- "SLACK_WEBHOOKS": [
179
- ""
180
- ],
181
- "ENVIRONMENT": "production"
182
- },
183
- "d1_databases": [
184
- {
185
- "binding": "NOTIFICATION_D1",
186
- "database_name": "develit-notification-production",
187
- "database_id": "a1b7886f-cba5-46da-871b-8a02ec50c8c4",
188
- "migrations_dir": "./src/database/migrations"
189
- }
190
- ],
191
- "queues": {
192
- "producers": [
193
- {
194
- "binding": "NOTIFICATIONS_QUEUE",
195
- "queue": "develit-notification-production"
196
- }
197
- ],
198
- "consumers": [
199
- {
200
- "queue": "develit-notification-production",
201
- "max_batch_size": 1,
202
- "max_batch_timeout": 5,
203
- "dead_letter_queue": "develit-notification-dlq-production"
204
- }
205
- ]
206
- }
207
- }
208
- }
209
- }
package/wrangler.ts DELETED
@@ -1,106 +0,0 @@
1
- import { defineNotificationServiceWrangler } from './src/defineNotificationWrangler'
2
-
3
- export default defineNotificationServiceWrangler({
4
- name: 'develit-notification',
5
- envs: {
6
- local: {
7
- d1: {
8
- id: '00000000-da3f-4c28-a72c-4cb2920f7a3e',
9
- },
10
- vars: {
11
- EMAIL_PROVIDER: 'ecomail',
12
- EMAIL_SENDER: {
13
- email: 'noreply@notify.develit.io',
14
- name: 'develit',
15
- },
16
- EMAIL_SMTP_HOST: 'notify.develit.io',
17
- EMAIL_API_KEY: '',
18
- SMS_PROVIDER: 'twilio',
19
- SMS_ACCOUNT_ID: '',
20
- SMS_AUTH_TOKEN: '',
21
- SMS_SERVICE_ID: '',
22
- SLACK_WEBHOOKS: [''],
23
- },
24
- },
25
- dev: {
26
- d1: {
27
- id: '5ee14d35-25a8-4f6a-835d-bbb7cf335b48',
28
- },
29
- vars: {
30
- EMAIL_PROVIDER: 'ecomail',
31
- EMAIL_SENDER: {
32
- email: 'noreply@notify.develit.io',
33
- name: 'develit',
34
- },
35
- EMAIL_SMTP_HOST: 'notify.develit.io',
36
- EMAIL_API_KEY: '',
37
- SMS_PROVIDER: 'twilio',
38
- SMS_ACCOUNT_ID: '',
39
- SMS_AUTH_TOKEN: '',
40
- SMS_SERVICE_ID: '',
41
- SLACK_WEBHOOKS: [''],
42
- },
43
- },
44
- test: {
45
- d1: {
46
- id: 'aa97cfa8-bf12-4e0d-837d-ef14e716db0d',
47
- },
48
- vars: {
49
- EMAIL_PROVIDER: 'ecomail',
50
- EMAIL_SENDER: {
51
- email: 'noreply@notify.develit.io',
52
- name: 'develit',
53
- },
54
- EMAIL_SMTP_HOST: 'notify.develit.io',
55
- EMAIL_API_KEY: '',
56
- SMS_PROVIDER: 'twilio',
57
- SMS_ACCOUNT_ID: '',
58
- SMS_AUTH_TOKEN: '',
59
- SMS_SERVICE_ID: '',
60
- SLACK_WEBHOOKS: [''],
61
- },
62
- },
63
- staging: {
64
- d1: {
65
- id: '38ada081-b75d-4814-b162-02e89baa6e35',
66
- },
67
- queue: {
68
- max_batch_size: 1,
69
- max_batch_timeout: 5,
70
- },
71
- vars: {
72
- EMAIL_PROVIDER: 'ecomail',
73
- EMAIL_SENDER: {
74
- email: 'noreply@notify.develit.io',
75
- name: 'develit',
76
- },
77
- EMAIL_SMTP_HOST: 'notify.develit.io',
78
- EMAIL_API_KEY: '',
79
- SMS_PROVIDER: 'twilio',
80
- SMS_ACCOUNT_ID: '',
81
- SMS_AUTH_TOKEN: '',
82
- SMS_SERVICE_ID: '',
83
- SLACK_WEBHOOKS: [''],
84
- },
85
- },
86
- production: {
87
- d1: {
88
- id: 'a1b7886f-cba5-46da-871b-8a02ec50c8c4',
89
- },
90
- vars: {
91
- EMAIL_PROVIDER: 'ecomail',
92
- EMAIL_SENDER: {
93
- email: 'noreply@notify.develit.io',
94
- name: 'develit',
95
- },
96
- EMAIL_SMTP_HOST: 'notify.develit.io',
97
- EMAIL_API_KEY: '',
98
- SMS_PROVIDER: 'twilio',
99
- SMS_ACCOUNT_ID: '',
100
- SMS_AUTH_TOKEN: '',
101
- SMS_SERVICE_ID: '',
102
- SLACK_WEBHOOKS: [''],
103
- },
104
- },
105
- },
106
- })