From 36df9c9bb5cbefcc2b9a1c698f2d23dd7bcc8163 Mon Sep 17 00:00:00 2001 From: Martin Hecher Date: Mon, 16 Feb 2015 15:16:51 +0100 Subject: [PATCH] * updated to latest folder structure * updated to latest deployment scripts --- src/Gruntfile.js => Gruntfile.js | 0 {deployment => _devops}/README.txt | 0 _devops/docker-build-image.sh | 12 + _devops/docker-run-container.sh | 25 + .../docker-start-container.sh | 0 _devops/serve-dev.sh | 11 + _devops/serve-prod.sh | 11 + {deployment => _devops}/service-info.txt | 4 + _devops/setup.sh | 9 + _devops/test.sh | 15 + {src/api => api}/controllers/.gitkeep | 0 {src/api => api}/models/.gitkeep | 0 {src/api => api}/policies/sessionAuth.js | 0 {src/api => api}/responses/badRequest.js | 0 {src/api => api}/responses/forbidden.js | 0 {src/api => api}/responses/notFound.js | 0 {src/api => api}/responses/ok.js | 0 {src/api => api}/responses/serverError.js | 0 {src/api => api}/services/.gitkeep | 0 {src/api => api}/services/FileExplorer.js | 0 src/app.js => app.js | 0 {src/.tmp/public => assets}/favicon.ico | Bin {src/assets => assets}/images/.gitkeep | 0 .../js/dependencies/sails.io.js | 0 {src/.tmp/public => assets}/robots.txt | 0 {src/assets => assets}/styles/importer.less | 0 {src/assets => assets}/templates/.gitkeep | 0 {src/config => config}/blueprints.js | 0 {src/config => config}/bootstrap.js | 0 {src/config => config}/connections.js | 0 {src/config => config}/cors.js | 0 {src/config => config}/csrf.js | 0 {src/config => config}/env/development.js | 0 {src/config => config}/env/production.js | 0 {src/config => config}/globals.js | 0 {src/config => config}/http.js | 0 {src/config => config}/i18n.js | 0 {src/config => config}/local.js | 0 {src/config => config}/locales/_README.md | 0 {src/config => config}/locales/de.json | 0 {src/config => config}/locales/en.json | 0 {src/config => config}/locales/es.json | 0 {src/config => config}/locales/fr.json | 0 {src/config => config}/log.js | 0 {src/config => config}/models.js | 0 {src/config => config}/policies.js | 0 {src/config => config}/routes.js | 0 {src/config => config}/session.js | 0 {src/config => config}/sockets.js | 0 {src/config => config}/views.js | 0 deployment/docker-build.sh | 6 - deployment/docker-run.sh | 17 - package.json | 39 +- {src/scripts => scripts}/serve-dev.sh | 0 {src/scripts => scripts}/serve-prod.sh | 0 {src/scripts => scripts}/setup.sh | 0 {src/scripts => scripts}/test.sh | 0 src/.tmp/localDiskDb.db | 24 - src/.tmp/public/styles/importer.css | 15 - src/assets/favicon.ico | Bin 920 -> 0 bytes src/assets/js/dependencies/sails.io.js | 822 ------------------ src/assets/robots.txt | 8 - src/package.json | 53 -- {src/tasks => tasks}/README.md | 0 {src/tasks => tasks}/config/clean.js | 0 {src/tasks => tasks}/config/coffee.js | 0 {src/tasks => tasks}/config/concat.js | 0 {src/tasks => tasks}/config/copy.js | 0 {src/tasks => tasks}/config/cssmin.js | 0 {src/tasks => tasks}/config/jst.js | 0 {src/tasks => tasks}/config/less.js | 0 {src/tasks => tasks}/config/mocha.js | 0 {src/tasks => tasks}/config/sails-linker.js | 0 {src/tasks => tasks}/config/sync.js | 0 {src/tasks => tasks}/config/uglify.js | 0 {src/tasks => tasks}/config/watch.js | 0 {src/tasks => tasks}/pipeline.js | 0 {src/tasks => tasks}/register/build.js | 0 {src/tasks => tasks}/register/buildProd.js | 0 .../tasks => tasks}/register/compileAssets.js | 0 {src/tasks => tasks}/register/default.js | 0 {src/tasks => tasks}/register/linkAssets.js | 0 .../register/linkAssetsBuild.js | 0 .../register/linkAssetsBuildProd.js | 0 {src/tasks => tasks}/register/prod.js | 0 {src/tasks => tasks}/register/syncAssets.js | 0 {src/tasks => tasks}/register/test.js | 0 {src/tests => tests}/adapters/.gitkeep | 0 {src/tests => tests}/controllers/.gitkeep | 0 .../fixtures/storage/file1.e57 | 0 .../fixtures/storage/file1.ifc | 0 .../fixtures/storage/mymodel/file2.e57 | 0 .../fixtures/storage/mymodel/file2.ifc | 0 {src/tests => tests}/models/.gitkeep | 0 {src/tests => tests}/policies/.gitkeep | 0 {src/tests => tests}/services/.gitkeep | 0 .../services/FileExplorer.spec.js | 0 {src/views => views}/403.ejs | 0 {src/views => views}/404.ejs | 0 {src/views => views}/500.ejs | 0 {src/views => views}/homepage.ejs | 0 {src/views => views}/layout.ejs | 0 102 files changed, 119 insertions(+), 952 deletions(-) rename src/Gruntfile.js => Gruntfile.js (100%) rename {deployment => _devops}/README.txt (100%) create mode 100755 _devops/docker-build-image.sh create mode 100755 _devops/docker-run-container.sh rename deployment/docker-start-service.sh => _devops/docker-start-container.sh (100%) create mode 100755 _devops/serve-dev.sh create mode 100755 _devops/serve-prod.sh rename {deployment => _devops}/service-info.txt (54%) create mode 100755 _devops/setup.sh create mode 100755 _devops/test.sh rename {src/api => api}/controllers/.gitkeep (100%) rename {src/api => api}/models/.gitkeep (100%) rename {src/api => api}/policies/sessionAuth.js (100%) rename {src/api => api}/responses/badRequest.js (100%) rename {src/api => api}/responses/forbidden.js (100%) rename {src/api => api}/responses/notFound.js (100%) rename {src/api => api}/responses/ok.js (100%) rename {src/api => api}/responses/serverError.js (100%) rename {src/api => api}/services/.gitkeep (100%) rename {src/api => api}/services/FileExplorer.js (100%) rename src/app.js => app.js (100%) rename {src/.tmp/public => assets}/favicon.ico (100%) rename {src/assets => assets}/images/.gitkeep (100%) rename {src/.tmp/public => assets}/js/dependencies/sails.io.js (100%) rename {src/.tmp/public => assets}/robots.txt (100%) rename {src/assets => assets}/styles/importer.less (100%) rename {src/assets => assets}/templates/.gitkeep (100%) rename {src/config => config}/blueprints.js (100%) rename {src/config => config}/bootstrap.js (100%) rename {src/config => config}/connections.js (100%) rename {src/config => config}/cors.js (100%) rename {src/config => config}/csrf.js (100%) rename {src/config => config}/env/development.js (100%) rename {src/config => config}/env/production.js (100%) rename {src/config => config}/globals.js (100%) rename {src/config => config}/http.js (100%) rename {src/config => config}/i18n.js (100%) rename {src/config => config}/local.js (100%) rename {src/config => config}/locales/_README.md (100%) rename {src/config => config}/locales/de.json (100%) rename {src/config => config}/locales/en.json (100%) rename {src/config => config}/locales/es.json (100%) rename {src/config => config}/locales/fr.json (100%) rename {src/config => config}/log.js (100%) rename {src/config => config}/models.js (100%) rename {src/config => config}/policies.js (100%) rename {src/config => config}/routes.js (100%) rename {src/config => config}/session.js (100%) rename {src/config => config}/sockets.js (100%) rename {src/config => config}/views.js (100%) delete mode 100755 deployment/docker-build.sh delete mode 100755 deployment/docker-run.sh rename {src/scripts => scripts}/serve-dev.sh (100%) rename {src/scripts => scripts}/serve-prod.sh (100%) rename {src/scripts => scripts}/setup.sh (100%) rename {src/scripts => scripts}/test.sh (100%) delete mode 100644 src/.tmp/localDiskDb.db delete mode 100644 src/.tmp/public/styles/importer.css delete mode 100644 src/assets/favicon.ico delete mode 100644 src/assets/js/dependencies/sails.io.js delete mode 100644 src/assets/robots.txt delete mode 100644 src/package.json rename {src/tasks => tasks}/README.md (100%) rename {src/tasks => tasks}/config/clean.js (100%) rename {src/tasks => tasks}/config/coffee.js (100%) rename {src/tasks => tasks}/config/concat.js (100%) rename {src/tasks => tasks}/config/copy.js (100%) rename {src/tasks => tasks}/config/cssmin.js (100%) rename {src/tasks => tasks}/config/jst.js (100%) rename {src/tasks => tasks}/config/less.js (100%) rename {src/tasks => tasks}/config/mocha.js (100%) rename {src/tasks => tasks}/config/sails-linker.js (100%) rename {src/tasks => tasks}/config/sync.js (100%) rename {src/tasks => tasks}/config/uglify.js (100%) rename {src/tasks => tasks}/config/watch.js (100%) rename {src/tasks => tasks}/pipeline.js (100%) rename {src/tasks => tasks}/register/build.js (100%) rename {src/tasks => tasks}/register/buildProd.js (100%) rename {src/tasks => tasks}/register/compileAssets.js (100%) rename {src/tasks => tasks}/register/default.js (100%) rename {src/tasks => tasks}/register/linkAssets.js (100%) rename {src/tasks => tasks}/register/linkAssetsBuild.js (100%) rename {src/tasks => tasks}/register/linkAssetsBuildProd.js (100%) rename {src/tasks => tasks}/register/prod.js (100%) rename {src/tasks => tasks}/register/syncAssets.js (100%) rename {src/tasks => tasks}/register/test.js (100%) rename {src/tests => tests}/adapters/.gitkeep (100%) rename {src/tests => tests}/controllers/.gitkeep (100%) rename {src/tests => tests}/fixtures/storage/file1.e57 (100%) rename {src/tests => tests}/fixtures/storage/file1.ifc (100%) rename {src/tests => tests}/fixtures/storage/mymodel/file2.e57 (100%) rename {src/tests => tests}/fixtures/storage/mymodel/file2.ifc (100%) rename {src/tests => tests}/models/.gitkeep (100%) rename {src/tests => tests}/policies/.gitkeep (100%) rename {src/tests => tests}/services/.gitkeep (100%) rename {src/tests => tests}/services/FileExplorer.spec.js (100%) rename {src/views => views}/403.ejs (100%) rename {src/views => views}/404.ejs (100%) rename {src/views => views}/500.ejs (100%) rename {src/views => views}/homepage.ejs (100%) rename {src/views => views}/layout.ejs (100%) diff --git a/src/Gruntfile.js b/Gruntfile.js similarity index 100% rename from src/Gruntfile.js rename to Gruntfile.js diff --git a/deployment/README.txt b/_devops/README.txt similarity index 100% rename from deployment/README.txt rename to _devops/README.txt diff --git a/_devops/docker-build-image.sh b/_devops/docker-build-image.sh new file mode 100755 index 0000000..79110de --- /dev/null +++ b/_devops/docker-build-image.sh @@ -0,0 +1,12 @@ +#!/bin/sh + +SERVICEFILE=./service-info.txt + +NAMESPACE=$(sed '1q;d' $SERVICEFILE) +IMAGENAME=$NAMESPACE/$(sed '2q;d' $SERVICEFILE) +DOCKERFILE=$(sed '3q;d' $SERVICEFILE) + +echo "Building docker image '$IMAGENAME' from Dockerfile located at '$DOCKERFILE':" +echo "docker build -t $IMAGENAME $DOCKERFILE" + +docker build -t $IMAGENAME $DOCKERFILE diff --git a/_devops/docker-run-container.sh b/_devops/docker-run-container.sh new file mode 100755 index 0000000..371141d --- /dev/null +++ b/_devops/docker-run-container.sh @@ -0,0 +1,25 @@ +#!/bin/sh + +SERVICEFILE=./service-info.txt + +NAMESPACE=$(sed '1q;d' $SERVICEFILE) +IMAGENAME=$NAMESPACE/$(sed '2q;d' $SERVICEFILE) +FOLDER=$(pwd)/$(sed '4q;d' $SERVICEFILE) + +COMMAND=$1 + +if [ -z "$1" ] + then + COMMAND="/bin/bash" + echo "Usage ./docker-run COMMAND\n" + echo "No COMMAND provided, defaulting to '/bin/bash'\n" +fi + +if [ -z "$FOLDER" ] + then + echo "Running: docker run --rm -it -P --entrypoint="$COMMAND" $IMAGENAME" + docker run --rm -it -P --entrypoint="$COMMAND" $IMAGENAME + else + echo "Running: docker run --rm -it -P -v $FOLDER:/mnt/host --entrypoint="$COMMAND" $IMAGENAME" + docker run --rm -it -P -v $FOLDER:/mnt/host --entrypoint="$COMMAND" $IMAGENAME +fi diff --git a/deployment/docker-start-service.sh b/_devops/docker-start-container.sh similarity index 100% rename from deployment/docker-start-service.sh rename to _devops/docker-start-container.sh diff --git a/_devops/serve-dev.sh b/_devops/serve-dev.sh new file mode 100755 index 0000000..74652a7 --- /dev/null +++ b/_devops/serve-dev.sh @@ -0,0 +1,11 @@ +#!/bin/sh + +# TODO: read all necessary data from file! + +SERVICENAME=$(cat ./service-info.txt) +INDEXFILE="app.js" +FOLDER="../" + +#(cd $FOLDER; pm2 delete $SERVICENAME; pm2 start $INDEXFILE -x --name $SERVICENAME) +#pm2 logs +(cd $FOLDER; nodemon -w api -w config) diff --git a/_devops/serve-prod.sh b/_devops/serve-prod.sh new file mode 100755 index 0000000..418762e --- /dev/null +++ b/_devops/serve-prod.sh @@ -0,0 +1,11 @@ +#!/bin/sh + +# TODO: read all necessary data from file! + +SERVICENAME=$(cat ./service-info.txt) +INDEXFILE="app.js" +FOLDER="../" + +#(cd $FOLDER; pm2 delete $SERVICENAME; pm2 start $INDEXFILE -x --name $SERVICENAME -- --prod) +#pm2 logs +(cd $FOLDER; nodemon) diff --git a/deployment/service-info.txt b/_devops/service-info.txt similarity index 54% rename from deployment/service-info.txt rename to _devops/service-info.txt index 302439f..c23f332 100644 --- a/deployment/service-info.txt +++ b/_devops/service-info.txt @@ -1 +1,5 @@ +local microservice-base +../ + +../ diff --git a/_devops/setup.sh b/_devops/setup.sh new file mode 100755 index 0000000..01f1a1f --- /dev/null +++ b/_devops/setup.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +SERVICEFILE=./service-info.txt + +SRC=$(sed '5q;d' $SERVICEFILE) + +echo "Setting up project:" +echo " * installing dependencies: (cd $SRC && npm install && bower install)" +(cd $SRC && npm install && bower install) diff --git a/_devops/test.sh b/_devops/test.sh new file mode 100755 index 0000000..3f3d821 --- /dev/null +++ b/_devops/test.sh @@ -0,0 +1,15 @@ +#!/bin/sh + +SERVICEFILE=./service-info.txt + +SRC=$(sed '5q;d' $SERVICEFILE) + +echo "Starting test suite:" +echo " * installing global dependencies: npm install -g sails\n\n" +npm install -g sails + +echo "\n\n * installing local dependencies: (cd $SRC && npm -d install)\n\n" +(cd $SRC && npm -d install) + +echo "\n\n * execute tests: (cd $SRC && npm test)" +(cd $SRC && npm test) diff --git a/src/api/controllers/.gitkeep b/api/controllers/.gitkeep similarity index 100% rename from src/api/controllers/.gitkeep rename to api/controllers/.gitkeep diff --git a/src/api/models/.gitkeep b/api/models/.gitkeep similarity index 100% rename from src/api/models/.gitkeep rename to api/models/.gitkeep diff --git a/src/api/policies/sessionAuth.js b/api/policies/sessionAuth.js similarity index 100% rename from src/api/policies/sessionAuth.js rename to api/policies/sessionAuth.js diff --git a/src/api/responses/badRequest.js b/api/responses/badRequest.js similarity index 100% rename from src/api/responses/badRequest.js rename to api/responses/badRequest.js diff --git a/src/api/responses/forbidden.js b/api/responses/forbidden.js similarity index 100% rename from src/api/responses/forbidden.js rename to api/responses/forbidden.js diff --git a/src/api/responses/notFound.js b/api/responses/notFound.js similarity index 100% rename from src/api/responses/notFound.js rename to api/responses/notFound.js diff --git a/src/api/responses/ok.js b/api/responses/ok.js similarity index 100% rename from src/api/responses/ok.js rename to api/responses/ok.js diff --git a/src/api/responses/serverError.js b/api/responses/serverError.js similarity index 100% rename from src/api/responses/serverError.js rename to api/responses/serverError.js diff --git a/src/api/services/.gitkeep b/api/services/.gitkeep similarity index 100% rename from src/api/services/.gitkeep rename to api/services/.gitkeep diff --git a/src/api/services/FileExplorer.js b/api/services/FileExplorer.js similarity index 100% rename from src/api/services/FileExplorer.js rename to api/services/FileExplorer.js diff --git a/src/app.js b/app.js similarity index 100% rename from src/app.js rename to app.js diff --git a/src/.tmp/public/favicon.ico b/assets/favicon.ico similarity index 100% rename from src/.tmp/public/favicon.ico rename to assets/favicon.ico diff --git a/src/assets/images/.gitkeep b/assets/images/.gitkeep similarity index 100% rename from src/assets/images/.gitkeep rename to assets/images/.gitkeep diff --git a/src/.tmp/public/js/dependencies/sails.io.js b/assets/js/dependencies/sails.io.js similarity index 100% rename from src/.tmp/public/js/dependencies/sails.io.js rename to assets/js/dependencies/sails.io.js diff --git a/src/.tmp/public/robots.txt b/assets/robots.txt similarity index 100% rename from src/.tmp/public/robots.txt rename to assets/robots.txt diff --git a/src/assets/styles/importer.less b/assets/styles/importer.less similarity index 100% rename from src/assets/styles/importer.less rename to assets/styles/importer.less diff --git a/src/assets/templates/.gitkeep b/assets/templates/.gitkeep similarity index 100% rename from src/assets/templates/.gitkeep rename to assets/templates/.gitkeep diff --git a/src/config/blueprints.js b/config/blueprints.js similarity index 100% rename from src/config/blueprints.js rename to config/blueprints.js diff --git a/src/config/bootstrap.js b/config/bootstrap.js similarity index 100% rename from src/config/bootstrap.js rename to config/bootstrap.js diff --git a/src/config/connections.js b/config/connections.js similarity index 100% rename from src/config/connections.js rename to config/connections.js diff --git a/src/config/cors.js b/config/cors.js similarity index 100% rename from src/config/cors.js rename to config/cors.js diff --git a/src/config/csrf.js b/config/csrf.js similarity index 100% rename from src/config/csrf.js rename to config/csrf.js diff --git a/src/config/env/development.js b/config/env/development.js similarity index 100% rename from src/config/env/development.js rename to config/env/development.js diff --git a/src/config/env/production.js b/config/env/production.js similarity index 100% rename from src/config/env/production.js rename to config/env/production.js diff --git a/src/config/globals.js b/config/globals.js similarity index 100% rename from src/config/globals.js rename to config/globals.js diff --git a/src/config/http.js b/config/http.js similarity index 100% rename from src/config/http.js rename to config/http.js diff --git a/src/config/i18n.js b/config/i18n.js similarity index 100% rename from src/config/i18n.js rename to config/i18n.js diff --git a/src/config/local.js b/config/local.js similarity index 100% rename from src/config/local.js rename to config/local.js diff --git a/src/config/locales/_README.md b/config/locales/_README.md similarity index 100% rename from src/config/locales/_README.md rename to config/locales/_README.md diff --git a/src/config/locales/de.json b/config/locales/de.json similarity index 100% rename from src/config/locales/de.json rename to config/locales/de.json diff --git a/src/config/locales/en.json b/config/locales/en.json similarity index 100% rename from src/config/locales/en.json rename to config/locales/en.json diff --git a/src/config/locales/es.json b/config/locales/es.json similarity index 100% rename from src/config/locales/es.json rename to config/locales/es.json diff --git a/src/config/locales/fr.json b/config/locales/fr.json similarity index 100% rename from src/config/locales/fr.json rename to config/locales/fr.json diff --git a/src/config/log.js b/config/log.js similarity index 100% rename from src/config/log.js rename to config/log.js diff --git a/src/config/models.js b/config/models.js similarity index 100% rename from src/config/models.js rename to config/models.js diff --git a/src/config/policies.js b/config/policies.js similarity index 100% rename from src/config/policies.js rename to config/policies.js diff --git a/src/config/routes.js b/config/routes.js similarity index 100% rename from src/config/routes.js rename to config/routes.js diff --git a/src/config/session.js b/config/session.js similarity index 100% rename from src/config/session.js rename to config/session.js diff --git a/src/config/sockets.js b/config/sockets.js similarity index 100% rename from src/config/sockets.js rename to config/sockets.js diff --git a/src/config/views.js b/config/views.js similarity index 100% rename from src/config/views.js rename to config/views.js diff --git a/deployment/docker-build.sh b/deployment/docker-build.sh deleted file mode 100755 index a77ac47..0000000 --- a/deployment/docker-build.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh - -NAMESPACE="local" -IMAGENAME=$NAMESPACE/$(cat ./service-info.txt) - -docker build -t $IMAGENAME ../ diff --git a/deployment/docker-run.sh b/deployment/docker-run.sh deleted file mode 100755 index 93fd590..0000000 --- a/deployment/docker-run.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh - -NAMESPACE="local" -IMAGENAME=$NAMESPACE/$(cat ./service-info.txt) - -# TODO: make following variables configurable from the commandline! -FOLDER=/tmp -COMMAND=$1 - -if [ -z "$1" ] - then - COMMAND="/bin/bash" - echo "Usage ./docker-run COMMAND\n" - echo "No COMMAND provided, defaulting to '/bin/bash'\n" -fi - -docker run --rm -it -P -v $FOLDER:/storage --entrypoint="$COMMAND" $IMAGENAME diff --git a/package.json b/package.json index 022cce3..11dcce8 100644 --- a/package.json +++ b/package.json @@ -1,23 +1,48 @@ { "name": "duraark-microservice-base", "private": false, - "version": "0.2.3", + "version": "0.1.0", "description": "Base docker image and initial Sails.js setup for a DURAARK microservice.", "keywords": ["duraark", "microservice", "archiving"], - "dependencies": {}, + "dependencies": { + "sails": "~0.10.2", + "sails-disk": "~0.10.0", + "rc": "~0.5.0", + "include-all": "~0.1.3", + "ejs": "~0.8.4", + "grunt": "0.4.2", + "grunt-sync": "~0.0.4", + "grunt-contrib-copy": "~0.5.0", + "grunt-contrib-clean": "~0.5.0", + "grunt-contrib-concat": "~0.3.0", + "grunt-sails-linker": "~0.9.5", + "grunt-contrib-jst": "~0.6.0", + "grunt-contrib-watch": "~0.5.3", + "grunt-contrib-uglify": "~0.4.0", + "grunt-contrib-cssmin": "~0.9.0", + "grunt-contrib-less": "0.11.1", + "grunt-contrib-coffee": "~0.10.1" + }, "scripts": { - "start": "node src/app.js", - "debug": "node debug src/app.js", - "test": "(cd src; grunt test)" + "start": "node app.js", + "debug": "node debug app.js", + "test": "grunt test" }, - "main": "src/app.js", + "main": "app.js", "repository": { "type": "git", "url": "git://github.com/DURAARK/microservice-base.git" }, "author": "Martin Hecher ", "license": "MIT", - "devDependencies": {}, + "devDependencies": { + "nodemon": "^1.2.1", + "mocha": "^2.1.0", + "grunt-mocha-test": "^0.12.6", + "sinon": "^1.12.2", + "assert": "^1.3.0", + "chai": "~1.10.0" + }, "bugs": { "url": "https://github.com/DURAARK/microservice-base/issues" }, diff --git a/src/scripts/serve-dev.sh b/scripts/serve-dev.sh similarity index 100% rename from src/scripts/serve-dev.sh rename to scripts/serve-dev.sh diff --git a/src/scripts/serve-prod.sh b/scripts/serve-prod.sh similarity index 100% rename from src/scripts/serve-prod.sh rename to scripts/serve-prod.sh diff --git a/src/scripts/setup.sh b/scripts/setup.sh similarity index 100% rename from src/scripts/setup.sh rename to scripts/setup.sh diff --git a/src/scripts/test.sh b/scripts/test.sh similarity index 100% rename from src/scripts/test.sh rename to scripts/test.sh diff --git a/src/.tmp/localDiskDb.db b/src/.tmp/localDiskDb.db deleted file mode 100644 index 656c221..0000000 --- a/src/.tmp/localDiskDb.db +++ /dev/null @@ -1,24 +0,0 @@ -{ - "data": { - "files": [] - }, - "schema": { - "files": { - "id": { - "type": "integer", - "autoIncrement": true, - "primaryKey": true, - "unique": true - }, - "createdAt": { - "type": "datetime" - }, - "updatedAt": { - "type": "datetime" - } - } - }, - "counters": { - "files": {} - } -} \ No newline at end of file diff --git a/src/.tmp/public/styles/importer.css b/src/.tmp/public/styles/importer.css deleted file mode 100644 index 89d721f..0000000 --- a/src/.tmp/public/styles/importer.css +++ /dev/null @@ -1,15 +0,0 @@ -/** - * importer.less - * - * By default, new Sails projects are configured to compile this file - * from LESS to CSS. Unlike CSS files, LESS files are not compiled and - * included automatically unless they are imported below. - * - * The LESS files imported below are compiled and included in the order - * they are listed. Mixins, variables, etc. should be imported first - * so that they can be accessed by subsequent LESS stylesheets. - * - * (Just like the rest of the asset pipeline bundled in Sails, you can - * always omit, customize, or replace this behavior with SASS, SCSS, - * or any other Grunt tasks you like.) - */ diff --git a/src/assets/favicon.ico b/src/assets/favicon.ico deleted file mode 100644 index 0092ec9cace7b2918865c11aea9c1ab1d84897f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 920 zcmV;J184k+P) zd(K&bj!6zjDAd!VjEWg#(M(Mbt0SvDM6BLZ@%CrkWZQT4A^q&TUZqQ9*T}-yYyak{(?%V<% z{|+7rg7!_^hI1Bx_S|0R2QT~p8_Ph$DsH1W3qaer`w`d`2kQ#Kf+=e};{XKX*TJio z!I}r$hSHTj)f3fszKr&#&Y|gQJmmn?#)}f*xmwUS%56Ye0BYm<6<|vTxJ`LNIm2xr zTm82NXfJZ!4`8buG$ptTmll8!M+w;W4lJ3I?*fHRya!r|zi(#yuJCsXXy5sbHn9F} zzKv_kJ`ePcPh5BEO40$2{on!G$E^+A)~ODv%TG_3ubkkwNTyfRYbRJ+3Rd6cwyf4z zKUgycu8w7UMPU~()q{<+%G;iBTNbnzD5N!D`!CSao9R>#raxA<+eD9!s=lYeK=YE zG2IJM0MV3jY`Ur+$17vOB^-{9oR zRRihJK|JR!JvW+3Uz-DsG*0@~N&)<& z{WN}!yY$@3_Y&ONq8t%BK?#7ikI^>nl5;Byb$080aLF?93<@AlNyRF-OO~Uh2f@Ho z(EL#81PWlJ8~ifmzv5=6-5zkmA>{}KFx&|a_HmaeS49Khi5p{30000 MIT Licensed */ -var io="undefined"==typeof module?{}:module.exports;(function(){(function(a,b){var c=a;c.version="0.9.16",c.protocol=1,c.transports=[],c.j=[],c.sockets={},c.connect=function(a,d){var e=c.util.parseUri(a),f,g;b&&b.location&&(e.protocol=e.protocol||b.location.protocol.slice(0,-1),e.host=e.host||(b.document?b.document.domain:b.location.hostname),e.port=e.port||b.location.port),f=c.util.uniqueUri(e);var h={host:e.host,secure:"https"==e.protocol,port:e.port||("https"==e.protocol?443:80),query:e.query||""};c.util.merge(h,d);if(h["force new connection"]||!c.sockets[f])g=new c.Socket(h);return!h["force new connection"]&&g&&(c.sockets[f]=g),g=g||c.sockets[f],g.of(e.path.length>1?e.path:"")}})("object"==typeof module?module.exports:this.io={},this),function(a,b){var c=a.util={},d=/^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,e=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];c.parseUri=function(a){var b=d.exec(a||""),c={},f=14;while(f--)c[e[f]]=b[f]||"";return c},c.uniqueUri=function(a){var c=a.protocol,d=a.host,e=a.port;return"document"in b?(d=d||document.domain,e=e||(c=="https"&&document.location.protocol!=="https:"?443:document.location.port)):(d=d||"localhost",!e&&c=="https"&&(e=443)),(c||"http")+"://"+d+":"+(e||80)},c.query=function(a,b){var d=c.chunkQuery(a||""),e=[];c.merge(d,c.chunkQuery(b||""));for(var f in d)d.hasOwnProperty(f)&&e.push(f+"="+d[f]);return e.length?"?"+e.join("&"):""},c.chunkQuery=function(a){var b={},c=a.split("&"),d=0,e=c.length,f;for(;db.length?a:b,f=a.length>b.length?b:a;for(var g=0,h=f.length;g0&&a.splice(0,1)[0]!=c.transport.name);a.length?h(a):c.publish("connect_failed")}}},c.options["connect timeout"]))})}c.sessionid=d,c.closeTimeout=f*1e3,c.heartbeatTimeout=e*1e3,c.transports||(c.transports=c.origTransports=g?b.util.intersect(g.split(","),c.options.transports):c.options.transports),c.setHeartbeatTimeout(),h(c.transports),c.once("connect",function(){clearTimeout(c.connectTimeoutTimer),a&&typeof a=="function"&&a()})}),this},d.prototype.setHeartbeatTimeout=function(){clearTimeout(this.heartbeatTimeoutTimer);if(this.transport&&!this.transport.heartbeats())return;var a=this;this.heartbeatTimeoutTimer=setTimeout(function(){a.transport.onClose()},this.heartbeatTimeout)},d.prototype.packet=function(a){return this.connected&&!this.doBuffer?this.transport.packet(a):this.buffer.push(a),this},d.prototype.setBuffer=function(a){this.doBuffer=a,!a&&this.connected&&this.buffer.length&&(this.options.manualFlush||this.flushBuffer())},d.prototype.flushBuffer=function(){this.transport.payload(this.buffer),this.buffer=[]},d.prototype.disconnect=function(){if(this.connected||this.connecting)this.open&&this.of("").packet({type:"disconnect"}),this.onDisconnect("booted");return this},d.prototype.disconnectSync=function(){var a=b.util.request(),c=["http"+(this.options.secure?"s":"")+":/",this.options.host+":"+this.options.port,this.options.resource,b.protocol,"",this.sessionid].join("/")+"/?disconnect=1";a.open("GET",c,!1),a.send(null),this.onDisconnect("booted")},d.prototype.isXDomain=function(){var a=c.location.port||("https:"==c.location.protocol?443:80);return this.options.host!==c.location.hostname||this.options.port!=a},d.prototype.onConnect=function(){this.connected||(this.connected=!0,this.connecting=!1,this.doBuffer||this.setBuffer(!1),this.emit("connect"))},d.prototype.onOpen=function(){this.open=!0},d.prototype.onClose=function(){this.open=!1,clearTimeout(this.heartbeatTimeoutTimer)},d.prototype.onPacket=function(a){this.of(a.endpoint).onPacket(a)},d.prototype.onError=function(a){a&&a.advice&&a.advice==="reconnect"&&(this.connected||this.connecting)&&(this.disconnect(),this.options.reconnect&&this.reconnect()),this.publish("error",a&&a.reason?a.reason:a)},d.prototype.onDisconnect=function(a){var b=this.connected,c=this.connecting;this.connected=!1,this.connecting=!1,this.open=!1;if(b||c)this.transport.close(),this.transport.clearTimeouts(),b&&(this.publish("disconnect",a),"booted"!=a&&this.options.reconnect&&!this.reconnecting&&this.reconnect())},d.prototype.reconnect=function(){function e(){if(a.connected){for(var b in a.namespaces)a.namespaces.hasOwnProperty(b)&&""!==b&&a.namespaces[b].packet({type:"connect"});a.publish("reconnect",a.transport.name,a.reconnectionAttempts)}clearTimeout(a.reconnectionTimer),a.removeListener("connect_failed",f),a.removeListener("connect",f),a.reconnecting=!1,delete a.reconnectionAttempts,delete a.reconnectionDelay,delete a.reconnectionTimer,delete a.redoTransports,a.options["try multiple transports"]=c}function f(){if(!a.reconnecting)return;if(a.connected)return e();if(a.connecting&&a.reconnecting)return a.reconnectionTimer=setTimeout(f,1e3);a.reconnectionAttempts++>=b?a.redoTransports?(a.publish("reconnect_failed"),e()):(a.on("connect_failed",f),a.options["try multiple transports"]=!0,a.transports=a.origTransports,a.transport=a.getTransport(),a.redoTransports=!0,a.connect()):(a.reconnectionDelay=10:!1},c.xdomainCheck=function(){return!0},typeof window!="undefined"&&(WEB_SOCKET_DISABLE_AUTO_INITIALIZATION=!0),b.transports.push("flashsocket")}("undefined"!=typeof io?io.Transport:module.exports,"undefined"!=typeof io?io:module.parent.exports);if("undefined"!=typeof window)var swfobject=function(){function A(){if(t)return;try{var a=i.getElementsByTagName("body")[0].appendChild(Q("span"));a.parentNode.removeChild(a)}catch(b){return}t=!0;var c=l.length;for(var d=0;d0)for(var c=0;c0){var g=P(d);if(g)if(S(m[c].swfVersion)&&!(y.wk&&y.wk<312))U(d,!0),e&&(f.success=!0,f.ref=G(d),e(f));else if(m[c].expressInstall&&H()){var h={};h.data=m[c].expressInstall,h.width=g.getAttribute("width")||"0",h.height=g.getAttribute("height")||"0",g.getAttribute("class")&&(h.styleclass=g.getAttribute("class")),g.getAttribute("align")&&(h.align=g.getAttribute("align"));var i={},j=g.getElementsByTagName("param"),k=j.length;for(var l=0;l');h.outerHTML='"+k+"",n[n.length]=c.id,g=P(c.id)}else{var m=Q(b);m.setAttribute("type",e);for(var o in c)c[o]!=Object.prototype[o]&&(o.toLowerCase()=="styleclass"?m.setAttribute("class",c[o]):o.toLowerCase()!="classid"&&m.setAttribute(o,c[o]));for(var p in d)d[p]!=Object.prototype[p]&&p.toLowerCase()!="movie"&&M(m,p,d[p]);h.parentNode.replaceChild(m,h),g=m}}return g}function M(a,b,c){var d=Q("param");d.setAttribute("name",b),d.setAttribute("value",c),a.appendChild(d)}function N(a){var b=P(a);b&&b.nodeName=="OBJECT"&&(y.ie&&y.win?(b.style.display="none",function(){b.readyState==4?O(a):setTimeout(arguments.callee,10)}()):b.parentNode.removeChild(b))}function O(a){var b=P(a);if(b){for(var c in b)typeof b[c]=="function"&&(b[c]=null);b.parentNode.removeChild(b)}}function P(a){var b=null;try{b=i.getElementById(a)}catch(c){}return b}function Q(a){return i.createElement(a)}function R(a,b,c){a.attachEvent(b,c),o[o.length]=[a,b,c]}function S(a){var b=y.pv,c=a.split(".");return c[0]=parseInt(c[0],10),c[1]=parseInt(c[1],10)||0,c[2]=parseInt(c[2],10)||0,b[0]>c[0]||b[0]==c[0]&&b[1]>c[1]||b[0]==c[0]&&b[1]==c[1]&&b[2]>=c[2]?!0:!1}function T(c,d,e,f){if(y.ie&&y.mac)return;var g=i.getElementsByTagName("head")[0];if(!g)return;var h=e&&typeof e=="string"?e:"screen";f&&(v=null,w=null);if(!v||w!=h){var j=Q("style");j.setAttribute("type","text/css"),j.setAttribute("media",h),v=g.appendChild(j),y.ie&&y.win&&typeof i.styleSheets!=a&&i.styleSheets.length>0&&(v=i.styleSheets[i.styleSheets.length-1]),w=h}y.ie&&y.win?v&&typeof v.addRule==b&&v.addRule(c,d):v&&typeof i.createTextNode!=a&&v.appendChild(i.createTextNode(c+" {"+d+"}"))}function U(a,b){if(!x)return;var c=b?"visible":"hidden";t&&P(a)?P(a).style.visibility=c:T("#"+a,"visibility:"+c)}function V(b){var c=/[\\\"<>\.;]/,d=c.exec(b)!=null;return d&&typeof encodeURIComponent!=a?encodeURIComponent(b):b}var a="undefined",b="object",c="Shockwave Flash",d="ShockwaveFlash.ShockwaveFlash",e="application/x-shockwave-flash",f="SWFObjectExprInst",g="onreadystatechange",h=window,i=document,j=navigator,k=!1,l=[D],m=[],n=[],o=[],p,q,r,s,t=!1,u=!1,v,w,x=!0,y=function(){var f=typeof i.getElementById!=a&&typeof i.getElementsByTagName!=a&&typeof i.createElement!=a,g=j.userAgent.toLowerCase(),l=j.platform.toLowerCase(),m=l?/win/.test(l):/win/.test(g),n=l?/mac/.test(l):/mac/.test(g),o=/webkit/.test(g)?parseFloat(g.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):!1,p=!1,q=[0,0,0],r=null;if(typeof j.plugins!=a&&typeof j.plugins[c]==b)r=j.plugins[c].description,r&&(typeof j.mimeTypes==a||!j.mimeTypes[e]||!!j.mimeTypes[e].enabledPlugin)&&(k=!0,p=!1,r=r.replace(/^.*\s+(\S+\s+\S+$)/,"$1"),q[0]=parseInt(r.replace(/^(.*)\..*$/,"$1"),10),q[1]=parseInt(r.replace(/^.*\.(.*)\s.*$/,"$1"),10),q[2]=/[a-zA-Z]/.test(r)?parseInt(r.replace(/^.*[a-zA-Z]+(.*)$/,"$1"),10):0);else if(typeof h[["Active"].concat("Object").join("X")]!=a)try{var s=new(window[["Active"].concat("Object").join("X")])(d);s&&(r=s.GetVariable("$version"),r&&(p=!0,r=r.split(" ")[1].split(","),q=[parseInt(r[0],10),parseInt(r[1],10),parseInt(r[2],10)]))}catch(t){}return{w3:f,pv:q,wk:o,ie:p,win:m,mac:n}}(),z=function(){if(!y.w3)return;(typeof i.readyState!=a&&i.readyState=="complete"||typeof i.readyState==a&&(i.getElementsByTagName("body")[0]||i.body))&&A(),t||(typeof i.addEventListener!=a&&i.addEventListener("DOMContentLoaded",A,!1),y.ie&&y.win&&(i.attachEvent(g,function(){i.readyState=="complete"&&(i.detachEvent(g,arguments.callee),A())}),h==top&&function(){if(t)return;try{i.documentElement.doScroll("left")}catch(a){setTimeout(arguments.callee,0);return}A()}()),y.wk&&function(){if(t)return;if(!/loaded|complete/.test(i.readyState)){setTimeout(arguments.callee,0);return}A()}(),C(A))}(),W=function(){y.ie&&y.win&&window.attachEvent("onunload",function(){var a=o.length;for(var b=0;b= 10.0.0 is required.");return}location.protocol=="file:"&&a.error("WARNING: web-socket-js doesn't work in file:///... URL unless you set Flash Security Settings properly. Open the page via Web server i.e. http://..."),WebSocket=function(a,b,c,d,e){var f=this;f.__id=WebSocket.__nextId++,WebSocket.__instances[f.__id]=f,f.readyState=WebSocket.CONNECTING,f.bufferedAmount=0,f.__events={},b?typeof b=="string"&&(b=[b]):b=[],setTimeout(function(){WebSocket.__addTask(function(){WebSocket.__flash.create(f.__id,a,b,c||null,d||0,e||null)})},0)},WebSocket.prototype.send=function(a){if(this.readyState==WebSocket.CONNECTING)throw"INVALID_STATE_ERR: Web Socket connection has not been established";var b=WebSocket.__flash.send(this.__id,encodeURIComponent(a));return b<0?!0:(this.bufferedAmount+=b,!1)},WebSocket.prototype.close=function(){if(this.readyState==WebSocket.CLOSED||this.readyState==WebSocket.CLOSING)return;this.readyState=WebSocket.CLOSING,WebSocket.__flash.close(this.__id)},WebSocket.prototype.addEventListener=function(a,b,c){a in this.__events||(this.__events[a]=[]),this.__events[a].push(b)},WebSocket.prototype.removeEventListener=function(a,b,c){if(!(a in this.__events))return;var d=this.__events[a];for(var e=d.length-1;e>=0;--e)if(d[e]===b){d.splice(e,1);break}},WebSocket.prototype.dispatchEvent=function(a){var b=this.__events[a.type]||[];for(var c=0;c"),this.doc.close(),this.doc.parentWindow.s=this;var a=this.doc.createElement("div");a.className="socketio",this.doc.body.appendChild(a),this.iframe=this.doc.createElement("iframe"),a.appendChild(this.iframe);var c=this,d=b.util.query(this.socket.options.query,"t="+ +(new Date));this.iframe.src=this.prepareUrl()+d,b.util.on(window,"unload",function(){c.destroy()})},c.prototype._=function(a,b){a=a.replace(/\\\//g,"/"),this.onData(a);try{var c=b.getElementsByTagName("script")[0];c.parentNode.removeChild(c)}catch(d){}},c.prototype.destroy=function(){if(this.iframe){try{this.iframe.src="about:blank"}catch(a){}this.doc=null,this.iframe.parentNode.removeChild(this.iframe),this.iframe=null,CollectGarbage()}},c.prototype.close=function(){return this.destroy(),b.Transport.XHR.prototype.close.call(this)},c.check=function(a){if(typeof window!="undefined"&&["Active"].concat("Object").join("X")in window)try{var c=new(window[["Active"].concat("Object").join("X")])("htmlfile");return c&&b.Transport.XHR.check(a)}catch(d){}return!1},c.xdomainCheck=function(){return!1},b.transports.push("htmlfile")}("undefined"!=typeof io?io.Transport:module.exports,"undefined"!=typeof io?io:module.parent.exports),function(a,b,c){function d(){b.Transport.XHR.apply(this,arguments)}function e(){}a["xhr-polling"]=d,b.util.inherit(d,b.Transport.XHR),b.util.merge(d,b.Transport.XHR),d.prototype.name="xhr-polling",d.prototype.heartbeats=function(){return!1},d.prototype.open=function(){var a=this;return b.Transport.XHR.prototype.open.call(a),!1},d.prototype.get=function(){function b(){this.readyState==4&&(this.onreadystatechange=e,this.status==200?(a.onData(this.responseText),a.get()):a.onClose())}function d(){this.onload=e,this.onerror=e,a.retryCounter=1,a.onData(this.responseText),a.get()}function f(){a.retryCounter++,!a.retryCounter||a.retryCounter>3?a.onClose():a.get()}if(!this.isOpen)return;var a=this;this.xhr=this.request(),c.XDomainRequest&&this.xhr instanceof XDomainRequest?(this.xhr.onload=d,this.xhr.onerror=f):this.xhr.onreadystatechange=b,this.xhr.send(null)},d.prototype.onClose=function(){b.Transport.XHR.prototype.onClose.call(this);if(this.xhr){this.xhr.onreadystatechange=this.xhr.onload=this.xhr.onerror=e;try{this.xhr.abort()}catch(a){}this.xhr=null}},d.prototype.ready=function(a,c){var d=this;b.util.defer(function(){c.call(d)})},b.transports.push("xhr-polling")}("undefined"!=typeof io?io.Transport:module.exports,"undefined"!=typeof io?io:module.parent.exports,this),function(a,b,c){function e(a){b.Transport["xhr-polling"].apply(this,arguments),this.index=b.j.length;var c=this;b.j.push(function(a){c._(a)})}var d=c.document&&"MozAppearance"in c.document.documentElement.style;a["jsonp-polling"]=e,b.util.inherit(e,b.Transport["xhr-polling"]),e.prototype.name="jsonp-polling",e.prototype.post=function(a){function i(){j(),c.socket.setBuffer(!1)}function j(){c.iframe&&c.form.removeChild(c.iframe);try{h=document.createElement('