summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2021-02-06 22:47:15 +0900
committersyuilo <syuilotan@yahoo.co.jp>2021-02-06 22:47:15 +0900
commit547da89c7db41506cfe6fd139fd5a2f86070ac75 (patch)
treefde1bd30258399e67ddf44e7e649748f927c63ab /src
parentFix HTML to MFM (#7150) (diff)
downloadmisskey-547da89c7db41506cfe6fd139fd5a2f86070ac75.tar.gz
misskey-547da89c7db41506cfe6fd139fd5a2f86070ac75.tar.bz2
misskey-547da89c7db41506cfe6fd139fd5a2f86070ac75.zip
お知らせメールを受け取るかどうかの設定を追加
Diffstat (limited to 'src')
-rw-r--r--src/client/pages/settings/email.vue12
-rw-r--r--src/models/entities/user-profile.ts5
-rw-r--r--src/models/repositories/user.ts1
-rw-r--r--src/server/api/endpoints/i/update.ts5
4 files changed, 22 insertions, 1 deletions
diff --git a/src/client/pages/settings/email.vue b/src/client/pages/settings/email.vue
index 830c041bad..5ccb79a41d 100644
--- a/src/client/pages/settings/email.vue
+++ b/src/client/pages/settings/email.vue
@@ -8,6 +8,10 @@
{{ $i.email || $ts.notSet }}
</FormLink>
</FormGroup>
+
+ <FormSwitch :value="$i.receiveAnnouncementEmail" @update:value="onChangeReceiveAnnouncementEmail">
+ {{ $ts.receiveAnnouncementFromInstance }}
+ </FormSwitch>
</FormBase>
</template>
@@ -19,6 +23,7 @@ import FormButton from '@/components/form/button.vue';
import FormLink from '@/components/form/link.vue';
import FormBase from '@/components/form/base.vue';
import FormGroup from '@/components/form/group.vue';
+import FormSwitch from '@/components/form/switch.vue';
import * as os from '@/os';
export default defineComponent({
@@ -26,6 +31,7 @@ export default defineComponent({
FormBase,
FormLink,
FormButton,
+ FormSwitch,
FormGroup,
},
@@ -46,7 +52,11 @@ export default defineComponent({
},
methods: {
-
+ onChangeReceiveAnnouncementEmail(v) {
+ os.api('i/update', {
+ receiveAnnouncementEmail: v
+ });
+ },
}
});
</script>
diff --git a/src/models/entities/user-profile.ts b/src/models/entities/user-profile.ts
index 0e2c660325..4fab52868f 100644
--- a/src/models/entities/user-profile.ts
+++ b/src/models/entities/user-profile.ts
@@ -133,6 +133,11 @@ export class UserProfile {
})
public injectFeaturedNote: boolean;
+ @Column('boolean', {
+ default: true,
+ })
+ public receiveAnnouncementEmail: boolean;
+
@Column({
...id(),
nullable: true
diff --git a/src/models/repositories/user.ts b/src/models/repositories/user.ts
index 7bf11b3167..88861224a4 100644
--- a/src/models/repositories/user.ts
+++ b/src/models/repositories/user.ts
@@ -236,6 +236,7 @@ export class UserRepository extends Repository<User> {
avatarId: user.avatarId,
bannerId: user.bannerId,
injectFeaturedNote: profile!.injectFeaturedNote,
+ receiveAnnouncementEmail: profile!.receiveAnnouncementEmail,
alwaysMarkNsfw: profile!.alwaysMarkNsfw,
carefulBot: profile!.carefulBot,
autoAcceptFollowed: profile!.autoAcceptFollowed,
diff --git a/src/server/api/endpoints/i/update.ts b/src/server/api/endpoints/i/update.ts
index 8ac427cd5b..6552f9b760 100644
--- a/src/server/api/endpoints/i/update.ts
+++ b/src/server/api/endpoints/i/update.ts
@@ -135,6 +135,10 @@ export const meta = {
validator: $.optional.bool,
},
+ receiveAnnouncementEmail: {
+ validator: $.optional.bool,
+ },
+
alwaysMarkNsfw: {
validator: $.optional.bool,
desc: {
@@ -219,6 +223,7 @@ export default define(meta, async (ps, user, token) => {
if (typeof ps.noCrawle === 'boolean') profileUpdates.noCrawle = ps.noCrawle;
if (typeof ps.isCat === 'boolean') updates.isCat = ps.isCat;
if (typeof ps.injectFeaturedNote === 'boolean') profileUpdates.injectFeaturedNote = ps.injectFeaturedNote;
+ if (typeof ps.receiveAnnouncementEmail === 'boolean') profileUpdates.receiveAnnouncementEmail = ps.receiveAnnouncementEmail;
if (typeof ps.alwaysMarkNsfw === 'boolean') profileUpdates.alwaysMarkNsfw = ps.alwaysMarkNsfw;
if (ps.avatarId) {