add move notification type
This commit is contained in:
parent
c8a07e58f8
commit
3311bd866b
5 changed files with 38 additions and 14 deletions
|
@ -1293,6 +1293,7 @@ _notification:
|
||||||
yourFollowRequestAccepted: "Your follow request was accepted"
|
yourFollowRequestAccepted: "Your follow request was accepted"
|
||||||
youWereInvitedToGroup: "{userName} invited you to a group"
|
youWereInvitedToGroup: "{userName} invited you to a group"
|
||||||
pollEnded: "Poll results have become available"
|
pollEnded: "Poll results have become available"
|
||||||
|
moved: "{name} has moved to a different account"
|
||||||
emptyPushNotificationMessage: "Push notifications have been updated"
|
emptyPushNotificationMessage: "Push notifications have been updated"
|
||||||
_types:
|
_types:
|
||||||
follow: "New followers"
|
follow: "New followers"
|
||||||
|
@ -1306,6 +1307,7 @@ _notification:
|
||||||
receiveFollowRequest: "Received follow requests"
|
receiveFollowRequest: "Received follow requests"
|
||||||
followRequestAccepted: "Accepted follow requests"
|
followRequestAccepted: "Accepted follow requests"
|
||||||
groupInvited: "Group invitations"
|
groupInvited: "Group invitations"
|
||||||
|
move: "Others moving accounts"
|
||||||
app: "Notifications from linked apps"
|
app: "Notifications from linked apps"
|
||||||
_actions:
|
_actions:
|
||||||
followBack: "followed you back"
|
followBack: "followed you back"
|
||||||
|
|
|
@ -52,19 +52,20 @@ export class Notification {
|
||||||
public notifier: User | null;
|
public notifier: User | null;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 通知の種類。
|
* Type of notification.
|
||||||
* follow - フォローされた
|
* follow - notifier followed notifiee
|
||||||
* mention - 投稿で自分が言及された
|
* mention - notifiee was mentioned
|
||||||
* reply - (自分または自分がWatchしている)投稿が返信された
|
* reply - notifiee (author or watching) was replied to
|
||||||
* renote - (自分または自分がWatchしている)投稿がRenoteされた
|
* renote - notifiee (author or watching) was renoted
|
||||||
* quote - (自分または自分がWatchしている)投稿が引用Renoteされた
|
* quote - notifiee (author or watching) was quoted
|
||||||
* reaction - (自分または自分がWatchしている)投稿にリアクションされた
|
* reaction - notifiee (author or watching) had a reaction added to the note
|
||||||
* pollVote - (自分または自分がWatchしている)投稿のアンケートに投票された
|
* pollVote - new vote in a poll notifiee authored or watched
|
||||||
* pollEnded - 自分のアンケートもしくは自分が投票したアンケートが終了した
|
* pollEnded - notifiee's poll ended
|
||||||
* receiveFollowRequest - フォローリクエストされた
|
* receiveFollowRequest - notifiee received a new follow request
|
||||||
* followRequestAccepted - 自分の送ったフォローリクエストが承認された
|
* followRequestAccepted - notifier accepted notifees follow request
|
||||||
* groupInvited - グループに招待された
|
* groupInvited - notifiee was invited into a group
|
||||||
* app - アプリ通知
|
* move - notifier moved
|
||||||
|
* app - custom application notification
|
||||||
*/
|
*/
|
||||||
@Index()
|
@Index()
|
||||||
@Column('enum', {
|
@Column('enum', {
|
||||||
|
@ -129,6 +130,19 @@ export class Notification {
|
||||||
})
|
})
|
||||||
public choice: number | null;
|
public choice: number | null;
|
||||||
|
|
||||||
|
@Column({
|
||||||
|
...id(),
|
||||||
|
nullable: true,
|
||||||
|
comment: 'The ID of the moved to account.',
|
||||||
|
})
|
||||||
|
public moveTargetId: User['id'] | null;
|
||||||
|
|
||||||
|
@ManyToOne(() => User, {
|
||||||
|
onDelete: 'CASCADE',
|
||||||
|
})
|
||||||
|
@JoinColumn()
|
||||||
|
public moveTarget: User | null;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* アプリ通知のbody
|
* アプリ通知のbody
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -44,6 +44,9 @@ export const NotificationRepository = db.getRepository(Notification).extend({
|
||||||
...(notification.type === 'groupInvited' ? {
|
...(notification.type === 'groupInvited' ? {
|
||||||
invitation: UserGroupInvitations.pack(notification.userGroupInvitationId!),
|
invitation: UserGroupInvitations.pack(notification.userGroupInvitationId!),
|
||||||
} : {}),
|
} : {}),
|
||||||
|
...(notification.type === 'move' ? {
|
||||||
|
moveTarget: Users.pack(notification.moveTarget ?? notification.moveTargetId),
|
||||||
|
} : {}),
|
||||||
...(notification.type === 'app' ? {
|
...(notification.type === 'app' ? {
|
||||||
body: notification.customBody,
|
body: notification.customBody,
|
||||||
header: notification.customHeader || token?.name,
|
header: notification.customHeader || token?.name,
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
export const notificationTypes = ['follow', 'mention', 'reply', 'renote', 'quote', 'reaction', 'pollVote', 'pollEnded', 'receiveFollowRequest', 'followRequestAccepted', 'groupInvited', 'app'] as const;
|
export const notificationTypes = ['follow', 'mention', 'reply', 'renote', 'quote', 'reaction', 'pollVote', 'pollEnded', 'receiveFollowRequest', 'followRequestAccepted', 'groupInvited', 'move', 'app'] as const;
|
||||||
|
|
||||||
export const noteNotificationTypes = ['mention', 'reply', 'renote', 'quote', 'reaction', 'pollVote', 'pollEnded'] as const;
|
export const noteNotificationTypes = ['mention', 'reply', 'renote', 'quote', 'reaction', 'pollVote', 'pollEnded'] as const;
|
||||||
|
|
||||||
|
|
|
@ -223,6 +223,11 @@ export type Notification = {
|
||||||
invitation: UserGroup;
|
invitation: UserGroup;
|
||||||
user: User;
|
user: User;
|
||||||
userId: User['id'];
|
userId: User['id'];
|
||||||
|
} | {
|
||||||
|
type: 'move',
|
||||||
|
user: User;
|
||||||
|
userId: User['id'];
|
||||||
|
moveTarget: User;
|
||||||
} | {
|
} | {
|
||||||
type: 'app';
|
type: 'app';
|
||||||
header?: string | null;
|
header?: string | null;
|
||||||
|
|
Loading…
Reference in a new issue