sharkey/src/models/sw-subscription.ts

42 lines
929 B
TypeScript
Raw Normal View History

2018-03-29 14:48:47 +09:00
import * as mongo from 'mongodb';
2018-03-29 20:32:18 +09:00
import db from '../db/mongodb';
2017-11-21 03:40:09 +09:00
2018-03-29 14:48:47 +09: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-12 07:32:35 +09:00
/**
* SwSubscriptionを物理削除します
*/
export async function deleteSwSubscription(swSubscription: string | mongo.ObjectID | ISwSubscription) {
let s: ISwSubscription;
// Populate
if (mongo.ObjectID.prototype.isPrototypeOf(swSubscription)) {
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
});
}