@coopenomics/notifications 2025.11.8
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.
- package/.cursor/rules/notifications.mdc +20 -0
- package/.env-example +2 -0
- package/README.md +218 -0
- package/build.config.ts +13 -0
- package/dist/index.cjs +3027 -0
- package/dist/index.d.cts +792 -0
- package/dist/index.d.mts +792 -0
- package/dist/index.d.ts +792 -0
- package/dist/index.mjs +3016 -0
- package/dist/sync/novu-sync.service.d.ts +30 -0
- package/dist/sync/novu-sync.service.js +128 -0
- package/dist/sync/sync-runner.d.ts +4 -0
- package/dist/sync/sync-runner.js +130 -0
- package/dist/utils/role-utils.d.ts +8 -0
- package/dist/utils/role-utils.js +18 -0
- package/dist/workflows/incoming-transfer/incoming-transfer-workflow.d.ts +3 -0
- package/dist/workflows/incoming-transfer/incoming-transfer-workflow.js +16 -0
- package/dist/workflows/incoming-transfer/index.d.ts +3 -0
- package/dist/workflows/incoming-transfer/index.js +2 -0
- package/dist/workflows/incoming-transfer/types.d.ts +12 -0
- package/dist/workflows/incoming-transfer/types.js +5 -0
- package/dist/workflows/new-agenda-item/index.d.ts +3 -0
- package/dist/workflows/new-agenda-item/index.js +2 -0
- package/dist/workflows/new-agenda-item/new-agenda-item-workflow.d.ts +3 -0
- package/dist/workflows/new-agenda-item/new-agenda-item-workflow.js +16 -0
- package/dist/workflows/new-agenda-item/types.d.ts +27 -0
- package/dist/workflows/new-agenda-item/types.js +10 -0
- package/dist/workflows/role-based-workflows.d.ts +21 -0
- package/dist/workflows/role-based-workflows.js +65 -0
- package/package.json +51 -0
- package/src/base/defaults.ts +66 -0
- package/src/base/workflow-builder.ts +128 -0
- package/src/index.ts +9 -0
- package/src/sync/README.md +54 -0
- package/src/sync/novu-sync.service.ts +246 -0
- package/src/sync/sync-runner.ts +154 -0
- package/src/types/index.ts +99 -0
- package/src/utils/index.ts +1 -0
- package/src/utils/slugify/builtinReplacements.ts +2065 -0
- package/src/utils/slugify/slugify.ts +284 -0
- package/src/utils/slugify/transliterate.ts +48 -0
- package/src/workflows/approval-request/index.ts +52 -0
- package/src/workflows/approval-response/index.ts +54 -0
- package/src/workflows/decision-approved/index.ts +50 -0
- package/src/workflows/email-verification/index.ts +35 -0
- package/src/workflows/incoming-transfer/index.ts +43 -0
- package/src/workflows/index.ts +74 -0
- package/src/workflows/invite/index.ts +34 -0
- package/src/workflows/meet-ended/index.ts +51 -0
- package/src/workflows/meet-initial/index.ts +53 -0
- package/src/workflows/meet-reminder-end/index.ts +52 -0
- package/src/workflows/meet-reminder-start/index.ts +51 -0
- package/src/workflows/meet-restart/index.ts +53 -0
- package/src/workflows/meet-started/index.ts +51 -0
- package/src/workflows/new-agenda-item/index.ts +51 -0
- package/src/workflows/new-deposit-payment-request/index.ts +50 -0
- package/src/workflows/new-initial-payment-request/index.ts +50 -0
- package/src/workflows/payment-cancelled/index.ts +51 -0
- package/src/workflows/payment-paid/index.ts +50 -0
- package/src/workflows/reset-key/index.ts +36 -0
- package/src/workflows/server-provisioned/index.ts +45 -0
- package/src/workflows/welcome/index.ts +43 -0
- package/tsconfig.json +18 -0
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import { WorkflowDefinition } from '../../types';
|
|
4
|
+
import { WorkflowBuilder } from '../../base/workflow-builder';
|
|
5
|
+
import { createEmailStep, createInAppStep, createPushStep } from '../../base/defaults';
|
|
6
|
+
import { BaseWorkflowPayload } from '../../types';
|
|
7
|
+
import { slugify } from '../../utils';
|
|
8
|
+
|
|
9
|
+
// Схема для welcome воркфлоу
|
|
10
|
+
export const welcomePayloadSchema = z.object({
|
|
11
|
+
userName: z.string(),
|
|
12
|
+
});
|
|
13
|
+
export type IPayload = z.infer<typeof welcomePayloadSchema>;
|
|
14
|
+
export interface IWorkflow extends BaseWorkflowPayload, IPayload {}
|
|
15
|
+
|
|
16
|
+
export const name = 'Добро пожаловать';
|
|
17
|
+
export const id = slugify(name);
|
|
18
|
+
|
|
19
|
+
export const workflow: WorkflowDefinition<IWorkflow> = WorkflowBuilder
|
|
20
|
+
.create<IWorkflow>()
|
|
21
|
+
.name(name)
|
|
22
|
+
.workflowId(id)
|
|
23
|
+
.description('Приветственные уведомления для новых пользователей')
|
|
24
|
+
.payloadSchema(welcomePayloadSchema)
|
|
25
|
+
.tags(['user'])
|
|
26
|
+
.addSteps([
|
|
27
|
+
createEmailStep(
|
|
28
|
+
'welcome-email',
|
|
29
|
+
'Добро пожаловать, {{payload.userName}}',
|
|
30
|
+
'Здравствуйте, {{payload.userName}}!<br><br>Для завершения процедуры вступления совершите взносы по предоставленным в личном кабинете реквизитам. После получения взноса совет примет Вас в пайщики. Обычно, это занимает не более 1-2 дней.'
|
|
31
|
+
),
|
|
32
|
+
createInAppStep(
|
|
33
|
+
'welcome-notification',
|
|
34
|
+
'Добро пожаловать в систему',
|
|
35
|
+
'Привет, {{payload.userName}}! Добро пожаловать в кооператив!'
|
|
36
|
+
),
|
|
37
|
+
createPushStep(
|
|
38
|
+
'welcome-push',
|
|
39
|
+
'Добро пожаловать, {{payload.userName}}!',
|
|
40
|
+
'Добро пожаловать в кооператив!'
|
|
41
|
+
),
|
|
42
|
+
])
|
|
43
|
+
.build();
|
package/tsconfig.json
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "ES2020",
|
|
4
|
+
"module": "ES2020",
|
|
5
|
+
"moduleResolution": "node",
|
|
6
|
+
"declaration": true,
|
|
7
|
+
"outDir": "./dist",
|
|
8
|
+
"rootDir": "./src",
|
|
9
|
+
"strict": true,
|
|
10
|
+
"esModuleInterop": true,
|
|
11
|
+
"allowSyntheticDefaultImports": true,
|
|
12
|
+
"skipLibCheck": true,
|
|
13
|
+
"forceConsistentCasingInFileNames": true,
|
|
14
|
+
"resolveJsonModule": true
|
|
15
|
+
},
|
|
16
|
+
"include": ["src/**/*"],
|
|
17
|
+
"exclude": ["node_modules", "dist"]
|
|
18
|
+
}
|