hippofish/src/api/models/notification.ts
2017-11-11 02:25:24 +09:00

47 lines
1.3 KiB
TypeScript

import * as mongo from 'mongodb';
import db from '../../db/mongodb';
import { IUser } from './user';
export default db.get('notifications') as any; // fuck type definition
export interface INotification {
_id: mongo.ObjectID;
created_at: Date;
/**
* 通知の受信者
*/
notifiee?: IUser;
/**
* 通知の受信者
*/
notifiee_id: mongo.ObjectID;
/**
* イニシエータ(initiator)、Origin。通知を行う原因となったユーザー
*/
notifier?: IUser;
/**
* イニシエータ(initiator)、Origin。通知を行う原因となったユーザー
*/
notifier_id: mongo.ObjectID;
/**
* 通知の種類。
* follow - フォローされた
* mention - 投稿で自分が言及された
* reply - (自分または自分がWatchしている)投稿が返信された
* repost - (自分または自分がWatchしている)投稿がRepostされた
* quote - (自分または自分がWatchしている)投稿が引用Repostされた
* reaction - (自分または自分がWatchしている)投稿にリアクションされた
* poll_vote - (自分または自分がWatchしている)投稿の投票に投票された
*/
type: 'follow' | 'mention' | 'reply' | 'repost' | 'quote' | 'reaction' | 'poll_vote';
/**
* 通知が読まれたかどうか
*/
is_read: Boolean;
}