From 5b438d3df9fcb7ae1241a89627b1f996e4e8529b Mon Sep 17 00:00:00 2001
From: Rish <zrishabhgarg@gmail.com>
Date: Mon, 4 Nov 2019 15:41:40 +0700
Subject: [PATCH] Added action for post email delievery

no issue
---
 core/server/services/mega.js | 22 ++++++++++++++++++++--
 1 file changed, 20 insertions(+), 2 deletions(-)

diff --git a/core/server/services/mega.js b/core/server/services/mega.js
index 694cdc0b32..0f4ad3bdcf 100644
--- a/core/server/services/mega.js
+++ b/core/server/services/mega.js
@@ -1,6 +1,8 @@
 const common = require('../lib/common');
 const membersService = require('./members');
 const bulkEmailService = require('./bulk-email');
+const ghostBookshelf = require('../models/base');
+const models = require('../models');
 
 const sendEmail = async (post) => {
     const emailTmpl = {
@@ -15,7 +17,7 @@ const sendEmail = async (post) => {
 };
 
 function listener(model, options) {
-    // CASE: do not ping slack if we import a database
+    // CASE: do not send email if we import a database
     // TODO: refactor post.published events to never fire on importing
     if (options && options.importing) {
         return;
@@ -25,7 +27,23 @@ function listener(model, options) {
         return;
     }
 
-    sendEmail(model.toJSON());
+    sendEmail(model.toJSON()).then(() => {
+        let actor = {id: null, type: null};
+        if (options.context && options.context.user) {
+            actor = {
+                id: options.context.user,
+                type: 'user'
+            };
+        }
+        const action = {
+            event: 'delivered',
+            resource_id: model.id,
+            resource_type: 'post',
+            actor_id: actor.id,
+            actor_type: actor.type
+        };
+        models.Action.add(action, {context: {internal: true}});
+    });
 }
 
 function listen() {