diff --git a/src/resources/activity/activityControllers.js b/src/resources/activity/activityControllers.js
index d92b8dfd5ee1f693d348fc62cd6c235ed82b9e1a..ba51d5d29c5c1b71e1ec837c24f1e5b933cef9a4 100644
--- a/src/resources/activity/activityControllers.js
+++ b/src/resources/activity/activityControllers.js
@@ -5,13 +5,18 @@ const { Attendance } = require('../attendance/attendanceModel')
 const { Comment } = require('../comment/commentModel')
 const { omit, pick } = require('lodash')
 
-exports.default = crudControllers(Activity, [
+const defaultKeys = [
   '_id',
   'title',
   'description',
   'date',
   'type',
-])
+  'createdAt',
+  'attendance',
+  'comment',
+]
+
+exports.default = crudControllers(Activity, defaultKeys)
 
 exports.default.createOne = async (req, res) => {
   try {
@@ -69,16 +74,7 @@ exports.default.createOne = async (req, res) => {
     res
       .status(200)
       .json({
-        data: pick(objActivity, [
-          '_id',
-          'title',
-          'description',
-          'date',
-          'type',
-          'createdAt',
-          'attendance',
-          'comment',
-        ]),
+        data: pick(objActivity, defaultKeys),
       })
       .end()
   } catch (err) {
@@ -90,7 +86,8 @@ exports.default.createOne = async (req, res) => {
       }
       return res.status(422).json({ messages })
     }
-    return res.status(500).json({ message: err.message }).end()
+    console.error(err)
+    return res.status(500).json({ message: err.message })
   }
 }
 
@@ -112,9 +109,10 @@ exports.default.getOne = async (req, res) => {
     if (!activity)
       return res.status(404).json({ messages: ['No such activity.'] })
 
-    return res.status(200).json({ data: activity }).end()
+    return res.status(200).json({ data: pick(activity, defaultKeys) })
   } catch (err) {
-    return res.status(500).json({ message: err.message }).end()
+    console.error(err)
+    return res.status(500).json({ message: err.message })
   }
 }
 
@@ -123,19 +121,27 @@ exports.default.getMany = async (req, res) => {
     const activity = await Activity.find()
       .populate({
         path: 'comment',
-        populate: { path: 'creator', select: '-_id fullName nickName' },
+        select: '_id creator text createdAt',
+      })
+      .populate({
+        path: 'attendance',
+        select: '_id user state',
       })
       .select('-__v -_id')
       .lean()
       .exec()
 
-    if (!activity) {
-      res.status(404).json({ message: 'Activity not found!' }).end()
-    }
+    if (!activity)
+      return res.status(404).json({ message: 'Activity not found!' })
 
-    res.status(200).json({ data: activity }).end()
+    res.status(200).json({
+      data: activity.map(function pickKeys(doc) {
+        return pick(doc, defaultKeys)
+      }),
+    })
   } catch (err) {
-    res.status(500).json({ message: err.message }).end()
+    console.error(err)
+    res.status(500).json({ message: err.message })
   }
 }