mirror of
https://github.com/wassname/talk.git
synced 2026-07-13 17:45:56 +08:00
Removed public function in favor of filterForUser transformer
This commit is contained in:
+9
-14
@@ -84,7 +84,15 @@ SettingSchema.method('merge', function(src) {
|
||||
*/
|
||||
SettingSchema.method('filterForUser', function(user = false) {
|
||||
if (!user || !user.roles.includes('admin')) {
|
||||
return _.pick(this.toJSON(), ['moderation', 'infoBoxEnable', 'infoBoxContent']);
|
||||
return _.pick(this.toJSON(), [
|
||||
'moderation',
|
||||
'infoBoxEnable',
|
||||
'infoBoxContent',
|
||||
'closeTimeout',
|
||||
'closedMessage',
|
||||
'charCountEnable',
|
||||
'charCount'
|
||||
]);
|
||||
}
|
||||
|
||||
return this.toJSON();
|
||||
@@ -106,11 +114,6 @@ const SettingService = module.exports = {};
|
||||
*/
|
||||
const selector = {id: '1'};
|
||||
|
||||
/**
|
||||
* The list of settings that can be viewed publicly.
|
||||
*/
|
||||
const publicSettings = 'moderation infoBoxEnable infoBoxContent closeTimeout closedMessage charCountEnable charCount';
|
||||
|
||||
/**
|
||||
* Cache expiry time in seconds for when the cached entry of the settings object
|
||||
* expires. 2 minutes.
|
||||
@@ -125,14 +128,6 @@ SettingService.retrieve = () => cache.wrap('settings', EXPIRY_TIME, () => {
|
||||
return Setting.findOne(selector);
|
||||
}).then((setting) => new Setting(setting));
|
||||
|
||||
/**
|
||||
* Gets publicly available settings records
|
||||
* @return {Promise} settings the publicly viewable settings record
|
||||
*/
|
||||
SettingService.public = () => cache.wrap('publicSettings', EXPIRY_TIME, () => {
|
||||
return Setting.findOne(selector, publicSettings);
|
||||
}).then((setting) => new Setting(setting));
|
||||
|
||||
/**
|
||||
* This will update the settings object with whatever you pass in
|
||||
* @param {object} setting a hash of whatever settings you want to update
|
||||
|
||||
@@ -38,7 +38,7 @@ router.get('/', (req, res, next) => {
|
||||
}),
|
||||
|
||||
// Get the moderation setting from the settings.
|
||||
Setting.public()
|
||||
Setting.retrieve()
|
||||
])
|
||||
.then(([asset, settings]) => {
|
||||
|
||||
|
||||
@@ -20,20 +20,6 @@ describe('models.Setting', () => {
|
||||
});
|
||||
});
|
||||
|
||||
describe('#public()', () => {
|
||||
it('should have a moderation field defined', () => {
|
||||
return Setting.public().then(settings => {
|
||||
expect(settings).to.have.property('moderation').and.to.equal('pre');
|
||||
});
|
||||
});
|
||||
|
||||
it('should not have the wordlist field defined', () => {
|
||||
return Setting.public().then(settings => {
|
||||
expect(settings).to.have.property('wordlist').and.to.have.length(0);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('#update()', () => {
|
||||
it('should update the settings with a passed object', () => {
|
||||
const mockSettings = {moderation: 'post', infoBoxEnable: true, infoBoxContent: 'yeah'};
|
||||
|
||||
Reference in New Issue
Block a user