diff --git a/README.md b/README.md index a8099652..a0b7be16 100644 --- a/README.md +++ b/README.md @@ -72,12 +72,21 @@ The following fields will determine how the Ciao Web UI will beconfigured. #### Building application -In order to build application the 'install.sh' must be executed. This script will intsall dependencies using the npm package manager and also build minified JS scripts used with browser compatibility. -Note: this process is only necessary for development as minified scripts and dependencies are already provided by the application. +In order to build the application a Makefile is provided. Use make 'TARGET' to build Ciao-Webui. When running either 'install' or 'install-dev' targets. Note that if not set, the environment variable 'NODE_ENV' will be set to 'production' by default. + +###### make install +Use 'make' or 'make install' in order to build ciao-webui application with latest 'production' ready code. + +###### make install-dev +Use 'make install-dev' to install development dependencies and fully build and update dependencies for the Ciao-Webui project. Use this target for development environments. + +###### make uninstall +Remove Ciao-Webui from the system and cleans build files. + +###### make clean +Clean build generated files from working directory. +**Note:** Use this target to clean the working directory after runnin 'make install-dev' target. - # install while setting a "development" environment - $ ./install.sh development - # In this case NODE_ENV will be set to "development" #### Running application: diff --git a/core/externalIPService.js b/core/externalIPService.js new file mode 100644 index 00000000..d4e88c7c --- /dev/null +++ b/core/externalIPService.js @@ -0,0 +1,35 @@ +/*Pool service component + This is a client implementation to handle Ciao's external-ip API. +*/ + +var externalIPService = function (adapter, tokenManager) { +}; + +// listMappedIPs +// Method: GET +externalIPService.prototype.listMappedIPs = function () { + var adapter = this.adapter; + var tokenManager = this.tokenManager; + return function (req, res, next) { + }; +}; + +// mapExternalIP +// Method: POST +externalIPService.prototype.mapExternalIP = function () { + var adapter = this.adapter; + var tokenManager = this.tokenManager; + return function (req, res, next) { + }; +}; + +// unmapExternalIP +// Method: DELETE +externalIPService.prototype.unmapExternalIP = function () { + var adapter = this.adapter; + var tokenManager = this.tokenManager; + return function (req, res, next) { + }; +}; + +module.exports = externalIPService; diff --git a/core/poolService.js b/core/poolService.js new file mode 100644 index 00000000..9e40802f --- /dev/null +++ b/core/poolService.js @@ -0,0 +1,94 @@ +/*Pool service component + This is a client implementation to handle Ciao's Pool API. +*/ + +var poolService = function (adapter, tokenManager) { + this.adapter = adapter; + this.tokenManager = tokenManager; +}; + +// Begins section for IP Pools + +// listPools: +// Method: GET +// Returns a list of pools +poolService.prototype.listPools = function () { + var adapter = this.adapter; + var tokenManager = this.tokenManager; + return function (req, res, next) { + + }; +}; + +// addPool +// Method: POST +// Delivers a new pool request. +// On success: Expects http statusNoContent +poolService.prototype.addPool = function () { + var adapter = this.adapter; + var tokenManager = this.tokenManager; + return function (req, res, next) { + + }; +}; + +// addToPool +// Method: POST +// Delivers a new pool request. +// On success: Expects http statusNoContent +poolService.prototype.addToPool = function () { + var adapter = this.adapter; + var tokenManager = this.tokenManager; + return function (req, res, next) { + + }; +}; + +// deletePool +// Method: DELETE +// Delivers request to delete pool +// On success: Expects http statusNoContent +poolService.prototype.deletePool = function () { + var adapter = this.adapter; + var tokenManager = this.tokenManager; + return function (req, res, next) { + + }; +}; + +// deleteSubnet +// Method: DELETE +// Delivers request to delete subnet from +// On success: Expects http statusNoContent +poolService.prototype.deleteSubnet = function () { + var adapter = this.adapter; + var tokenManager = this.tokenManager; + return function (req, res, next) { + + }; +}; + +// deleteExternalIP +// Method: DELETE +// Delivers request to delete external IP from pool +// On success: Expects http statusNoContent +poolService.prototype.deleteExternalIP = function () { + var adapter = this.adapter; + var tokenManager = this.tokenManager; + return function (req, res, next) { + + }; +}; + +// listPools: +// Method: GET +// Returns a single pool object +poolService.prototype.showPool = function () { + var adapter = this.adapter; + var tokenManager = this.tokenManager; + return function (req, res, next) { + + }; +}; + +module.exports = poolService;