mizzkey/packages/backend/src/models/entities/Notification.ts
Shun Sakai c2370a1be6
chore: 著作権とライセンスについての情報を各ファイルに追加する (#11348)
* chore: Add the SPDX information to each file

Add copyright and licensing information as defined in version 3.0 of
the REUSE Specification.

* tweak format

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2023-07-27 14:31:52 +09:00

71 lines
1.7 KiB
TypeScript

/*
* SPDX-FileCopyrightText: syuilo and other misskey contributors
* SPDX-License-Identifier: AGPL-3.0-only
*/
import { notificationTypes } from '@/types.js';
import { User } from './User.js';
import { Note } from './Note.js';
import { FollowRequest } from './FollowRequest.js';
import { AccessToken } from './AccessToken.js';
export type Notification = {
id: string;
// RedisのためDateではなくstring
createdAt: string;
/**
* 通知の送信者(initiator)
*/
notifierId: User['id'] | null;
/**
* 通知の種類。
* follow - フォローされた
* mention - 投稿で自分が言及された
* reply - 投稿に返信された
* renote - 投稿がRenoteされた
* quote - 投稿が引用Renoteされた
* reaction - 投稿にリアクションされた
* pollEnded - 自分のアンケートもしくは自分が投票したアンケートが終了した
* receiveFollowRequest - フォローリクエストされた
* followRequestAccepted - 自分の送ったフォローリクエストが承認された
* achievementEarned - 実績を獲得
* app - アプリ通知
*/
type: typeof notificationTypes[number];
noteId: Note['id'] | null;
followRequestId: FollowRequest['id'] | null;
reaction: string | null;
choice: number | null;
achievement: string | null;
/**
* アプリ通知のbody
*/
customBody: string | null;
/**
* アプリ通知のheader
* (省略時はアプリ名で表示されることを期待)
*/
customHeader: string | null;
/**
* アプリ通知のicon(URL)
* (省略時はアプリアイコンで表示されることを期待)
*/
customIcon: string | null;
/**
* アプリ通知のアプリ(のトークン)
*/
appAccessTokenId: AccessToken['id'] | null;
}