misskey/src/models/sw-subscription.ts

42 lines
946 B
TypeScript
Raw Normal View History

2018-03-28 22:48:47 -07:00
import * as mongo from 'mongodb';
2018-03-29 04:32:18 -07:00
import db from '../db/mongodb';
2018-10-15 19:38:09 -07:00
import isObjectId from '../misc/is-objectid';
2017-11-20 10:40:09 -08:00
2018-03-28 22:48:47 -07:00
const SwSubscription = db.get<ISwSubscription>('swSubscriptions');
export default SwSubscription;
export interface ISwSubscription {
_id: mongo.ObjectID;
userId: mongo.ObjectID;
endpoint: string;
auth: string;
publickey: string;
}
2018-04-11 15:32:35 -07:00
/**
* SwSubscriptionを物理削除します
*/
export async function deleteSwSubscription(swSubscription: string | mongo.ObjectID | ISwSubscription) {
let s: ISwSubscription;
// Populate
2018-10-15 19:38:09 -07:00
if (isObjectId(swSubscription)) {
2018-04-11 15:32:35 -07:00
s = await SwSubscription.findOne({
_id: swSubscription
});
} else if (typeof swSubscription === 'string') {
s = await SwSubscription.findOne({
_id: new mongo.ObjectID(swSubscription)
});
} else {
s = swSubscription as ISwSubscription;
}
if (s == null) return;
// このSwSubscriptionを削除
await SwSubscription.remove({
_id: s._id
});
}