summaryrefslogtreecommitdiff
path: root/src/models
diff options
context:
space:
mode:
Diffstat (limited to 'src/models')
-rw-r--r--src/models/entities/note.ts6
-rw-r--r--src/models/entities/notification.ts5
-rw-r--r--src/models/entities/poll.ts5
-rw-r--r--src/models/repositories/notification.ts1
4 files changed, 11 insertions, 6 deletions
diff --git a/src/models/entities/note.ts b/src/models/entities/note.ts
index 79b6b5ab7d..196be1e350 100644
--- a/src/models/entities/note.ts
+++ b/src/models/entities/note.ts
@@ -2,6 +2,8 @@ import { Entity, Index, JoinColumn, Column, PrimaryColumn, ManyToOne } from 'typ
import { User } from './user';
import { DriveFile } from './drive-file';
import { id } from '../id';
+import { noteVisibilities } from '../../types';
+
@Entity()
@Index('IDX_NOTE_TAGS', { synchronize: false })
@@ -102,8 +104,8 @@ export class Note {
* followers ... フォロワーのみ
* specified ... visibleUserIds で指定したユーザーのみ
*/
- @Column('enum', { enum: ['public', 'home', 'followers', 'specified'] })
- public visibility: 'public' | 'home' | 'followers' | 'specified';
+ @Column('enum', { enum: noteVisibilities })
+ public visibility: typeof noteVisibilities[number];
@Index({ unique: true })
@Column('varchar', {
diff --git a/src/models/entities/notification.ts b/src/models/entities/notification.ts
index 565645a5d6..988fdb341f 100644
--- a/src/models/entities/notification.ts
+++ b/src/models/entities/notification.ts
@@ -5,6 +5,7 @@ import { Note } from './note';
import { FollowRequest } from './follow-request';
import { UserGroupInvitation } from './user-group-invitation';
import { AccessToken } from './access-token';
+import { notificationTypes } from '../../types';
@Entity()
export class Notification {
@@ -66,10 +67,10 @@ export class Notification {
*/
@Index()
@Column('enum', {
- enum: ['follow', 'mention', 'reply', 'renote', 'quote', 'reaction', 'pollVote', 'receiveFollowRequest', 'followRequestAccepted', 'groupInvited', 'app'],
+ enum: notificationTypes,
comment: 'The type of the Notification.'
})
- public type: 'follow' | 'mention' | 'reply' | 'renote' | 'quote' | 'reaction' | 'pollVote' | 'receiveFollowRequest' | 'followRequestAccepted' | 'groupInvited' | 'app';
+ public type: typeof notificationTypes[number];
/**
* 通知が読まれたかどうか
diff --git a/src/models/entities/poll.ts b/src/models/entities/poll.ts
index 6bb67163a2..e3bbb1c3f2 100644
--- a/src/models/entities/poll.ts
+++ b/src/models/entities/poll.ts
@@ -2,6 +2,7 @@ import { PrimaryColumn, Entity, Index, JoinColumn, Column, OneToOne } from 'type
import { id } from '../id';
import { Note } from './note';
import { User } from './user';
+import { noteVisibilities } from '../../types';
@Entity()
export class Poll {
@@ -34,10 +35,10 @@ export class Poll {
//#region Denormalized fields
@Column('enum', {
- enum: ['public', 'home', 'followers', 'specified'],
+ enum: noteVisibilities,
comment: '[Denormalized]'
})
- public noteVisibility: 'public' | 'home' | 'followers' | 'specified';
+ public noteVisibility: typeof noteVisibilities[number];
@Index()
@Column({
diff --git a/src/models/repositories/notification.ts b/src/models/repositories/notification.ts
index b484c43c5e..40f43d6c15 100644
--- a/src/models/repositories/notification.ts
+++ b/src/models/repositories/notification.ts
@@ -19,6 +19,7 @@ export class NotificationRepository extends Repository<Notification> {
id: notification.id,
createdAt: notification.createdAt.toISOString(),
type: notification.type,
+ isRead: notification.isRead,
userId: notification.notifierId,
user: notification.notifierId ? Users.pack(notification.notifier || notification.notifierId) : null,
...(notification.type === 'mention' ? {