diff options
| author | syuilo <syuilotan@yahoo.co.jp> | 2018-04-12 03:46:32 +0900 |
|---|---|---|
| committer | syuilo <syuilotan@yahoo.co.jp> | 2018-04-12 03:46:32 +0900 |
| commit | 553fccd719690a659f5985e7956e875af92d17e0 (patch) | |
| tree | b70092f1a19aa5a7a72fe85146a1f9b49443384c /src/models/favorite.ts | |
| parent | Merge branch 'master' of https://github.com/syuilo/misskey (diff) | |
| download | misskey-553fccd719690a659f5985e7956e875af92d17e0.tar.gz misskey-553fccd719690a659f5985e7956e875af92d17e0.tar.bz2 misskey-553fccd719690a659f5985e7956e875af92d17e0.zip | |
wip
Diffstat (limited to 'src/models/favorite.ts')
| -rw-r--r-- | src/models/favorite.ts | 31 |
1 files changed, 29 insertions, 2 deletions
diff --git a/src/models/favorite.ts b/src/models/favorite.ts index 73f8881926..b2c5828088 100644 --- a/src/models/favorite.ts +++ b/src/models/favorite.ts @@ -1,8 +1,8 @@ import * as mongo from 'mongodb'; import db from '../db/mongodb'; -const Favorites = db.get<IFavorite>('favorites'); -export default Favorites; +const Favorite = db.get<IFavorite>('favorites'); +export default Favorite; export type IFavorite = { _id: mongo.ObjectID; @@ -10,3 +10,30 @@ export type IFavorite = { userId: mongo.ObjectID; noteId: mongo.ObjectID; }; + +/** + * Favoriteを物理削除します + */ +export async function deleteFavorite(favorite: string | mongo.ObjectID | IFavorite) { + let f: IFavorite; + + // Populate + if (mongo.ObjectID.prototype.isPrototypeOf(favorite)) { + f = await Favorite.findOne({ + _id: favorite + }); + } else if (typeof favorite === 'string') { + f = await Favorite.findOne({ + _id: new mongo.ObjectID(favorite) + }); + } else { + f = favorite as IFavorite; + } + + if (f == null) return; + + // このFavoriteを削除 + await Favorite.remove({ + _id: f._id + }); +} |