UNPKG

1.22 kBJavaScriptView Raw
1'use strict';
2
3const BbPromise = require('bluebird');
4const validate = require('./lib/validate');
5const removeFunctions = require('./lib/removeFunctions');
6const removeTriggers = require('./lib/removeTriggers');
7const removeRules = require('./lib/removeRules');
8const removeFeeds = require('./lib/removeFeeds');
9const removeRoutes = require('./lib/removeRoutes');
10const setupResources = require('./lib/setupResources');
11const util = require('./lib/util');
12
13class OpenWhiskRemove {
14 constructor(serverless, options) {
15 this.serverless = serverless;
16 this.options = options || {};
17 this.provider = this.serverless.getProvider('openwhisk');
18
19 Object.assign(this, validate, setupResources, removeFunctions, removeTriggers, removeRules, removeFeeds, removeRoutes, util);
20
21 this.hooks = {
22 'remove:remove': () => BbPromise.bind(this)
23 .then(this.validate)
24 .then(this.setupResources)
25 .then(this.removeRoutes)
26 .then(this.removeRules)
27 .then(this.removeFunctions)
28 .then(this.removeTriggers)
29 .then(this.removeFeeds)
30 .then(() => this.serverless.cli.log('Resource removal successful!')),
31 };
32 }
33}
34
35module.exports = OpenWhiskRemove;