jenkins-generator 2.0.1 → 2.2.0

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 (35) hide show
  1. package/.dockerignore +8 -0
  2. package/DOCKER_COMPOSE_GUIDE.md +62 -0
  3. package/Dockerfile +23 -0
  4. package/README.md +65 -18
  5. package/dist/app.module.js +6 -0
  6. package/dist/app.module.js.map +1 -1
  7. package/dist/interfaces/config.interface.d.ts +11 -4
  8. package/dist/services/cicd-generator.service.d.ts +7 -1
  9. package/dist/services/cicd-generator.service.js +80 -18
  10. package/dist/services/cicd-generator.service.js.map +1 -1
  11. package/dist/services/cloud-provider.service.d.ts +1 -0
  12. package/dist/services/cloud-provider.service.js +135 -49
  13. package/dist/services/cloud-provider.service.js.map +1 -1
  14. package/dist/services/dashboard.service.d.ts +4 -0
  15. package/dist/services/dashboard.service.js +103 -0
  16. package/dist/services/dashboard.service.js.map +1 -0
  17. package/dist/services/docker-compose.service.d.ts +7 -0
  18. package/dist/services/docker-compose.service.js +113 -0
  19. package/dist/services/docker-compose.service.js.map +1 -0
  20. package/dist/services/iac.service.d.ts +8 -0
  21. package/dist/services/iac.service.js +164 -0
  22. package/dist/services/iac.service.js.map +1 -0
  23. package/dist/services/jenkinsfile.service.d.ts +1 -0
  24. package/dist/services/jenkinsfile.service.js +131 -33
  25. package/dist/services/jenkinsfile.service.js.map +1 -1
  26. package/dist/services/notification.service.js +13 -15
  27. package/dist/services/notification.service.js.map +1 -1
  28. package/dist/services/prompt.service.js +90 -18
  29. package/dist/services/prompt.service.js.map +1 -1
  30. package/dist/services/validation.service.js +1 -1
  31. package/dist/services/validation.service.js.map +1 -1
  32. package/dist/tsconfig.tsbuildinfo +1 -1
  33. package/docker-compose.yml +13 -0
  34. package/jest.config.js +12 -0
  35. package/package.json +8 -1
@@ -0,0 +1,164 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.IaCService = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ let IaCService = class IaCService {
12
+ generateTerraformConfig(config, dockerImageName) {
13
+ switch (config.provider) {
14
+ case 'aws':
15
+ return this.generateAWSTerraform(config, dockerImageName);
16
+ case 'azure':
17
+ return this.generateAzureTerraform(config, dockerImageName);
18
+ case 'gcp':
19
+ return this.generateGCPTerraform(config, dockerImageName);
20
+ case 'digitalocean':
21
+ return this.generateDOTerraform(config, dockerImageName);
22
+ default:
23
+ return '';
24
+ }
25
+ }
26
+ generateAWSTerraform(config, dockerImageName) {
27
+ return `
28
+ provider "aws" {
29
+ region = "${config.region}"
30
+ }
31
+
32
+ resource "aws_ecs_cluster" "main" {
33
+ name = "${dockerImageName}-cluster"
34
+ }
35
+
36
+ resource "aws_iam_role" "ecs_task_execution_role" {
37
+ name = "${dockerImageName}-task-exec-role"
38
+
39
+ assume_role_policy = jsonencode({
40
+ Version = "2012-10-17"
41
+ Statement = [
42
+ {
43
+ Action = "sts:AssumeRole"
44
+ Effect = "Allow"
45
+ Principal = {
46
+ Service = "ecs-tasks.amazonaws.com"
47
+ }
48
+ }
49
+ ]
50
+ })
51
+ }
52
+
53
+ resource "aws_iam_role_policy_attachment" "ecs_task_execution_role_policy" {
54
+ role = aws_iam_role.ecs_task_execution_role.name
55
+ policy_arn = "arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy"
56
+ }
57
+ `;
58
+ }
59
+ generateAzureTerraform(config, dockerImageName) {
60
+ return `
61
+ provider "azurerm" {
62
+ features {}
63
+ }
64
+
65
+ resource "azurerm_resource_group" "main" {
66
+ name = "\${var.resource_group_name}"
67
+ location = "${config.region}"
68
+ }
69
+
70
+ resource "azurerm_container_group" "main" {
71
+ name = "${dockerImageName}"
72
+ location = azurerm_resource_group.main.location
73
+ resource_group_name = azurerm_resource_group.main.name
74
+ ip_address_type = "Public"
75
+ dns_name_label = "${dockerImageName}"
76
+ os_type = "Linux"
77
+
78
+ container {
79
+ name = "${dockerImageName}"
80
+ image = "\${var.docker_image}"
81
+ cpu = "1"
82
+ memory = "1.5"
83
+
84
+ ports {
85
+ port = ${config.deploymentConfig.port}
86
+ protocol = "TCP"
87
+ }
88
+ }
89
+ }
90
+ `;
91
+ }
92
+ generateGCPTerraform(config, dockerImageName) {
93
+ return `
94
+ provider "google" {
95
+ project = "\${var.gcp_project_id}"
96
+ region = "${config.region}"
97
+ }
98
+
99
+ resource "google_cloud_run_service" "main" {
100
+ name = "${dockerImageName}"
101
+ location = "${config.region}"
102
+
103
+ template {
104
+ spec {
105
+ containers {
106
+ image = "\${var.docker_image}"
107
+ ports {
108
+ container_port = ${config.deploymentConfig.port}
109
+ }
110
+ }
111
+ }
112
+ }
113
+
114
+ traffic {
115
+ percent = 100
116
+ latest_revision = true
117
+ }
118
+ }
119
+
120
+ resource "google_cloud_run_service_iam_member" "public_access" {
121
+ service = google_cloud_run_service.main.name
122
+ location = google_cloud_run_service.main.location
123
+ role = "roles/run.invoker"
124
+ member = "allUsers"
125
+ }
126
+ `;
127
+ }
128
+ generateDOTerraform(config, dockerImageName) {
129
+ return `
130
+ provider "digitalocean" {
131
+ token = "\${var.do_token}"
132
+ }
133
+
134
+ resource "digitalocean_app" "main" {
135
+ spec {
136
+ name = "${dockerImageName}"
137
+ region = "${config.region}"
138
+
139
+ service {
140
+ name = "${dockerImageName}"
141
+ instance_count = ${config.deploymentConfig.minInstances || 1}
142
+ instance_size_slug = "basic-xxs"
143
+
144
+ image {
145
+ registry_type = "DOCKER_HUB"
146
+ repository = "\${var.docker_image}"
147
+ }
148
+
149
+ http_port = ${config.deploymentConfig.port}
150
+
151
+ health_check {
152
+ http_path = "${config.deploymentConfig.healthCheckPath}"
153
+ }
154
+ }
155
+ }
156
+ }
157
+ `;
158
+ }
159
+ };
160
+ exports.IaCService = IaCService;
161
+ exports.IaCService = IaCService = __decorate([
162
+ (0, common_1.Injectable)()
163
+ ], IaCService);
164
+ //# sourceMappingURL=iac.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iac.service.js","sourceRoot":"","sources":["../../src/services/iac.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4C;AAIrC,IAAM,UAAU,GAAhB,MAAM,UAAU;IACrB,uBAAuB,CACrB,MAAmB,EACnB,eAAuB;QAEvB,QAAQ,MAAM,CAAC,QAAQ,EAAE,CAAC;YACxB,KAAK,KAAK;gBACR,OAAO,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;YAC5D,KAAK,OAAO;gBACV,OAAO,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;YAC9D,KAAK,KAAK;gBACR,OAAO,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;YAC5D,KAAK,cAAc;gBACjB,OAAO,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;YAC3D;gBACE,OAAO,EAAE,CAAC;QACd,CAAC;IACH,CAAC;IAEO,oBAAoB,CAC1B,MAAmB,EACnB,eAAuB;QAEvB,OAAO;;cAEG,MAAM,CAAC,MAAM;;;;YAIf,eAAe;;;;YAIf,eAAe;;;;;;;;;;;;;;;;;;;;CAoB1B,CAAC;IACA,CAAC;IAEO,sBAAsB,CAC5B,MAAmB,EACnB,eAAuB;QAEvB,OAAO;;;;;;;gBAOK,MAAM,CAAC,MAAM;;;;2BAIF,eAAe;;;;2BAIf,eAAe;;;;gBAI1B,eAAe;;;;;;mBAMZ,MAAM,CAAC,gBAAgB,CAAC,IAAI;;;;;CAK9C,CAAC;IACA,CAAC;IAEO,oBAAoB,CAC1B,MAAmB,EACnB,eAAuB;QAEvB,OAAO;;;eAGI,MAAM,CAAC,MAAM;;;;gBAIZ,eAAe;gBACf,MAAM,CAAC,MAAM;;;;;;;6BAOA,MAAM,CAAC,gBAAgB,CAAC,IAAI;;;;;;;;;;;;;;;;;;CAkBxD,CAAC;IACA,CAAC;IAEO,mBAAmB,CACzB,MAAmB,EACnB,eAAuB;QAEvB,OAAO;;;;;;;gBAOK,eAAe;gBACf,MAAM,CAAC,MAAM;;;8BAGC,eAAe;6BAChB,MAAM,CAAC,gBAAgB,CAAC,YAAY,IAAI,CAAC;;;;;;;;oBAQlD,MAAM,CAAC,gBAAgB,CAAC,IAAI;;;uBAGzB,MAAM,CAAC,gBAAgB,CAAC,eAAe;;;;;CAK7D,CAAC;IACA,CAAC;CACF,CAAA;AAvKY,gCAAU;qBAAV,UAAU;IADtB,IAAA,mBAAU,GAAE;GACA,UAAU,CAuKtB"}
@@ -13,4 +13,5 @@ export declare class JenkinsFileService {
13
13
  private generateTestStage;
14
14
  generateCredentialsSetupGuide(config: CICDConfig): string;
15
15
  generateReadme(config: CICDConfig): string;
16
+ private generateDockerPushScript;
16
17
  }
@@ -120,25 +120,9 @@ ${project.runTests && project.testCommand
120
120
  stage('Push Docker Image') {
121
121
  steps {
122
122
  script {
123
- echo "Pushing Docker image to registry..."
124
-
125
- withCredentials([
126
- usernamePassword(
127
- credentialsId: 'docker-registry-credentials',
128
- usernameVariable: 'DOCKER_USERNAME',
129
- passwordVariable: 'DOCKER_PASSWORD'
130
- )
131
- ]) {
132
- sh '''
133
- echo "\${DOCKER_PASSWORD}" | docker login -u "\${DOCKER_USERNAME}" --password-stdin
134
- docker tag \${DOCKER_IMAGE} \${DOCKER_USERNAME}/\${DOCKER_IMAGE}
135
- docker push \${DOCKER_USERNAME}/\${DOCKER_IMAGE}
136
- docker logout
137
- '''
138
- }
123
+ ${this.generateDockerPushScript(cloud, dockerImageName, dockerImageTag)}
139
124
 
140
- // Update DOCKER_IMAGE to include registry
141
- env.DOCKER_IMAGE = "\${DOCKER_USERNAME}/${dockerImageName}:${dockerImageTag}"
125
+ // DOCKER_IMAGE is updated within generateDockerPushScript
142
126
  echo "Docker image pushed successfully"
143
127
  }
144
128
  }
@@ -166,14 +150,22 @@ ${project.runTests && project.testCommand
166
150
  echo "Performing health check..."
167
151
  sleep(time: 30, unit: 'SECONDS')
168
152
 
153
+ if (fileExists('deployment.env')) {
154
+ def props = readProperties file: 'deployment.env'
155
+ env.DEPLOYED_URL = props['DEPLOYED_URL']
156
+ }
157
+
169
158
  def healthCheckPassed = false
170
159
  def maxRetries = 5
171
160
  def retryCount = 0
172
161
 
173
162
  while (!healthCheckPassed && retryCount < maxRetries) {
174
163
  try {
175
- // This is a placeholder - you'll need to customize based on your deployment
176
- sh 'echo "Health check endpoint: ${cloud.deploymentConfig.healthCheckPath}"'
164
+ // Functional health check using curl
165
+ sh """
166
+ echo "Checking health at: \${DEPLOYED_URL}${cloud.deploymentConfig.healthCheckPath}"
167
+ curl -f \${DEPLOYED_URL}${cloud.deploymentConfig.healthCheckPath} || exit 1
168
+ """
177
169
  healthCheckPassed = true
178
170
  echo "Health check passed"
179
171
  } catch (Exception e) {
@@ -257,50 +249,88 @@ Please configure the following credentials in Jenkins:
257
249
 
258
250
  `;
259
251
  switch (cloud.provider) {
260
- case 'aws':
261
- guide += `
252
+ case 'aws': {
253
+ const awsCreds = cloud.credentials;
254
+ if (awsCreds.useOIDC) {
255
+ guide += `
256
+ 3. AWS CREDENTIALS (OIDC)
257
+ - ID: aws-oidc-token
258
+ Type: OpenID Connect Token
259
+ Description: AWS OIDC Token from Federated Identity
260
+
261
+ - [Setup Required]: Configure AWS Workload Identity Federation with Role ARN: ${awsCreds.oidcRoleArn}
262
+ `;
263
+ }
264
+ else {
265
+ guide += `
262
266
  3. AWS CREDENTIALS
263
267
  - ID: aws-access-key-id
264
268
  Type: Secret text
265
- Secret: ${this.securityService.maskSensitiveData(cloud.credentials['accessKeyId'])}
269
+ Secret: ${this.securityService.maskSensitiveData(awsCreds.accessKeyId)}
266
270
 
267
271
  - ID: aws-secret-access-key
268
272
  Type: Secret text
269
273
  Secret: [Your AWS Secret Access Key]
270
274
  `;
275
+ }
271
276
  break;
272
- case 'azure':
277
+ }
278
+ case 'azure': {
279
+ const azCreds = cloud.credentials;
273
280
  guide += `
274
281
  3. AZURE CREDENTIALS
275
282
  - ID: azure-subscription-id
276
283
  Type: Secret text
277
- Secret: ${this.securityService.maskSensitiveData(cloud.credentials['subscriptionId'])}
284
+ Secret: ${this.securityService.maskSensitiveData(azCreds.subscriptionId)}
278
285
 
279
286
  - ID: azure-client-id
280
287
  Type: Secret text
281
- Secret: ${this.securityService.maskSensitiveData(cloud.credentials['clientId'])}
288
+ Secret: ${this.securityService.maskSensitiveData(azCreds.clientId)}
282
289
 
290
+ - ID: azure-tenant-id
291
+ Type: Secret text
292
+ Secret: ${this.securityService.maskSensitiveData(azCreds.tenantId)}
293
+ `;
294
+ if (azCreds.useOIDC) {
295
+ guide += `
296
+ - ID: azure-federated-token
297
+ Type: OpenID Connect Token
298
+ Description: Azure Federated Token for Service Principal
299
+ `;
300
+ }
301
+ else {
302
+ guide += `
283
303
  - ID: azure-client-secret
284
304
  Type: Secret text
285
305
  Secret: [Your Azure Client Secret]
286
-
287
- - ID: azure-tenant-id
288
- Type: Secret text
289
- Secret: ${this.securityService.maskSensitiveData(cloud.credentials['tenantId'])}
290
306
  `;
307
+ }
291
308
  break;
292
- case 'gcp':
309
+ }
310
+ case 'gcp': {
311
+ const gcpCreds = cloud.credentials;
293
312
  guide += `
294
313
  3. GCP CREDENTIALS
295
314
  - ID: gcp-project-id
296
315
  Type: Secret text
297
- Secret: ${cloud.credentials['projectId']}
298
-
316
+ Secret: ${gcpCreds.projectId}
317
+ `;
318
+ if (gcpCreds.useOIDC) {
319
+ guide += `
320
+ - ID: gcp-oidc-token
321
+ Type: OpenID Connect Token
322
+ Description: GCP OIDC Token (Workload Identity Federation)
323
+ `;
324
+ }
325
+ else {
326
+ guide += `
299
327
  - ID: gcp-key-file
300
328
  Type: Secret file
301
329
  File: Upload your GCP service account key JSON file
302
330
  `;
331
+ }
303
332
  break;
333
+ }
304
334
  case 'digitalocean':
305
335
  guide += `
306
336
  3. DIGITALOCEAN CREDENTIALS
@@ -416,6 +446,74 @@ Generated on: ${new Date().toISOString()}
416
446
  `;
417
447
  return readme;
418
448
  }
449
+ generateDockerPushScript(cloud, dockerImageName, dockerImageTag) {
450
+ const registryMap = {
451
+ aws: '${AWS_ACCOUNT_ID}.dkr.ecr.${AWS_REGION}.amazonaws.com',
452
+ azure: '${ACR_LOGIN_SERVER}',
453
+ gcp: 'gcr.io/${GCP_PROJECT_ID}',
454
+ digitalocean: 'registry.digitalocean.com/${DO_REGISTRY_NAME}',
455
+ };
456
+ const registry = registryMap[cloud.provider] || '${DOCKER_USERNAME}';
457
+ switch (cloud.provider) {
458
+ case 'aws':
459
+ return `
460
+ echo "Pushing Docker image to AWS ECR..."
461
+ sh "aws ecr get-login-password --region \${AWS_REGION} | docker login --username AWS --password-stdin ${registry}"
462
+ sh "docker tag \${DOCKER_IMAGE} ${registry}/${dockerImageName}:\${dockerImageTag}"
463
+ sh "docker push ${registry}/${dockerImageName}:\${dockerImageTag}"
464
+ env.DOCKER_IMAGE = "${registry}/${dockerImageName}:\${dockerImageTag}"
465
+ `;
466
+ case 'azure':
467
+ return `
468
+ echo "Pushing Docker image to Azure ACR..."
469
+ withCredentials([
470
+ usernamePassword(
471
+ credentialsId: 'azure-acr-credentials',
472
+ usernameVariable: 'ACR_USERNAME',
473
+ passwordVariable: 'ACR_PASSWORD'
474
+ )
475
+ ]) {
476
+ sh "echo \${ACR_PASSWORD} | docker login ${registry} -u \${ACR_USERNAME} --password-stdin"
477
+ sh "docker tag \${DOCKER_IMAGE} ${registry}/${dockerImageName}:\${dockerImageTag}"
478
+ sh "docker push ${registry}/${dockerImageName}:\${dockerImageTag}"
479
+ env.DOCKER_IMAGE = "${registry}/${dockerImageName}:\${dockerImageTag}"
480
+ }
481
+ `;
482
+ case 'gcp':
483
+ return `
484
+ echo "Pushing Docker image to GCP Container Registry..."
485
+ sh "gcloud auth configure-docker --quiet"
486
+ sh "docker tag \${DOCKER_IMAGE} ${registry}/${dockerImageName}:\${dockerImageTag}"
487
+ sh "docker push ${registry}/${dockerImageName}:\${dockerImageTag}"
488
+ env.DOCKER_IMAGE = "${registry}/${dockerImageName}:\${dockerImageTag}"
489
+ `;
490
+ case 'digitalocean':
491
+ return `
492
+ echo "Pushing Docker image to DigitalOcean Registry..."
493
+ sh "doctl auth init --access-token \${DO_API_TOKEN}"
494
+ sh "doctl registry login --expiry-seconds 600"
495
+ sh "docker tag \${DOCKER_IMAGE} ${registry}/${dockerImageName}:\${dockerImageTag}"
496
+ sh "docker push ${registry}/${dockerImageName}:\${dockerImageTag}"
497
+ env.DOCKER_IMAGE = "${registry}/${dockerImageName}:\${dockerImageTag}"
498
+ `;
499
+ default:
500
+ return `
501
+ echo "Pushing Docker image to registry..."
502
+ withCredentials([
503
+ usernamePassword(
504
+ credentialsId: 'docker-registry-credentials',
505
+ usernameVariable: 'DOCKER_USERNAME',
506
+ passwordVariable: 'DOCKER_PASSWORD'
507
+ )
508
+ ]) {
509
+ sh "echo \${DOCKER_PASSWORD} | docker login -u \${DOCKER_USERNAME} --password-stdin"
510
+ sh "docker tag \${DOCKER_IMAGE} \${DOCKER_USERNAME}/${dockerImageName}:\${dockerImageTag}"
511
+ sh "docker push \${DOCKER_USERNAME}/${dockerImageName}:\${dockerImageTag}"
512
+ env.DOCKER_IMAGE = "\${DOCKER_USERNAME}/${dockerImageName}:\${dockerImageTag}"
513
+ }
514
+ `;
515
+ }
516
+ }
419
517
  };
420
518
  exports.JenkinsFileService = JenkinsFileService;
421
519
  exports.JenkinsFileService = JenkinsFileService = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"jenkinsfile.service.js","sourceRoot":"","sources":["../../src/services/jenkinsfile.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jenkinsfile.service.js","sourceRoot":"","sources":["../../src/services/jenkinsfile.service.ts"],"names":[],"mappings":"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"}
@@ -35,35 +35,33 @@ let NotificationService = class NotificationService {
35
35
  }
36
36
  generateEmailNotification(email) {
37
37
  return `
38
- # Email Notification Configuration
39
- def sendEmailNotification(status, stageName=''){
38
+ def sendEmailNotification(status, stageName='') {
40
39
  def subject = "[\${status}] Jenkins Pipeline - \${env.JOB_NAME} #\${env.BUILD_NUMBER}"
41
- def body = ""
40
+ def body = """
42
41
  <html>
43
42
  <body>
44
43
  <h2>Jenkins Pipeline Notification</h2>
45
44
  <p><strong>Job:</strong> \${env.JOB_NAME}</p>
46
- <p><strong>Build Number:</strong>\${env.BUILD_NUMBER}</p>
47
- <p><strong>Status:</strong> <span style="color: \${status == 'SUCCESS' ? 'green': 'red'};">\${status}</span></p>
45
+ <p><strong>Build Number:</strong> \${env.BUILD_NUMBER}</p>
46
+ <p><strong>Status:</strong> <span style="color: \${status == 'SUCCESS' ? 'green' : 'red'};">\${status}</span></p>
48
47
  \${stageName ? "<p><strong>Stage:</strong> \${stageName}</p>" : ""}
49
48
  <p><strong>Duration:</strong> \${currentBuild.durationString}</p>
50
- <p><strong>Duration:</strong> \${currentBuild.durationString}</p>
51
49
  <p><strong>Build URL:</strong> <a href="\${env.BUILD_URL}">\${env.BUILD_URL}</a></p>
52
50
  <p><strong>Console Output:</strong> <a href="\${env.BUILD_URL}console">\${env.BUILD_URL}console</a></p>
53
51
  <hr>
54
52
  <p><strong>Changes:</strong></p>
55
53
  <pre>\${currentBuild.changeSets.collect { it.items.collect { "\${it.author} - \${it.msg}" }.join('\\n') }.join('\\n')}</pre>
56
54
  </body>
57
- </html
58
- """
55
+ </html>
56
+ """
59
57
 
60
- emailect(
61
- subject: subject,
62
- body: body,
63
- to: '${email}'
64
- mimeType: 'text/html'
65
- attachLog: status != 'SUCCESS'
66
- )
58
+ emailext(
59
+ subject: subject,
60
+ body: body,
61
+ to: '${email}',
62
+ mimeType: 'text/html',
63
+ attachLog: status != 'SUCCESS'
64
+ )
67
65
  }
68
66
  `;
69
67
  }
@@ -1 +1 @@
1
- {"version":3,"file":"notification.service.js","sourceRoot":"","sources":["../../src/services/notification.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4C;AAIrC,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAC9B,0BAA0B,CAAC,MAA0B;QACnD,IAAI,MAAM,GAAG,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAE1D,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpD,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBACxC,IAAI,CAAC,QAAQ,CAAC,OAAO;oBAAE,SAAS;gBAEhC,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;oBACtB,KAAK,OAAO;wBACV,MAAM,IAAI,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;wBAC3D,MAAM;oBACR,KAAK,SAAS;wBACZ,MAAM,IAAI,IAAI,CAAC,2BAA2B,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;wBAC7D,MAAM;oBACR,KAAK,OAAO;wBACV,MAAM,IAAI,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;wBAC3D,MAAM;oBACR,KAAK,UAAU;wBACb,MAAM,IAAI,IAAI,CAAC,4BAA4B,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;wBAC9D,MAAM;gBACV,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,yBAAyB,CAAC,KAAa;QAC7C,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;WA0BA,KAAK;;;;;KAKX,CAAC;IACJ,CAAC;IAEO,yBAAyB,CAAC,OAAe;QAC/C,OAAO;;;;;;;;;;;;;;;;;;;;4BAoBiB,OAAO;;;;;KAK9B,CAAC;IACJ,CAAC;IAEO,2BAA2B,CAAC,OAAe;QACjD,OAAO;;;;;;;;;;;;;;;;;;;;;oBAqBS,OAAO;;;;;CAK1B,CAAC;IACA,CAAC;IAEO,yBAAyB,CAAC,OAAe;QAC/C,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBA8BS,OAAO;;;;;CAK1B,CAAC;IACA,CAAC;IAEO,4BAA4B,CAAC,OAAe;QAClD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACjC,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACzC,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEvC,OAAO;;;;;;;;;;;;;;;;;gDAiBqC,QAAQ;;;oBAGpC,MAAM;;;;;;;CAOzB,CAAC;IACA,CAAC;IAED,8BAA8B;QAC5B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA6BL,CAAC;IACL,CAAC;CACF,CAAA;AAnOY,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,mBAAU,GAAE;GACA,mBAAmB,CAmO/B"}
1
+ {"version":3,"file":"notification.service.js","sourceRoot":"","sources":["../../src/services/notification.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4C;AAIrC,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAC9B,0BAA0B,CAAC,MAA0B;QACnD,IAAI,MAAM,GAAG,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAE1D,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpD,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBACxC,IAAI,CAAC,QAAQ,CAAC,OAAO;oBAAE,SAAS;gBAEhC,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;oBACtB,KAAK,OAAO;wBACV,MAAM,IAAI,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;wBAC3D,MAAM;oBACR,KAAK,SAAS;wBACZ,MAAM,IAAI,IAAI,CAAC,2BAA2B,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;wBAC7D,MAAM;oBACR,KAAK,OAAO;wBACV,MAAM,IAAI,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;wBAC3D,MAAM;oBACR,KAAK,UAAU;wBACb,MAAM,IAAI,IAAI,CAAC,4BAA4B,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;wBAC9D,MAAM;gBACV,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,yBAAyB,CAAC,KAAa;QAC7C,OAAO;;;;;;;;;;;;;;;;;;;;;;;;mBAwBQ,KAAK;;;;;KAKnB,CAAC;IACJ,CAAC;IAEO,yBAAyB,CAAC,OAAe;QAC/C,OAAO;;;;;;;;;;;;;;;;;;;;4BAoBiB,OAAO;;;;;KAK9B,CAAC;IACJ,CAAC;IAEO,2BAA2B,CAAC,OAAe;QACjD,OAAO;;;;;;;;;;;;;;;;;;;;;oBAqBS,OAAO;;;;;CAK1B,CAAC;IACA,CAAC;IAEO,yBAAyB,CAAC,OAAe;QAC/C,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBA8BS,OAAO;;;;;CAK1B,CAAC;IACA,CAAC;IAEO,4BAA4B,CAAC,OAAe;QAClD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACjC,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACzC,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEvC,OAAO;;;;;;;;;;;;;;;;;gDAiBqC,QAAQ;;;oBAGpC,MAAM;;;;;;;CAOzB,CAAC;IACA,CAAC;IAED,8BAA8B;QAC5B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA6BL,CAAC;IACL,CAAC;CACF,CAAA;AAjOY,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,mBAAU,GAAE;GACA,mBAAmB,CAiO/B"}