mirror of
https://github.com/TryGhost/Ghost.git
synced 2025-03-11 02:12:21 -05:00
🔥 Removed v0.1 leftover code in model layer (#11107)
no issue - Removed redundant model code in users - Removed v0.1 specific attribute removal on model layer for post - Removed property deletions comments handled in serialization layer - Removed unused token.added listener. users.last_seen is populated on middleware layer when a new access token is created - Removed unneeded test for setting last_seen in users
This commit is contained in:
parent
d645afb416
commit
0306c397d0
7 changed files with 0 additions and 85 deletions
|
@ -18,10 +18,7 @@ const tag = (attrs, frame) => {
|
|||
}
|
||||
}
|
||||
|
||||
// Already deleted in model.toJSON, but leaving here so that we can clean that up when we deprecate v0.1
|
||||
delete attrs.parent_id;
|
||||
|
||||
// @NOTE: unused fields
|
||||
delete attrs.parent;
|
||||
|
||||
return attrs;
|
||||
|
@ -29,7 +26,6 @@ const tag = (attrs, frame) => {
|
|||
|
||||
const author = (attrs, frame) => {
|
||||
if (localUtils.isContentAPI(frame)) {
|
||||
// Already deleted in model.toJSON, but leaving here so that we can clean that up when we deprecate v0.1
|
||||
delete attrs.created_at;
|
||||
delete attrs.updated_at;
|
||||
delete attrs.last_seen;
|
||||
|
|
|
@ -18,10 +18,7 @@ const tag = (attrs, frame) => {
|
|||
}
|
||||
}
|
||||
|
||||
// Already deleted in model.toJSON, but leaving here so that we can clean that up when we deprecate v0.1
|
||||
delete attrs.parent_id;
|
||||
|
||||
// @NOTE: unused fields
|
||||
delete attrs.parent;
|
||||
|
||||
return attrs;
|
||||
|
@ -29,7 +26,6 @@ const tag = (attrs, frame) => {
|
|||
|
||||
const author = (attrs, frame) => {
|
||||
if (localUtils.isContentAPI(frame)) {
|
||||
// Already deleted in model.toJSON, but leaving here so that we can clean that up when we deprecate v0.1
|
||||
delete attrs.created_at;
|
||||
delete attrs.updated_at;
|
||||
delete attrs.last_seen;
|
||||
|
|
|
@ -4,20 +4,6 @@ var moment = require('moment-timezone'),
|
|||
common = require('../../lib/common'),
|
||||
sequence = require('../../lib/promise/sequence');
|
||||
|
||||
/**
|
||||
* @TODO REMOVE WHEN v0.1 IS DROPPED
|
||||
* WHEN access token is created we will update last_seen for user.
|
||||
*/
|
||||
common.events.on('token.added', function (tokenModel) {
|
||||
models.User.findOne({id: tokenModel.get('user_id')})
|
||||
.then(function (user) {
|
||||
return user.updateLastSeen();
|
||||
})
|
||||
.catch(function (err) {
|
||||
common.logging.error(new common.errors.GhostError({err: err, level: 'critical'}));
|
||||
});
|
||||
});
|
||||
|
||||
/**
|
||||
* WHEN timezone changes, we will:
|
||||
* - reschedule all scheduled posts
|
||||
|
|
|
@ -572,13 +572,6 @@ Post = ghostBookshelf.Model.extend({
|
|||
// CASE: never expose the revisions
|
||||
delete attrs.mobiledoc_revisions;
|
||||
|
||||
// expose canonical_url only for API v2 calls
|
||||
// NOTE: this can be removed when API v0.1 is dropped. A proper solution for field
|
||||
// differences on resources like this would be an introduction of API output schema
|
||||
if (!_.get(unfilteredOptions, 'extraProperties', []).includes('canonical_url')) {
|
||||
delete attrs.canonical_url;
|
||||
}
|
||||
|
||||
// If the current column settings allow it...
|
||||
if (!options.columns || (options.columns && options.columns.indexOf('primary_tag') > -1)) {
|
||||
// ... attach a computed property of primary_tag which is the first tag if it is public, else null
|
||||
|
|
|
@ -63,10 +63,6 @@ Tag = ghostBookshelf.Model.extend({
|
|||
var options = Tag.filterOptions(unfilteredOptions, 'toJSON'),
|
||||
attrs = ghostBookshelf.Model.prototype.toJSON.call(this, options);
|
||||
|
||||
// @NOTE: this serialization should be moved into api layer, it's not being moved as it's not used
|
||||
attrs.parent = attrs.parent || attrs.parent_id;
|
||||
delete attrs.parent_id;
|
||||
|
||||
return attrs;
|
||||
},
|
||||
|
||||
|
|
|
@ -223,17 +223,6 @@ User = ghostBookshelf.Model.extend({
|
|||
delete attrs.email;
|
||||
}
|
||||
|
||||
// @TODO remove this when we remove v0.1 API as its handled in serialization for v2
|
||||
// We don't expose these fields when fetching data via the public API.
|
||||
if (options && options.context && options.context.public) {
|
||||
delete attrs.created_at;
|
||||
delete attrs.created_by;
|
||||
delete attrs.updated_at;
|
||||
delete attrs.updated_by;
|
||||
delete attrs.last_seen;
|
||||
delete attrs.status;
|
||||
}
|
||||
|
||||
return attrs;
|
||||
},
|
||||
|
||||
|
|
|
@ -1,41 +0,0 @@
|
|||
var should = require('should'),
|
||||
sinon = require('sinon'),
|
||||
rewire = require('rewire'),
|
||||
common = require('../../../../server/lib/common'),
|
||||
Models = require('../../../../server/models');
|
||||
|
||||
describe('Models: listeners', function () {
|
||||
var eventsToRemember = {};
|
||||
const emit = (event, data) => eventsToRemember[event](data);
|
||||
|
||||
before(function () {
|
||||
sinon.stub(common.events, 'on').callsFake(function (name, callback) {
|
||||
eventsToRemember[name] = callback;
|
||||
});
|
||||
|
||||
rewire('../../../../server/models/base/listeners');
|
||||
Models.init();
|
||||
});
|
||||
|
||||
afterEach(function () {
|
||||
sinon.restore();
|
||||
});
|
||||
|
||||
describe('on token added', function () {
|
||||
it('calls updateLastSeen on the user when the token.added event is emited', function (done) {
|
||||
const userId = 1;
|
||||
const user = Models.User.forge({id: 1});
|
||||
sinon.stub(Models.User, 'findOne').withArgs({id: userId}).resolves(user);
|
||||
const updateLastSeenSpy = sinon.stub(user, 'updateLastSeen').callsFake(function () {
|
||||
updateLastSeenSpy.calledOnce.should.be.true();
|
||||
done();
|
||||
});
|
||||
|
||||
const fakeToken = {
|
||||
get: sinon.stub().withArgs('user_id').returns(userId)
|
||||
};
|
||||
|
||||
emit('token.added', fakeToken);
|
||||
});
|
||||
});
|
||||
});
|
Loading…
Add table
Reference in a new issue