jormungandr-bite/src/models/sw-subscription.ts

41 lines
928 B
TypeScript
Raw Normal View History

2018-03-28 23:48:47 -06:00
import * as mongo from 'mongodb';
2018-03-29 05:32:18 -06:00
import db from '../db/mongodb';
2017-11-20 11:40:09 -07:00
2018-03-28 23:48:47 -06: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 16:32:35 -06: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
});
}