mirror of
https://gitlab.com/ric_harvey/MailHog.git
synced 2025-02-20 01:35:56 +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) {
|
func (mongo *MongoDB) List(start int, limit int) (*data.Messages, error) {
|
||||||
messages := &data.Messages{}
|
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 {
|
if err != nil {
|
||||||
log.Printf("Error loading messages: %s", err)
|
log.Printf("Error loading messages: %s", err)
|
||||||
return nil, err
|
return nil, err
|
||||||
|
|
|
@ -61,7 +61,7 @@ func Index() string {
|
||||||
<th>Actions</th>
|
<th>Actions</th>
|
||||||
</tr>
|
</tr>
|
||||||
<tbody>
|
<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>
|
<td>
|
||||||
{{ message.From.Mailbox }}@{{ message.From.Domain }}
|
{{ message.From.Mailbox }}@{{ message.From.Domain }}
|
||||||
</td>
|
</td>
|
||||||
|
@ -101,7 +101,7 @@ func Index() string {
|
||||||
<li><a href="#preview-source" data-toggle="tab">Source</a></li>
|
<li><a href="#preview-source" data-toggle="tab">Source</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
<div class="tab-content">
|
<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-plain"><pre>{{ getMessagePlain(preview) }}</pre></div>
|
||||||
<div class="tab-pane" id="preview-source"><pre>{{ getSource(preview) }}</pre></div>
|
<div class="tab-pane" id="preview-source"><pre>{{ getSource(preview) }}</pre></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -5,6 +5,8 @@ func Controllers() string {
|
||||||
var mailhogApp = angular.module('mailhogApp', []);
|
var mailhogApp = angular.module('mailhogApp', []);
|
||||||
|
|
||||||
mailhogApp.controller('MailCtrl', function ($scope, $http, $sce) {
|
mailhogApp.controller('MailCtrl', function ($scope, $http, $sce) {
|
||||||
|
$scope.cache = {};
|
||||||
|
|
||||||
$scope.refresh = function() {
|
$scope.refresh = function() {
|
||||||
$http.get('/api/v1/messages').success(function(data) {
|
$http.get('/api/v1/messages').success(function(data) {
|
||||||
$scope.messages = data;
|
$scope.messages = data;
|
||||||
|
@ -12,6 +14,20 @@ mailhogApp.controller('MailCtrl', function ($scope, $http, $sce) {
|
||||||
}
|
}
|
||||||
$scope.refresh();
|
$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) {
|
$scope.getMessagePlain = function(message) {
|
||||||
var part;
|
var part;
|
||||||
|
|
||||||
|
@ -49,11 +65,6 @@ mailhogApp.controller('MailCtrl', function ($scope, $http, $sce) {
|
||||||
return (new Date(timestamp)).toString();
|
return (new Date(timestamp)).toString();
|
||||||
};
|
};
|
||||||
|
|
||||||
$scope.selectMessage = function(message) {
|
|
||||||
$scope.previewHTML = $sce.trustAsHtml($scope.getMessageHTML(message));
|
|
||||||
$scope.preview = message;
|
|
||||||
}
|
|
||||||
|
|
||||||
$scope.deleteAll = function() {
|
$scope.deleteAll = function() {
|
||||||
$('#confirm-delete-all').modal('show');
|
$('#confirm-delete-all').modal('show');
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue