summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMeiMei <30769358+mei23@users.noreply.github.com>2019-01-11 08:10:39 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2019-01-11 08:10:39 +0900
commitdd77a6194e4fff8f581824a0caa82c27f7bb80b4 (patch)
tree7c1cf196ae1a1a17fa9f5d2b4300e40b58ed8c25 /src
parent管理画面でユーザーを状態でフィルタできるように (#3873) (diff)
downloadsharkey-dd77a6194e4fff8f581824a0caa82c27f7bb80b4.tar.gz
sharkey-dd77a6194e4fff8f581824a0caa82c27f7bb80b4.tar.bz2
sharkey-dd77a6194e4fff8f581824a0caa82c27f7bb80b4.zip
Hide NSFW in Photos (#3875)
Diffstat (limited to 'src')
-rw-r--r--src/client/app/desktop/views/pages/deck/deck.user-column.vue1
-rw-r--r--src/client/app/desktop/views/pages/user/user.photos.vue2
-rw-r--r--src/client/app/mobile/views/pages/user/home.photos.vue1
-rw-r--r--src/server/api/endpoints/users/notes.ts14
4 files changed, 18 insertions, 0 deletions
diff --git a/src/client/app/desktop/views/pages/deck/deck.user-column.vue b/src/client/app/desktop/views/pages/deck/deck.user-column.vue
index 65feea9693..c2132450ca 100644
--- a/src/client/app/desktop/views/pages/deck/deck.user-column.vue
+++ b/src/client/app/desktop/views/pages/deck/deck.user-column.vue
@@ -169,6 +169,7 @@ export default Vue.extend({
this.$root.api('users/notes', {
userId: this.user.id,
fileType: image,
+ excludeNsfw: !this.$store.state.device.alwaysShowNsfw,
limit: 9,
untilDate: new Date().getTime() + 1000 * 86400 * 365
}).then(notes => {
diff --git a/src/client/app/desktop/views/pages/user/user.photos.vue b/src/client/app/desktop/views/pages/user/user.photos.vue
index b147a6ab39..cd8853e0b0 100644
--- a/src/client/app/desktop/views/pages/user/user.photos.vue
+++ b/src/client/app/desktop/views/pages/user/user.photos.vue
@@ -29,9 +29,11 @@ export default Vue.extend({
'image/png',
'image/gif'
];
+
this.$root.api('users/notes', {
userId: this.user.id,
fileType: image,
+ excludeNsfw: !this.$store.state.device.alwaysShowNsfw,
limit: 9,
untilDate: new Date().getTime() + 1000 * 86400 * 365
}).then(notes => {
diff --git a/src/client/app/mobile/views/pages/user/home.photos.vue b/src/client/app/mobile/views/pages/user/home.photos.vue
index 95b867a51f..cd6d0e674b 100644
--- a/src/client/app/mobile/views/pages/user/home.photos.vue
+++ b/src/client/app/mobile/views/pages/user/home.photos.vue
@@ -34,6 +34,7 @@ export default Vue.extend({
this.$root.api('users/notes', {
userId: this.user.id,
fileType: image,
+ excludeNsfw: !this.$store.state.device.alwaysShowNsfw,
limit: 9,
untilDate: new Date().getTime() + 1000 * 86400 * 365
}).then(notes => {
diff --git a/src/server/api/endpoints/users/notes.ts b/src/server/api/endpoints/users/notes.ts
index 6c336683ab..7d73fde1c5 100644
--- a/src/server/api/endpoints/users/notes.ts
+++ b/src/server/api/endpoints/users/notes.ts
@@ -124,6 +124,14 @@ export const meta = {
'ja-JP': '指定された種類のファイルが添付された投稿のみを取得します'
}
},
+
+ excludeNsfw: {
+ validator: $.bool.optional,
+ default: false,
+ desc: {
+ 'ja-JP': 'true にすると、NSFW指定されたファイルを除外します(fileTypeが指定されている場合のみ有効)'
+ }
+ },
}
};
@@ -233,6 +241,12 @@ export default define(meta, (ps, me) => new Promise(async (res, rej) => {
query['_files.contentType'] = {
$in: ps.fileType
};
+
+ if (ps.excludeNsfw) {
+ query['_files.metadata.isSensitive'] = {
+ $ne: true
+ };
+ }
}
//#endregion