1 | 'use strict';
|
2 |
|
3 | const BbPromise = require('bluebird');
|
4 | const validate = require('./lib/validate');
|
5 | const removeFunctions = require('./lib/removeFunctions');
|
6 | const removeTriggers = require('./lib/removeTriggers');
|
7 | const removeRules = require('./lib/removeRules');
|
8 | const removeFeeds = require('./lib/removeFeeds');
|
9 | const removeRoutes = require('./lib/removeRoutes');
|
10 | const setupResources = require('./lib/setupResources');
|
11 | const util = require('./lib/util');
|
12 |
|
13 | class 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 |
|
35 | module.exports = OpenWhiskRemove;
|