mirror of
https://gitlab.com/ric_harvey/MailHog.git
synced 2025-02-17 08:15:55 +00:00
Remove content/MIME from message list API
This commit is contained in:
parent
07df8aa087
commit
fa2e16587c
3 changed files with 27 additions and 8 deletions
|
@ -39,7 +39,15 @@ func (mongo *MongoDB) Store(m *data.SMTPMessage) (string, error) {
|
|||
|
||||
func (mongo *MongoDB) List(start int, limit int) (*data.Messages, error) {
|
||||
messages := &data.Messages{}
|
||||
err := mongo.Collection.Find(bson.M{}).Skip(start).Limit(limit).All(messages)
|
||||
err := mongo.Collection.Find(bson.M{}).Skip(start).Limit(limit).Select(bson.M{
|
||||
"id": 1,
|
||||
"_id": 1,
|
||||
"from": 1,
|
||||
"to": 1,
|
||||
"content.headers": 1,
|
||||
"content.size": 1,
|
||||
"created": 1,
|
||||
}).All(messages)
|
||||
if err != nil {
|
||||
log.Printf("Error loading messages: %s", err)
|
||||
return nil, err
|
||||
|
|
|
@ -61,7 +61,7 @@ func Index() string {
|
|||
<th>Actions</th>
|
||||
</tr>
|
||||
<tbody>
|
||||
<tr ng-repeat="message in messages" ng-click="selectMessage(message)" ng-class="{ selected: message == preview }">
|
||||
<tr ng-repeat="message in messages" ng-click="selectMessage(message)" ng-class="{ selected: message.Id == preview.Id }">
|
||||
<td>
|
||||
{{ message.From.Mailbox }}@{{ message.From.Domain }}
|
||||
</td>
|
||||
|
@ -101,7 +101,7 @@ func Index() string {
|
|||
<li><a href="#preview-source" data-toggle="tab">Source</a></li>
|
||||
</ul>
|
||||
<div class="tab-content">
|
||||
<div class="tab-pane active" id="preview-html" ng-bind-html="previewHTML"></div>
|
||||
<div class="tab-pane active" id="preview-html" ng-bind-html="preview.previewHTML"></div>
|
||||
<div class="tab-pane" id="preview-plain"><pre>{{ getMessagePlain(preview) }}</pre></div>
|
||||
<div class="tab-pane" id="preview-source"><pre>{{ getSource(preview) }}</pre></div>
|
||||
</div>
|
||||
|
|
|
@ -5,6 +5,8 @@ func Controllers() string {
|
|||
var mailhogApp = angular.module('mailhogApp', []);
|
||||
|
||||
mailhogApp.controller('MailCtrl', function ($scope, $http, $sce) {
|
||||
$scope.cache = {};
|
||||
|
||||
$scope.refresh = function() {
|
||||
$http.get('/api/v1/messages').success(function(data) {
|
||||
$scope.messages = data;
|
||||
|
@ -12,6 +14,20 @@ mailhogApp.controller('MailCtrl', function ($scope, $http, $sce) {
|
|||
}
|
||||
$scope.refresh();
|
||||
|
||||
$scope.selectMessage = function(message) {
|
||||
if($scope.cache[message.Id]) {
|
||||
$scope.preview = $scope.cache[message.Id];
|
||||
} else {
|
||||
$scope.preview = message;
|
||||
$http.get('/api/v1/messages/' + message.Id).success(function(data) {
|
||||
$scope.cache[message.Id] = data;
|
||||
data.previewHTML = $sce.trustAsHtml($scope.getMessageHTML(data));
|
||||
$scope.preview = data;
|
||||
preview = $scope.cache[message.Id];
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
$scope.getMessagePlain = function(message) {
|
||||
var part;
|
||||
|
||||
|
@ -49,11 +65,6 @@ mailhogApp.controller('MailCtrl', function ($scope, $http, $sce) {
|
|||
return (new Date(timestamp)).toString();
|
||||
};
|
||||
|
||||
$scope.selectMessage = function(message) {
|
||||
$scope.previewHTML = $sce.trustAsHtml($scope.getMessageHTML(message));
|
||||
$scope.preview = message;
|
||||
}
|
||||
|
||||
$scope.deleteAll = function() {
|
||||
$('#confirm-delete-all').modal('show');
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue