From 9260e8e0aec5310f0c8c9ea2e42a3370e564aa7b Mon Sep 17 00:00:00 2001 From: zhongjin Date: Fri, 21 Sep 2018 23:49:05 +0800 Subject: [PATCH] new --- .travis.yml | 2 +- Gruntfile.js | 26 +++++++++++++------------- README.md | 36 ++++++++++++++++++------------------ admin/index.html | 6 +++--- appveyor.yml | 2 +- io-package.json | 18 +++++++++--------- lib/utils.js | 4 ++-- main.js | 12 ++++++------ package.json | 14 +++++++------- test/lib/setup.js | 4 ++-- test/testApi.js | 4 ++-- test/testPackageFiles.js | 6 +++--- test/testSsl.js | 8 ++++---- 13 files changed, 71 insertions(+), 71 deletions(-) diff --git a/.travis.yml b/.travis.yml index 2456688..5a5145d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,7 +12,7 @@ before_script: - 'if [[ $NPMVERSION == 5 ]]; then npm install -g npm@5; fi' - npm -v - npm install winston@2.3.1 - - 'npm install https://github.com/ioBroker/ioBroker.js-controller/tarball/master --production' + - 'npm install https://git.spacen.net/yunkong2/yunkong2.js-controller/tarball/master --production' env: - CXX=g++-4.8 addons: diff --git a/Gruntfile.js b/Gruntfile.js index baaa6a1..34fcc00 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -9,7 +9,7 @@ module.exports = function (grunt) { var srcDir = __dirname + '/'; var pkg = grunt.file.readJSON('package.json'); - var adaptName = pkg.name.substring('iobroker.'.length); + var adaptName = pkg.name.substring('yunkong2.'.length); var iopackage = grunt.file.readJSON('io-package.json'); var version = (pkg && pkg.version) ? pkg.version : iopackage.common.version; var newname = grunt.option('name'); @@ -32,17 +32,17 @@ module.exports = function (grunt) { console.log('Name must be lower case.'); process.exit(); } - if (fs.existsSync(__dirname + '/admin/template-rest.png')) { - fs.renameSync(__dirname + '/admin/template-rest.png', __dirname + '/admin/' + newname + '.png'); + if (fs.existsSync(__dirname + '/admin/rest.png')) { + fs.renameSync(__dirname + '/admin/rest.png', __dirname + '/admin/' + newname + '.png'); } - if (fs.existsSync(__dirname + '/widgets/template-rest.html')) { - fs.renameSync(__dirname + '/widgets/template-rest.html', __dirname + '/widgets/' + newname + '.html'); + if (fs.existsSync(__dirname + '/widgets/rest.html')) { + fs.renameSync(__dirname + '/widgets/rest.html', __dirname + '/widgets/' + newname + '.html'); } - if (fs.existsSync(__dirname + '/widgets/template/js/template-rest.js')) { - fs.renameSync(__dirname + '/widgets/template/js/template-rest.js', __dirname + '/widgets/template/js/' + newname + '.js'); + if (fs.existsSync(__dirname + '/widgets/template/js/rest.js')) { + fs.renameSync(__dirname + '/widgets/template/js/rest.js', __dirname + '/widgets/template/js/' + newname + '.js'); } - if (fs.existsSync(__dirname + '/widgets/template-rest')) { - fs.renameSync(__dirname + '/widgets/template-rest', __dirname + '/widgets/' + newname); + if (fs.existsSync(__dirname + '/widgets/rest')) { + fs.renameSync(__dirname + '/widgets/rest', __dirname + '/widgets/' + newname); } } @@ -105,7 +105,7 @@ module.exports = function (grunt) { }, { match: /Template\-rest/g, - replacement: newname ? (newname[0].toUpperCase() + newname.substring(1)) : 'Template-rest' + replacement: newname ? (newname[0].toUpperCase() + newname.substring(1)) : 'rest' }, { match: /@@Author@@/g, @@ -175,19 +175,19 @@ module.exports = function (grunt) { http: { get_hjscs: { options: { - url: 'https://raw.githubusercontent.com/ioBroker/ioBroker.js-controller/master/tasks/jscs.js' + url: 'https://raw.githubusercontent.com/yunkong2/yunkong2.js-controller/master/tasks/jscs.js' }, dest: 'tasks/jscs.js' }, get_jshint: { options: { - url: 'https://raw.githubusercontent.com/ioBroker/ioBroker.js-controller/master/tasks/jshint.js' + url: 'https://raw.githubusercontent.com/yunkong2/yunkong2.js-controller/master/tasks/jshint.js' }, dest: 'tasks/jshint.js' }, get_jscsRules: { options: { - url: 'https://raw.githubusercontent.com/ioBroker/ioBroker.js-controller/master/tasks/jscsRules.js' + url: 'https://raw.githubusercontent.com/yunkong2/yunkong2.js-controller/master/tasks/jscsRules.js' }, dest: 'tasks/jscsRules.js' } diff --git a/README.md b/README.md index d74d4b8..9e6ee6f 100644 --- a/README.md +++ b/README.md @@ -1,19 +1,19 @@ -![Logo](admin/template-rest.png) -# ioBroker.template-rest +![Logo](admin/rest.png) +# yunkong2.rest ================= -This adapter is a template for the creation of an ioBroker adapter. You do not need it, at least that you plan developing your own adapter. +This adapter is a template for the creation of an yunkong2 adapter. You do not need it, at least that you plan developing your own adapter. -This is extension of [ioBroker.template](https://github.com/ioBroker/ioBroker.template) adapter with REST service. +This is extension of [yunkong2.template](https://git.spacen.net/yunkong2/yunkong2.template) adapter with REST service. By default the WEB server will be started to serve HTTP GET/POST requests. It can be started as secure(https) or unsecure(http) and with authentication or without. Additionally is shown how to poll some other URL for JSON data and parse them. ##Steps -1. download and unpack this packet from github ```https://github.com/ioBroker/ioBroker.template/archive/master.zip``` - or clone git repository ```git clone https://github.com/ioBroker/ioBroker.template.git``` +1. download and unpack this packet from github ```https://git.spacen.net/yunkong2/yunkong2.template/archive/master.zip``` + or clone git repository ```git clone https://git.spacen.net/yunkong2/yunkong2.template.git``` -2. download required npm packets. Write in ioBroker.template directory: +2. download required npm packets. Write in yunkong2.template directory: ```npm install``` @@ -27,29 +27,29 @@ Additionally is shown how to poll some other URL for JSON data and parse them. ```npm install -g grunt-cli``` -4. rename directory from *ioBroker.template* (can be *ioBroker.template-master*) to *iobroker.mynewname* +4. rename directory from *yunkong2.template* (can be *yunkong2.template-master*) to *yunkong2.mynewname* -5. to use this template you should copy it into *.../iobroker/node_modules* directory and then create an instance for it with iobroker.admin +5. to use this template you should copy it into *.../yunkong2/node_modules* directory and then create an instance for it with yunkong2.admin 6. create your adapter: - * you might want to start with main.js (code running within iobroker) and admin/index.html (the adapter settings page). + * you might want to start with main.js (code running within yunkong2) and admin/index.html (the adapter settings page). - * [Adapter-Development-Documentation](https://github.com/ioBroker/ioBroker/wiki/Adapter-Development-Documentation), + * [Adapter-Development-Documentation](https://git.spacen.net/yunkong2/yunkong2/wiki/Adapter-Development-Documentation), - * [Installation, setup and first steps with an ioBroker Development Environment](https://github.com/ioBroker/ioBroker/wiki/Installation,-setup-and-first-steps-with-an-ioBroker-Development-Environment) + * [Installation, setup and first steps with an yunkong2 Development Environment](https://git.spacen.net/yunkong2/yunkong2/wiki/Installation,-setup-and-first-steps-with-an-yunkong2-Development-Environment) - * [Write and debug vis widgets](https://github.com/ioBroker/ioBroker/wiki/How-to-debug-vis-and-to-write-own-widget-set) + * [Write and debug vis widgets](https://git.spacen.net/yunkong2/yunkong2/wiki/How-to-debug-vis-and-to-write-own-widget-set) - * files under the www folders are made available under http://<iobrokerIP>:8082/<adapter-name>/ - * for this to work the iobroker.vis adapter has to be installed + * files under the www folders are made available under http://<yunkong2IP>:8082/<adapter-name>/ + * for this to work the yunkong2.vis adapter has to be installed * delete this folder if you do not plan to export any files this way - * call ```iobroker upload ``` after you change files in the www folder to get the new files uploaded to vis + * call ```yunkong2 upload ``` after you change files in the www folder to get the new files uploaded to vis * the widget folder contains an example of a vis widget * you might want to start with *widget/.html* and *widget/js/.js* - * call ```iobroker visdebug ``` to enable debugging and upload widget to "vis". (This works only from V0.7.15 of js-controller) + * call ```yunkong2 visdebug ``` to enable debugging and upload widget to "vis". (This works only from V0.7.15 of js-controller) * If you do not plan to export any widget then delete the whole widget folder and remove the ```"restartAdapters": ["vis"]``` statement from *io-package.json* - * After admin/index.html is changed you must execute ```iobroker upload mynewname``` to see changes in admin console. The same is valid for any files in *admin* and *www* directory + * After admin/index.html is changed you must execute ```yunkong2 upload mynewname``` to see changes in admin console. The same is valid for any files in *admin* and *www* directory 7. change version: edit package.json and then call ```grunt p``` in your adapter directory. diff --git a/admin/index.html b/admin/index.html index 172619c..e1055fb 100644 --- a/admin/index.html +++ b/admin/index.html @@ -29,7 +29,7 @@ // Dictionary (systemDictionary is global variable from adapter-settings.js) systemDictionary = { - "template-rest adapter settings": {"de": "Beispiel", "ru": "Пример"}, + "rest adapter settings": {"de": "Beispiel", "ru": "Пример"}, "test1": {"en": "Test 1", "de": "Test 1", "ru": "Тест 1"}, "test2": {"en": "Test 2", "de": "Test 2", "ru": "Тест 2"}, @@ -173,8 +173,8 @@
- - + +

template-rest adapter settings

rest adapter settings

diff --git a/appveyor.yml b/appveyor.yml index 84ca0a9..d278435 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -16,7 +16,7 @@ install: - ps: npm --version - npm install - npm install winston@2.3.1 - - 'npm install https://github.com/ioBroker/ioBroker.js-controller/tarball/master --production' + - 'npm install https://git.spacen.net/yunkong2/yunkong2.js-controller/tarball/master --production' test_script: - echo %cd% - node --version diff --git a/io-package.json b/io-package.json index 81292c0..3775876 100644 --- a/io-package.json +++ b/io-package.json @@ -1,12 +1,12 @@ { "common": { - "name": "template-rest", + "name": "rest", "version": "0.1.0", - "title": "Javascript/Node.js based template-rest adapter", + "title": "Javascript/Node.js based rest adapter", "desc": { - "en": "ioBroker template-rest Adapter", - "de": "ioBroker template-rest Adapter", - "ru": "ioBroker template-rest драйвер как образец" + "en": "yunkong2 rest Adapter", + "de": "yunkong2 rest Adapter", + "ru": "yunkong2 rest драйвер как образец" }, "news": { "0.1.0" :{ @@ -30,11 +30,11 @@ ], "platform": "Javascript/Node.js", "mode": "daemon", - "icon": "template-rest.png", + "icon": "rest.png", "enabled": true, - "extIcon": "https://raw.githubusercontent.com/ioBroker/ioBroker.template-rest/master/admin/template-rest.png", - "keywords": ["template-rest", "REST"], - "readme": "https://github.com/ioBroker/ioBroker.template-rest/blob/master/README.md", + "extIcon": "https://git.spacen.net/yunkong2/yunkong2.rest/raw/master/admin/rest.png", + "keywords": ["rest", "REST"], + "readme": "https://git.spacen.net/yunkong2/yunkong2.rest/blob/master/README.md", "loglevel": "info", "type": "communication", "dependencies": [{"js-controller": ">=0.12.0"}] diff --git a/lib/utils.js b/lib/utils.js index c8a0eb7..6af37ff 100644 --- a/lib/utils.js +++ b/lib/utils.js @@ -27,8 +27,8 @@ let appName; function getControllerDir(isInstall) { // Find the js-controller location const possibilities = [ - 'iobroker.js-controller', - 'ioBroker.js-controller', + 'yunkong2.js-controller', + 'yunkong2.js-controller', ]; /** @type {string} */ let controllerPath; diff --git a/main.js b/main.js index d33b6b8..6dcf95a 100644 --- a/main.js +++ b/main.js @@ -27,11 +27,11 @@ * "auth": false, // if basic authentication is required. If enabled, the secure connection should be used. * "secure": false, // If SSL communication must be used. Should has the name "secure", because it can be changed from console. * "bind": "0.0.0.0", // Specific address, where the server will be started. "0.0.0.0" means that it will be available for all addresses. Should has the name "bind", because it can be changed from console. - * "defaultUser": "admin", // If authentication is disabled, here can be specified as which user the requests will be done to iobroker DB. - * "certPublic": "defaultPublic",// Required for SSL communication: name of some public certificate from iobroker DB - * "certPrivate": "defaultPrivate"// Required for SSL communication: name of some private key from iobroker DB + * "defaultUser": "admin", // If authentication is disabled, here can be specified as which user the requests will be done to yunkong2 DB. + * "certPublic": "defaultPublic",// Required for SSL communication: name of some public certificate from yunkong2 DB + * "certPrivate": "defaultPrivate"// Required for SSL communication: name of some private key from yunkong2 DB * - * "pollURL": "", // Request all 30 seconds the JSON from this URL, parse it and store in ioBroker + * "pollURL": "", // Request all 30 seconds the JSON from this URL, parse it and store in yunkong2 * "interval": 30000 // polling interval * } * } @@ -53,7 +53,7 @@ var request = null; // will be initialized later if polling enabled // you have to call the adapter function and pass a options object // name has to be set and has to be equal to adapters folder name and main file name excluding extension // adapter will be restarted automatically every time as the configuration changed, e.g system.adapter.template.0 -var adapter = utils.Adapter('template-rest'); +var adapter = utils.Adapter('rest'); var LE = require(utils.controllerDir + '/lib/letsencrypt.js'); // REST server @@ -176,7 +176,7 @@ function initWebServer(settings) { var login = loginPass[0]; var password = loginPass[1]; - // Check in ioBroker user and password + // Check in yunkong2 user and password adapter.checkPassword(login, password, function (result) { if (!result) { adapter.log.error('Wrong user or password: ' + login); diff --git a/package.json b/package.json index 46bb9e1..01e86c9 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { - "name": "iobroker.template-rest", + "name": "yunkong2.rest", "version": "0.1.0", - "description": "ioBroker template-rest Adapter", + "description": "yunkong2 rest Adapter", "author": { "name": "@@Author@@", "email": "@@email@@" @@ -12,16 +12,16 @@ "email": "@@email@@" } ], - "homepage": "https://github.com/ioBroker/ioBroker.template-rest", + "homepage": "https://git.spacen.net/yunkong2/yunkong2.rest", "license": "MIT", "keywords": [ - "ioBroker", - "template-rest", + "yunkong2", + "rest", "REST API" ], "repository": { "type": "git", - "url": "https://github.com/ioBroker/ioBroker.template-rest" + "url": "https://git.spacen.net/yunkong2/yunkong2.rest" }, "dependencies": { "express": "^4.13.4", @@ -41,7 +41,7 @@ "test": "node node_modules/mocha/bin/mocha --exit" }, "bugs": { - "url": "https://github.com/ioBroker/ioBroker.template-rest/issues" + "url": "https://git.spacen.net/yunkong2/yunkong2.rest/issues" }, "readmeFilename": "README.md" } \ No newline at end of file diff --git a/test/lib/setup.js b/test/lib/setup.js index 16857ed..e2a1680 100644 --- a/test/lib/setup.js +++ b/test/lib/setup.js @@ -321,7 +321,7 @@ function installJsController(cb) { if (!fs.existsSync(rootDir + 'tmp/node_modules/' + appName + '.js-controller')) { console.log('installJsController: no js-controller => install from git'); - child_process.execSync('npm install https://github.com/' + appName + '/' + appName + '.js-controller/tarball/master --prefix ./ --production', { + child_process.execSync('npm install https://git.spacen.net/' + appName + '/' + appName + '.js-controller/tarball/master --prefix ./ --production', { cwd: rootDir + 'tmp/', stdio: [0, 1, 2] }); @@ -415,7 +415,7 @@ function clearControllerLog() { } function clearDB() { - var dirPath = rootDir + 'tmp/iobroker-data/sqlite'; + var dirPath = rootDir + 'tmp/yunkong2-data/sqlite'; var files; try { if (fs.existsSync(dirPath)) { diff --git a/test/testApi.js b/test/testApi.js index a1b58b1..09d2b1f 100644 --- a/test/testApi.js +++ b/test/testApi.js @@ -49,7 +49,7 @@ describe('Test RESTful API', function() { }); it('Test RESTful API: get /api/id - must return value', function (done) { - request('http://127.0.0.1:18183/api/system.adapter.template-rest.0.alive', function (error, response, body) { + request('http://127.0.0.1:18183/api/system.adapter.rest.0.alive', function (error, response, body) { console.log('get /api => ' + body); expect(error).to.be.not.ok; var data = JSON.parse(body); @@ -59,7 +59,7 @@ describe('Test RESTful API', function() { }); it('Test RESTful API: get /api/plain/id - must return value', function (done) { - request('http://127.0.0.1:18183/api/plain/system.adapter.template-rest.0.alive', function (error, response, body) { + request('http://127.0.0.1:18183/api/plain/system.adapter.rest.0.alive', function (error, response, body) { console.log('get /api => ' + body); expect(error).to.be.not.ok; expect(body).to.be.equal('Value: true'); diff --git a/test/testPackageFiles.js b/test/testPackageFiles.js index c600a60..d0759c0 100644 --- a/test/testPackageFiles.js +++ b/test/testPackageFiles.js @@ -52,12 +52,12 @@ describe('Test package.json and io-package.json', function() { console.log(); } if ( - ioPackage.common.title.indexOf('iobroker') !== -1 || - ioPackage.common.title.indexOf('ioBroker') !== -1 || + ioPackage.common.title.indexOf('yunkong2') !== -1 || + ioPackage.common.title.indexOf('yunkong2') !== -1 || ioPackage.common.title.indexOf('adapter') !== -1 || ioPackage.common.title.indexOf('Adapter') !== -1 ) { - console.log('WARNING: title contains Adapter or ioBroker. It is clear anyway, that it is adapter for ioBroker.'); + console.log('WARNING: title contains Adapter or yunkong2. It is clear anyway, that it is adapter for yunkong2.'); console.log(); } diff --git a/test/testSsl.js b/test/testSsl.js index 0d2a7b5..92c501a 100644 --- a/test/testSsl.js +++ b/test/testSsl.js @@ -35,7 +35,7 @@ describe('Test RESTful API SSL', function() { }); it('Test RESTful API SSL: get /api/plain - must return welcome text', function (done) { - request('https://admin:iobroker@127.0.0.1:18184/api/plain', function (error, response, body) { + request('https://admin:yunkong2@127.0.0.1:18184/api/plain', function (error, response, body) { console.log('get /api/plain => ' + body); expect(error).to.be.not.ok; expect(body).to.be.equal('Welcome to our text REST api!'); @@ -44,7 +44,7 @@ describe('Test RESTful API SSL', function() { }); it('Test RESTful API SSL: get /api - must return welcome text', function (done) { - request('https://admin:iobroker@127.0.0.1:18184/api', function (error, response, body) { + request('https://admin:yunkong2@127.0.0.1:18184/api', function (error, response, body) { console.log('get /api => ' + body); expect(error).to.be.not.ok; expect(body).to.be.equal('{"message":"Welcome to our JSON REST api!"}'); @@ -53,7 +53,7 @@ describe('Test RESTful API SSL', function() { }); it('Test RESTful API SSL: get /api/id - must return value', function (done) { - request('https://admin:iobroker@127.0.0.1:18184/api/system.adapter.template-rest.0.alive', function (error, response, body) { + request('https://admin:yunkong2@127.0.0.1:18184/api/system.adapter.rest.0.alive', function (error, response, body) { console.log('get /api => ' + body); expect(error).to.be.not.ok; var data = JSON.parse(body); @@ -63,7 +63,7 @@ describe('Test RESTful API SSL', function() { }); it('Test RESTful API SSL: get /api/plain/id - must return value', function (done) { - request('https://admin:iobroker@127.0.0.1:18184/api/plain/system.adapter.template-rest.0.alive', function (error, response, body) { + request('https://admin:yunkong2@127.0.0.1:18184/api/plain/system.adapter.rest.0.alive', function (error, response, body) { console.log('get /api => ' + body); expect(error).to.be.not.ok; expect(body).to.be.equal('Value: true');
test1