mirror of
https://github.com/wassname/talk.git
synced 2026-07-02 20:31:44 +08:00
add some update statics
This commit is contained in:
@@ -36,7 +36,6 @@
|
||||
"yoda": [1],
|
||||
"no-path-concat": [2],
|
||||
"no-process-exit": [2],
|
||||
"camelcase": [1],
|
||||
"eol-last": [1],
|
||||
"no-continue": [1],
|
||||
"no-nested-ternary": [1],
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
These are some settings we're planning on implementing in the future.
|
||||
I'm keeping them in this file for reference
|
||||
|
||||
```javascript
|
||||
anonymous_users: {type: Boolean, default: false},
|
||||
block_mute_enabled: {type: Boolean, default: false},
|
||||
comment_count: {type: Boolean, default: false},
|
||||
comment_editing_enabled: {type: Boolean, default: false},
|
||||
comments_hidden: {type: Boolean, default: false},
|
||||
community_guidelines: {type: Boolean, default: false},
|
||||
detailed_flags: {type: Boolean, default: false},
|
||||
emojis_enabled: {type: Boolean, default: false},
|
||||
following: {type: Boolean, default: false},
|
||||
likes_enabled: {type: Boolean, default: false},
|
||||
mentions: {type: Boolean, default: false},
|
||||
nested_replies: {type: Boolean, default: false},
|
||||
notification_timeout: {type: Number, default: 4500},
|
||||
permalinks: {type: Boolean, default: false},
|
||||
post_button_text: {type: String, default: 'Post'},
|
||||
pseudonyms: {type: Boolean, default: false},
|
||||
public_profile: {type: Boolean, default: false},
|
||||
reactions_enabled: {type: Boolean, default: false},
|
||||
reply_button_text: {type: String, default: 'Reply'},
|
||||
rich_content: {type: Boolean, default: false},
|
||||
show_staff_picks: {type: Boolean, default: false},
|
||||
up_down_voting: {type: Boolean, default: false},
|
||||
user_badges: {type: Boolean, default: false},
|
||||
user_mods_enabled: {type: Boolean, default: false},
|
||||
user_stats_enabled: {type: Boolean, default: false}
|
||||
```
|
||||
+11
-26
@@ -3,32 +3,17 @@ const uuid = require('uuid');
|
||||
const Schema = mongoose.Schema;
|
||||
|
||||
const SettingSchema = new Schema({
|
||||
anonymous_users: {type: Boolean, default: false},
|
||||
block_mute_enabled: {type: Boolean, default: false},
|
||||
comment_count: {type: Boolean, default: false},
|
||||
comment_editing_enabled: {type: Boolean, default: false},
|
||||
comments_hidden: {type: Boolean, default: false},
|
||||
community_guidelines: {type: Boolean, default: false},
|
||||
detailed_flags: {type: Boolean, default: false},
|
||||
emojis_enabled: {type: Boolean, default: false},
|
||||
following: {type: Boolean, default: false},
|
||||
likes_enabled: {type: Boolean, default: false},
|
||||
mentions: {type: Boolean, default: false},
|
||||
nested_replies: {type: Boolean, default: false},
|
||||
notification_timeout: {type: Number, default: 4500},
|
||||
permalinks: {type: Boolean, default: false},
|
||||
post_button_text: {type: String, default: 'Post'},
|
||||
pseudonyms: {type: Boolean, default: false},
|
||||
public_profile: {type: Boolean, default: false},
|
||||
reactions_enabled: {type: Boolean, default: false},
|
||||
reply_button_text: {type: String, default: 'Reply'},
|
||||
rich_content: {type: Boolean, default: false},
|
||||
show_staff_picks: {type: Boolean, default: false},
|
||||
up_down_voting: {type: Boolean, default: false},
|
||||
user_badges: {type: Boolean, default: false},
|
||||
user_mods_enabled: {type: Boolean, default: false},
|
||||
user_stats_enabled: {type: Boolean, default: false}
|
||||
});
|
||||
moderation: {type: String, enum: ['pre', 'post'], default: 'pre'},
|
||||
|
||||
}, {timestamps: {createdAt: 'created_at', updatedAt: 'updated_at'}});
|
||||
|
||||
SettingSchema.statics.getSettings = function () {
|
||||
return this.findOne();
|
||||
};
|
||||
|
||||
SettingSchema.statics.updateSettings = function (setting) {
|
||||
return this.findOneAndUpdate({}, {$set: setting}, {new: true});
|
||||
};
|
||||
|
||||
const Setting = mongoose.model('Setting', SettingSchema);
|
||||
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
const express = require('express');
|
||||
const router = express.Router();
|
||||
const path = require('path');
|
||||
const Setting = require(path.resolve(__dirname, 'models/setting'));
|
||||
|
||||
router.get('/settings', (req, res, next) => {
|
||||
Setting.getSettings().then(settings => {
|
||||
res.json(settings);
|
||||
}).catch(error => {
|
||||
next(error);
|
||||
});
|
||||
});
|
||||
|
||||
router.put('/settings', (req, res, next) => {
|
||||
Setting.updateSettings(req.body).then(updatedSettings => {
|
||||
res.json(updatedSettings);
|
||||
}).catch(error => {
|
||||
next(error);
|
||||
});
|
||||
});
|
||||
|
||||
module.exports = router;
|
||||
Reference in New Issue
Block a user