summaryrefslogtreecommitdiff
path: root/src/models/sw-subscription.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/models/sw-subscription.ts')
-rw-r--r--src/models/sw-subscription.ts28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/models/sw-subscription.ts b/src/models/sw-subscription.ts
index 743d0d2dd9..621ac8a9b6 100644
--- a/src/models/sw-subscription.ts
+++ b/src/models/sw-subscription.ts
@@ -11,3 +11,31 @@ export interface ISwSubscription {
auth: string;
publickey: string;
}
+
+/**
+ * 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
+ });
+}
+