@things-factory/operato-gangsters 5.0.0-alpha.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/Dockerfile +60 -0
- package/LICENSE.md +21 -0
- package/_index.html +91 -0
- package/assets/favicon.ico +0 -0
- package/assets/helps/index.md +1 -0
- package/assets/images/hatiolab-logo.png +0 -0
- package/assets/images/spinner.png +0 -0
- package/assets/manifest/apple-1024.png +0 -0
- package/assets/manifest/apple-120.png +0 -0
- package/assets/manifest/apple-152.png +0 -0
- package/assets/manifest/apple-167.png +0 -0
- package/assets/manifest/apple-180.png +0 -0
- package/assets/manifest/apple-touch-icon.png +0 -0
- package/assets/manifest/badge-128x128.png +0 -0
- package/assets/manifest/chrome-splashscreen-icon-384x384.png +0 -0
- package/assets/manifest/chrome-touch-icon-192x192.png +0 -0
- package/assets/manifest/icon-128x128.png +0 -0
- package/assets/manifest/icon-192x192.png +0 -0
- package/assets/manifest/icon-512x512.png +0 -0
- package/assets/manifest/icon-72x72.png +0 -0
- package/assets/manifest/icon-96x96.png +0 -0
- package/assets/manifest/image-metaog.png +0 -0
- package/assets/manifest/maskable_icon.png +0 -0
- package/assets/manifest/ms-icon-144x144.png +0 -0
- package/assets/manifest/ms-touch-icon-144x144-precomposed.png +0 -0
- package/assets/manifest.json +27 -0
- package/client/actions/main.js +1 -0
- package/client/bootstrap.js +91 -0
- package/client/index.js +1 -0
- package/client/pages/main.js +38 -0
- package/client/reducers/main.js +17 -0
- package/client/route.js +10 -0
- package/client/themes/app-theme.css +142 -0
- package/config/config.development.js +3 -0
- package/config/config.production.js +37 -0
- package/dist-server/controllers/index.js +1 -0
- package/dist-server/controllers/index.js.map +1 -0
- package/dist-server/index.js +20 -0
- package/dist-server/index.js.map +1 -0
- package/dist-server/middlewares/index.js +8 -0
- package/dist-server/middlewares/index.js.map +1 -0
- package/dist-server/migrations/index.js +12 -0
- package/dist-server/migrations/index.js.map +1 -0
- package/dist-server/routes.js +25 -0
- package/dist-server/routes.js.map +1 -0
- package/installer/config.production.js +40 -0
- package/installer/docker-compose.yml +37 -0
- package/installer/install.sh +54 -0
- package/installer/migrate.sh +1 -0
- package/installer/start.sh +18 -0
- package/installer/stop.sh +1 -0
- package/installer/upgrade.sh +1 -0
- package/openapi/unstable.yaml +41 -0
- package/package.json +81 -0
- package/server/controllers/index.ts +0 -0
- package/server/index.ts +4 -0
- package/server/middlewares/index.ts +3 -0
- package/server/migrations/index.ts +9 -0
- package/server/routes.ts +28 -0
- package/things-factory.config.js +13 -0
- package/translations/en.json +1 -0
- package/translations/ko.json +1 -0
- package/translations/ms.json +1 -0
- package/translations/zh.json +1 -0
- package/tsconfig.json +9 -0
- package/views/auth-page.html +93 -0
- package/views/public/home.html +83 -0
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.migrations = void 0;
|
|
4
|
+
const glob = require('glob');
|
|
5
|
+
const path = require('path');
|
|
6
|
+
exports.migrations = [];
|
|
7
|
+
glob.sync(path.resolve(__dirname, '.', '**', '*.js')).forEach(function (file) {
|
|
8
|
+
if (file.indexOf('index.js') !== -1)
|
|
9
|
+
return;
|
|
10
|
+
exports.migrations = exports.migrations.concat(Object.values(require(path.resolve(file))) || []);
|
|
11
|
+
});
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/migrations/index.ts"],"names":[],"mappings":";;;AAAA,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;AAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;AAEjB,QAAA,UAAU,GAAG,EAAE,CAAA;AAE1B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,UAAS,IAAI;IACzE,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAAE,OAAM;IAC3C,kBAAU,GAAG,kBAAU,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;AAClF,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
const debug = require('debug')('things-factory:operato-gangsters:routes');
|
|
2
|
+
process.on('bootstrap-module-global-public-route', (app, globalPublicRouter) => {
|
|
3
|
+
/*
|
|
4
|
+
* can add global public routes to application (auth not required, tenancy not required)
|
|
5
|
+
*
|
|
6
|
+
* ex) routes.get('/path', async(context, next) => {})
|
|
7
|
+
* ex) routes.post('/path', async(context, next) => {})
|
|
8
|
+
*/
|
|
9
|
+
});
|
|
10
|
+
process.on('bootstrap-module-global-private-route', (app, globalPrivateRouter) => {
|
|
11
|
+
/*
|
|
12
|
+
* can add global private routes to application (auth required, tenancy not required)
|
|
13
|
+
*/
|
|
14
|
+
});
|
|
15
|
+
process.on('bootstrap-module-domain-public-route', (app, domainPublicRouter) => {
|
|
16
|
+
/*
|
|
17
|
+
* can add domain public routes to application (auth not required, tenancy required)
|
|
18
|
+
*/
|
|
19
|
+
});
|
|
20
|
+
process.on('bootstrap-module-domain-private-route', (app, domainPrivateRouter) => {
|
|
21
|
+
/*
|
|
22
|
+
* can add domain private routes to application (auth required, tenancy required)
|
|
23
|
+
*/
|
|
24
|
+
});
|
|
25
|
+
//# sourceMappingURL=routes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../server/routes.ts"],"names":[],"mappings":"AAAA,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,yCAAyC,CAAC,CAAA;AAEzE,OAAO,CAAC,EAAE,CAAC,sCAA6C,EAAE,CAAC,GAAG,EAAE,kBAAkB,EAAE,EAAE;IACpF;;;;;OAKG;AACL,CAAC,CAAC,CAAA;AAEF,OAAO,CAAC,EAAE,CAAC,uCAA8C,EAAE,CAAC,GAAG,EAAE,mBAAmB,EAAE,EAAE;IACtF;;OAEG;AACL,CAAC,CAAC,CAAA;AAEF,OAAO,CAAC,EAAE,CAAC,sCAA6C,EAAE,CAAC,GAAG,EAAE,kBAAkB,EAAE,EAAE;IACpF;;OAEG;AACL,CAAC,CAAC,CAAA;AAEF,OAAO,CAAC,EAAE,CAAC,uCAA8C,EAAE,CAAC,GAAG,EAAE,mBAAmB,EAAE,EAAE;IACtF;;OAEG;AACL,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
module.exports = {
|
|
2
|
+
SECRET: '0xD58F835B69D207A76CC5F84a70a1D0d4C79dAC95', // should be changed
|
|
3
|
+
email: {
|
|
4
|
+
host: 'smtp.office365.com', // your sender-email smtp host
|
|
5
|
+
port: 587, // smtp server port
|
|
6
|
+
secure: false, // true for 465, false for other ports
|
|
7
|
+
auth: {
|
|
8
|
+
user: 'your sender-email',
|
|
9
|
+
pass: 'your sender-email password' // generated ethereal password
|
|
10
|
+
},
|
|
11
|
+
secureConnection: false,
|
|
12
|
+
tls: {
|
|
13
|
+
ciphers: 'SSLv3'
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
logger: {
|
|
17
|
+
file: {
|
|
18
|
+
filename: 'logs/application-%DATE%.log',
|
|
19
|
+
datePattern: 'YYYY-MM-DD-HH',
|
|
20
|
+
zippedArchive: false,
|
|
21
|
+
maxSize: '20m',
|
|
22
|
+
maxFiles: '2d',
|
|
23
|
+
level: 'info'
|
|
24
|
+
},
|
|
25
|
+
console: {
|
|
26
|
+
level: 'silly'
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
ormconfig: {
|
|
30
|
+
name: 'default',
|
|
31
|
+
type: 'postgres',
|
|
32
|
+
host: 'postgres',
|
|
33
|
+
port: 5432,
|
|
34
|
+
database: 'postgres',
|
|
35
|
+
username: 'postgres',
|
|
36
|
+
password: 'abcd1234',
|
|
37
|
+
synchronize: true,
|
|
38
|
+
logging: true
|
|
39
|
+
}
|
|
40
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
version: '3'
|
|
2
|
+
services:
|
|
3
|
+
nginx:
|
|
4
|
+
image: hatiolab/operato-nginx:latest
|
|
5
|
+
ports:
|
|
6
|
+
- ${HostPort}:80
|
|
7
|
+
depends_on:
|
|
8
|
+
- app
|
|
9
|
+
app:
|
|
10
|
+
build: .
|
|
11
|
+
container_name: operato-gangsters
|
|
12
|
+
image: hatiolab/operato-gangsters:latest
|
|
13
|
+
privileged: true
|
|
14
|
+
volumes:
|
|
15
|
+
- ./logs:/app/logs
|
|
16
|
+
- ./config.production.js:/app/config.production.js
|
|
17
|
+
ports:
|
|
18
|
+
- 4000:3000
|
|
19
|
+
depends_on:
|
|
20
|
+
- postgres
|
|
21
|
+
- mosquitto
|
|
22
|
+
postgres:
|
|
23
|
+
image: postgres:13.2
|
|
24
|
+
container_name: db-operato-gangsters
|
|
25
|
+
environment:
|
|
26
|
+
POSTGRES_PASSWORD: abcd1234
|
|
27
|
+
POSTGRES_USER: postgres
|
|
28
|
+
PGDATA: /var/lib/postgresql/data/pgdata
|
|
29
|
+
volumes:
|
|
30
|
+
- ./postgres_data:/var/lib/postgresql/data/pgdata
|
|
31
|
+
ports:
|
|
32
|
+
- '55432:5432'
|
|
33
|
+
mosquitto:
|
|
34
|
+
image: eclipse-mosquitto:latest
|
|
35
|
+
ports:
|
|
36
|
+
- 1883:1883
|
|
37
|
+
- 9001:9001
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
if [ -f "config.production.js" ] ; then
|
|
2
|
+
echo "config.production.js exist"
|
|
3
|
+
else
|
|
4
|
+
echo "config.production.js create"
|
|
5
|
+
curl -O https://raw.githubusercontent.com/things-factory/things-factory/master/packages/operato-gangsters/installer/config.production.js
|
|
6
|
+
fi
|
|
7
|
+
|
|
8
|
+
if [ -f "start.sh" ] ; then
|
|
9
|
+
echo "start.sh exist"
|
|
10
|
+
else
|
|
11
|
+
echo "start.sh create"
|
|
12
|
+
curl -O https://raw.githubusercontent.com/things-factory/things-factory/master/packages/operato-gangsters/installer/start.sh
|
|
13
|
+
fi
|
|
14
|
+
|
|
15
|
+
if [ -f "stop.sh" ] ; then
|
|
16
|
+
echo "stop.sh exist"
|
|
17
|
+
else
|
|
18
|
+
echo "stop.sh create"
|
|
19
|
+
curl -O https://raw.githubusercontent.com/things-factory/things-factory/master/packages/operato-gangsters/installer/stop.sh
|
|
20
|
+
fi
|
|
21
|
+
|
|
22
|
+
if [ -f "upgrade.sh" ] ; then
|
|
23
|
+
echo "upgrade.sh exist"
|
|
24
|
+
else
|
|
25
|
+
echo "upgrade.sh create"
|
|
26
|
+
curl -O https://raw.githubusercontent.com/things-factory/things-factory/master/packages/operato-gangsters/installer/upgrade.sh
|
|
27
|
+
fi
|
|
28
|
+
|
|
29
|
+
if [ -f "migrate.sh" ] ; then
|
|
30
|
+
echo "migrate.sh exist"
|
|
31
|
+
else
|
|
32
|
+
echo "migrate.sh create"
|
|
33
|
+
curl -O https://raw.githubusercontent.com/things-factory/things-factory/master/packages/operato-gangsters/installer/migrate.sh
|
|
34
|
+
fi
|
|
35
|
+
|
|
36
|
+
if [ -f "docker-compose.yml" ] ; then
|
|
37
|
+
echo "docker-compose.yml exist"
|
|
38
|
+
else
|
|
39
|
+
echo "docker-compose.yml create"
|
|
40
|
+
curl -O https://raw.githubusercontent.com/things-factory/things-factory/master/packages/operato-gangsters/installer/docker-compose.yml
|
|
41
|
+
fi
|
|
42
|
+
|
|
43
|
+
chmod u+x start.sh
|
|
44
|
+
chmod u+x stop.sh
|
|
45
|
+
chmod u+x upgrade.sh
|
|
46
|
+
chmod u+x migrate.sh
|
|
47
|
+
|
|
48
|
+
echo "HostPort=3000" > .env
|
|
49
|
+
|
|
50
|
+
docker pull hatiolab/operato-gangsters:latest
|
|
51
|
+
|
|
52
|
+
docker pull hatiolab/operato-nginx:latest
|
|
53
|
+
|
|
54
|
+
docker-compose create
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
docker exec -it operato-gangsters npm run migration -- --mode=production
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
HOST_PORT=3000
|
|
2
|
+
|
|
3
|
+
if [ $# -eq 0 ] ; then
|
|
4
|
+
echo "Warning: default port 3000"
|
|
5
|
+
else
|
|
6
|
+
HOST_PORT=$1
|
|
7
|
+
fi
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
echo "HOST_PORT : ${HOST_PORT}"
|
|
11
|
+
|
|
12
|
+
echo "HostPort="$HOST_PORT > .env
|
|
13
|
+
|
|
14
|
+
if [[ "$OSTYPE" == "linux-gnu"* ]]; then
|
|
15
|
+
xhost +"local:docker@"
|
|
16
|
+
fi
|
|
17
|
+
|
|
18
|
+
docker-compose up -d
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
docker-compose stop
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
curl -fsSL https://raw.githubusercontent.com/things-factory/things-factory/master/packages/operato-gangsters/installer/install.sh | bash -s
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
openapi: 3.0.0
|
|
2
|
+
info:
|
|
3
|
+
description: >
|
|
4
|
+
For the latest release information please check our [release notes](https://developer.operato-gangsters.com/release_notes).
|
|
5
|
+
The Operato Gangsters API exposes integrations endpoint and related functions.
|
|
6
|
+
version: 'unstable'
|
|
7
|
+
title: 'Operato Gangsters'
|
|
8
|
+
termsOfService: 'https://operato-gangsters.com/terms/'
|
|
9
|
+
contact:
|
|
10
|
+
email: 'heartyoh@hatiolab.com'
|
|
11
|
+
license:
|
|
12
|
+
name: MIT
|
|
13
|
+
url: http://mit-license.org/
|
|
14
|
+
tags:
|
|
15
|
+
- name: 'operato-gangsters'
|
|
16
|
+
description: 'API for read, create and update operato-gangsterss'
|
|
17
|
+
schemes:
|
|
18
|
+
- 'https'
|
|
19
|
+
- 'http'
|
|
20
|
+
servers:
|
|
21
|
+
- url: '/api/unstable'
|
|
22
|
+
|
|
23
|
+
components:
|
|
24
|
+
securitySchemes:
|
|
25
|
+
basicAuth:
|
|
26
|
+
type: http
|
|
27
|
+
scheme: basic
|
|
28
|
+
bearerAuth:
|
|
29
|
+
type: http
|
|
30
|
+
scheme: bearer
|
|
31
|
+
|
|
32
|
+
security:
|
|
33
|
+
- basicAuth: []
|
|
34
|
+
- bearerAuth: []
|
|
35
|
+
responses:
|
|
36
|
+
UnauthorizedError:
|
|
37
|
+
description: Unauthorized
|
|
38
|
+
|
|
39
|
+
externalDocs:
|
|
40
|
+
description: 'Find out about our release notes'
|
|
41
|
+
url: 'https://developer.operato-gangsters.com/release_notes'
|
package/package.json
ADDED
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@things-factory/operato-gangsters",
|
|
3
|
+
"version": "5.0.0-alpha.29",
|
|
4
|
+
"main": "dist-server/index.js",
|
|
5
|
+
"browser": "client/index.js",
|
|
6
|
+
"things-factory": true,
|
|
7
|
+
"license": "MIT",
|
|
8
|
+
"author": "heartyoh",
|
|
9
|
+
"description": "hatiolab groupware project",
|
|
10
|
+
"publishConfig": {
|
|
11
|
+
"access": "public",
|
|
12
|
+
"@things-factory:registry": "https://registry.npmjs.org"
|
|
13
|
+
},
|
|
14
|
+
"repository": {
|
|
15
|
+
"type": "git",
|
|
16
|
+
"url": "git+https://github.com/hatiolab/things-factory.git",
|
|
17
|
+
"directory": "packages/operato-gangsters"
|
|
18
|
+
},
|
|
19
|
+
"scripts": {
|
|
20
|
+
"serve": "things-factory operato-gangsters",
|
|
21
|
+
"serve:dev": "npm run build:server && things-factory-dev operato-gangsters",
|
|
22
|
+
"build": "tsc --p tsconfig.json",
|
|
23
|
+
"build:client": "npm run clean:client && webpack --config ../builder/webpack.config.js",
|
|
24
|
+
"build:server": "npm run clean:server && tsc",
|
|
25
|
+
"clean:server": "rm -rf dist-server",
|
|
26
|
+
"clean:client": "rm -rf dist-client",
|
|
27
|
+
"clean": "npm run clean:server && npm run clean:client",
|
|
28
|
+
"migration": "npm run build:server && things-factory-migration",
|
|
29
|
+
"migration:privileges": "npm run build:server && things-factory-migration-privileges",
|
|
30
|
+
"migration:create": "node ../../node_modules/typeorm/cli.js migration:create -d ./server/migrations",
|
|
31
|
+
"migration:generate": "node ../../node_modules/typeorm/cli.js migration:generate",
|
|
32
|
+
"migration:run": "node ../../node_modules/typeorm/cli.js migration:run",
|
|
33
|
+
"migration:revert": "node ../../node_modules/typeorm/cli.js migration:revert",
|
|
34
|
+
"stop:dev": "kill $(lsof -t -i:3000,3001)",
|
|
35
|
+
"stop": "things-factory-stop operato-gangsters",
|
|
36
|
+
"docker": "things-factory-dockerize hatiolab/operato-gangsters:latest",
|
|
37
|
+
"docker:run": "docker run -it -p 4000:3000 hatiolab/operato-gangsters:latest"
|
|
38
|
+
},
|
|
39
|
+
"dependencies": {
|
|
40
|
+
"@operato/scene-chartjs": "^1.0.0-alpha.9",
|
|
41
|
+
"@operato/scene-clock": "^1.0.0-alpha.9",
|
|
42
|
+
"@operato/scene-gauge": "^1.0.0-alpha.9",
|
|
43
|
+
"@operato/scene-half-roundrect": "^1.0.0-alpha.9",
|
|
44
|
+
"@operato/scene-integration": "^1.0.0-alpha.9",
|
|
45
|
+
"@operato/scene-news-ticker": "^1.0.0-alpha.9",
|
|
46
|
+
"@operato/scene-progressbar": "^1.0.0-alpha.9",
|
|
47
|
+
"@operato/scene-random": "^1.0.0-alpha.9",
|
|
48
|
+
"@operato/scene-restful": "^1.0.0-alpha.9",
|
|
49
|
+
"@operato/scene-switch": "^1.0.0-alpha.9",
|
|
50
|
+
"@operato/scene-table": "^1.0.0-alpha.9",
|
|
51
|
+
"@operato/scene-timer": "^1.0.0-alpha.9",
|
|
52
|
+
"@things-factory/api": "^5.0.0-alpha.29",
|
|
53
|
+
"@things-factory/apptool-ui": "^5.0.0-alpha.29",
|
|
54
|
+
"@things-factory/auth-ui": "^5.0.0-alpha.29",
|
|
55
|
+
"@things-factory/board-service": "^5.0.0-alpha.29",
|
|
56
|
+
"@things-factory/board-ui": "^5.0.0-alpha.29",
|
|
57
|
+
"@things-factory/context-ui": "^5.0.0-alpha.29",
|
|
58
|
+
"@things-factory/dashboard": "^5.0.0-alpha.29",
|
|
59
|
+
"@things-factory/export-ui": "^5.0.0-alpha.29",
|
|
60
|
+
"@things-factory/grist-ui": "^5.0.0-alpha.29",
|
|
61
|
+
"@things-factory/help": "^5.0.0-alpha.29",
|
|
62
|
+
"@things-factory/i18n-base": "^5.0.0-alpha.29",
|
|
63
|
+
"@things-factory/integration-melsec": "^5.0.0-alpha.29",
|
|
64
|
+
"@things-factory/integration-modbus": "^5.0.0-alpha.29",
|
|
65
|
+
"@things-factory/integration-ui": "^5.0.0-alpha.29",
|
|
66
|
+
"@things-factory/lite-menu": "^5.0.0-alpha.29",
|
|
67
|
+
"@things-factory/more-ui": "^5.0.0-alpha.29",
|
|
68
|
+
"@things-factory/oauth2-client": "^5.0.0-alpha.29",
|
|
69
|
+
"@things-factory/print-ui": "^5.0.0-alpha.29",
|
|
70
|
+
"@things-factory/resource-ui": "^5.0.0-alpha.29",
|
|
71
|
+
"@things-factory/scene-data-transform": "^5.0.0-alpha.29",
|
|
72
|
+
"@things-factory/setting-base": "^5.0.0-alpha.29",
|
|
73
|
+
"@things-factory/setting-ui": "^5.0.0-alpha.29",
|
|
74
|
+
"@things-factory/shell": "^5.0.0-alpha.29",
|
|
75
|
+
"@things-factory/system-ui": "^5.0.0-alpha.29"
|
|
76
|
+
},
|
|
77
|
+
"devDependencies": {
|
|
78
|
+
"@things-factory/builder": "^5.0.0-alpha.29"
|
|
79
|
+
},
|
|
80
|
+
"gitHead": "b173f0b3a55165db246df58668a99b456cc47996"
|
|
81
|
+
}
|
|
File without changes
|
package/server/index.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
const glob = require('glob')
|
|
2
|
+
const path = require('path')
|
|
3
|
+
|
|
4
|
+
export var migrations = []
|
|
5
|
+
|
|
6
|
+
glob.sync(path.resolve(__dirname, '.', '**', '*.js')).forEach(function(file) {
|
|
7
|
+
if (file.indexOf('index.js') !== -1) return
|
|
8
|
+
migrations = migrations.concat(Object.values(require(path.resolve(file))) || [])
|
|
9
|
+
})
|
package/server/routes.ts
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
const debug = require('debug')('things-factory:operato-gangsters:routes')
|
|
2
|
+
|
|
3
|
+
process.on('bootstrap-module-global-public-route' as any, (app, globalPublicRouter) => {
|
|
4
|
+
/*
|
|
5
|
+
* can add global public routes to application (auth not required, tenancy not required)
|
|
6
|
+
*
|
|
7
|
+
* ex) routes.get('/path', async(context, next) => {})
|
|
8
|
+
* ex) routes.post('/path', async(context, next) => {})
|
|
9
|
+
*/
|
|
10
|
+
})
|
|
11
|
+
|
|
12
|
+
process.on('bootstrap-module-global-private-route' as any, (app, globalPrivateRouter) => {
|
|
13
|
+
/*
|
|
14
|
+
* can add global private routes to application (auth required, tenancy not required)
|
|
15
|
+
*/
|
|
16
|
+
})
|
|
17
|
+
|
|
18
|
+
process.on('bootstrap-module-domain-public-route' as any, (app, domainPublicRouter) => {
|
|
19
|
+
/*
|
|
20
|
+
* can add domain public routes to application (auth not required, tenancy required)
|
|
21
|
+
*/
|
|
22
|
+
})
|
|
23
|
+
|
|
24
|
+
process.on('bootstrap-module-domain-private-route' as any, (app, domainPrivateRouter) => {
|
|
25
|
+
/*
|
|
26
|
+
* can add domain private routes to application (auth required, tenancy required)
|
|
27
|
+
*/
|
|
28
|
+
})
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{}
|
package/tsconfig.json
ADDED
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8" />
|
|
5
|
+
<title>Operato Gangsters</title>
|
|
6
|
+
<meta name="generator" content="Things Factory Starter Kit" />
|
|
7
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
8
|
+
<meta name="description" content="Heart of Logistics" />
|
|
9
|
+
|
|
10
|
+
<base href="/" />
|
|
11
|
+
|
|
12
|
+
<link rel="icon" href="/assets/favicon.ico" />
|
|
13
|
+
|
|
14
|
+
<!-- See https://goo.gl/OOhYW5 -->
|
|
15
|
+
<link rel="manifest" href="/assets/manifest.json" />
|
|
16
|
+
|
|
17
|
+
<!-- See https://goo.gl/qRE0vM -->
|
|
18
|
+
<meta name="theme-color" content="#3f51b5" />
|
|
19
|
+
|
|
20
|
+
<!-- Add to homescreen for Chrome on Android. Fallback for manifest.json -->
|
|
21
|
+
<meta name="mobile-web-app-capable" content="yes" />
|
|
22
|
+
<meta name="application-name" content="Operato Gangsters" />
|
|
23
|
+
<meta name="application-description" content="Heart of Logistics" />
|
|
24
|
+
<meta name="application-copyright" content="Copyright © hatiolab.com. All Rights Reserved." />
|
|
25
|
+
<link rel="application-icon" href="/assets/manifest/icon-96x96.png" />
|
|
26
|
+
|
|
27
|
+
<!-- Add to homescreen for Safari on iOS -->
|
|
28
|
+
<meta name="apple-mobile-web-app-capable" content="yes" />
|
|
29
|
+
<meta name="apple-mobile-web-app-status-bar-style" content="default" />
|
|
30
|
+
<meta name="apple-mobile-web-app-title" content="Operato Gangsters" />
|
|
31
|
+
|
|
32
|
+
<!-- Homescreen icons -->
|
|
33
|
+
<link rel="apple-touch-icon" href="/assets/manifest/icon-48x48.png" />
|
|
34
|
+
<link rel="apple-touch-icon" sizes="72x72" href="/assets/manifest/icon-72x72.png" />
|
|
35
|
+
<link rel="apple-touch-icon" sizes="96x96" href="/assets/manifest/icon-96x96.png" />
|
|
36
|
+
<link rel="apple-touch-icon" sizes="144x144" href="/assets/manifest/icon-144x144.png" />
|
|
37
|
+
<link rel="apple-touch-icon" sizes="192x192" href="/assets/manifest/icon-192x192.png" />
|
|
38
|
+
|
|
39
|
+
<!-- Tile icon for Windows 8 (144x144 + tile color) -->
|
|
40
|
+
<meta name="msapplication-TileImage" content="/assets/manifest/icon-144x144.png" />
|
|
41
|
+
<meta name="msapplication-TileColor" content="#3f51b5" />
|
|
42
|
+
<meta name="msapplication-tap-highlight" content="no" />
|
|
43
|
+
|
|
44
|
+
<!-- Default twitter cards -->
|
|
45
|
+
<meta name="twitter:card" content="summary" />
|
|
46
|
+
<meta name="twitter:site" content="@username" />
|
|
47
|
+
<meta property="og:type" content="website" />
|
|
48
|
+
<meta property="og:site_name" content="Operato Gangsters, Heart of platform." />
|
|
49
|
+
<meta property="og:image" content="/assets/manifest/image-metaog.png" />
|
|
50
|
+
|
|
51
|
+
<!-- Performance tip: hint to the browser to start the handshake for the fonts site -->
|
|
52
|
+
<link rel="preconnect" href="https://fonts.gstatic.com/" crossorigin />
|
|
53
|
+
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Material+Icons&display=block" />
|
|
54
|
+
<link rel="stylesheet" href="/theme.css" />
|
|
55
|
+
|
|
56
|
+
<style>
|
|
57
|
+
body {
|
|
58
|
+
margin: 0;
|
|
59
|
+
padding: 0;
|
|
60
|
+
overflow: hidden;
|
|
61
|
+
|
|
62
|
+
/* This is a font-stack that tries to use the system-default sans-serifs first */
|
|
63
|
+
font-family: Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
|
|
64
|
+
line-height: 1.5;
|
|
65
|
+
-webkit-font-smoothing: antialiased;
|
|
66
|
+
}
|
|
67
|
+
</style>
|
|
68
|
+
|
|
69
|
+
<!--- prefetch -->
|
|
70
|
+
<link rel="prefetch" href="/auth/signin.js">
|
|
71
|
+
<link rel="prefetch" href="/auth/signup.js">
|
|
72
|
+
<link rel="prefetch" href="/auth/forgot-password.js">
|
|
73
|
+
<link rel="prefetch" href="/auth/checkin.js">
|
|
74
|
+
</head>
|
|
75
|
+
<body>
|
|
76
|
+
<<%- pageElement %> id="page"></<%- pageElement %>>
|
|
77
|
+
<noscript>
|
|
78
|
+
Please enable JavaScript to view this website.
|
|
79
|
+
</noscript>
|
|
80
|
+
<!-- Load webcomponents-loader.js to check and load any polyfills your browser needs -->
|
|
81
|
+
<script src="node_modules/@webcomponents/webcomponentsjs/webcomponents-loader.js"></script>
|
|
82
|
+
<script src="node_modules/web-animations-js/web-animations-next.min.js"></script>
|
|
83
|
+
<script src="node_modules/@lottiefiles/lottie-player/dist/lottie-player.js"></script>
|
|
84
|
+
<!-- Built with love using PWA Starter Kit -->
|
|
85
|
+
|
|
86
|
+
<script src="<%- elementScript %>"></script>
|
|
87
|
+
<script src="/theme.js"></script>
|
|
88
|
+
<script>
|
|
89
|
+
var pageEl = document.querySelector('#page')
|
|
90
|
+
page.data = <%- JSON.stringify(data) %>
|
|
91
|
+
</script>
|
|
92
|
+
</body>
|
|
93
|
+
</html>
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8" />
|
|
5
|
+
<title>Operato Gangsters</title>
|
|
6
|
+
<meta name="generator" content="Things Factory Starter Kit" />
|
|
7
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
8
|
+
<meta name="description" content="Heart of Logistics" />
|
|
9
|
+
|
|
10
|
+
<base href="/" />
|
|
11
|
+
|
|
12
|
+
<link rel="icon" href="/assets/favicon.ico" />
|
|
13
|
+
|
|
14
|
+
<!-- See https://goo.gl/OOhYW5 -->
|
|
15
|
+
<link rel="manifest" href="/assets/manifest.json" />
|
|
16
|
+
|
|
17
|
+
<!-- See https://goo.gl/qRE0vM -->
|
|
18
|
+
<meta name="theme-color" content="#3f51b5" />
|
|
19
|
+
|
|
20
|
+
<!-- Add to homescreen for Chrome on Android. Fallback for manifest.json -->
|
|
21
|
+
<meta name="mobile-web-app-capable" content="yes" />
|
|
22
|
+
<meta name="application-name" content="Operato Gangsters" />
|
|
23
|
+
<meta name="application-description" content="Heart of Logistics" />
|
|
24
|
+
<meta name="application-copyright" content="Copyright © hatiolab.com. All Rights Reserved." />
|
|
25
|
+
<link rel="application-icon" href="/assets/manifest/icon-96x96.png" />
|
|
26
|
+
|
|
27
|
+
<!-- Add to homescreen for Safari on iOS -->
|
|
28
|
+
<meta name="apple-mobile-web-app-capable" content="yes" />
|
|
29
|
+
<meta name="apple-mobile-web-app-status-bar-style" content="default" />
|
|
30
|
+
<meta name="apple-mobile-web-app-title" content="Operato Gangsters" />
|
|
31
|
+
|
|
32
|
+
<!-- Homescreen icons -->
|
|
33
|
+
<link rel="apple-touch-icon" href="/assets/manifest/icon-48x48.png" />
|
|
34
|
+
<link rel="apple-touch-icon" sizes="72x72" href="/assets/manifest/icon-72x72.png" />
|
|
35
|
+
<link rel="apple-touch-icon" sizes="96x96" href="/assets/manifest/icon-96x96.png" />
|
|
36
|
+
<link rel="apple-touch-icon" sizes="144x144" href="/assets/manifest/icon-144x144.png" />
|
|
37
|
+
<link rel="apple-touch-icon" sizes="192x192" href="/assets/manifest/icon-192x192.png" />
|
|
38
|
+
|
|
39
|
+
<!-- Tile icon for Windows 8 (144x144 + tile color) -->
|
|
40
|
+
<meta name="msapplication-TileImage" content="/assets/manifest/icon-144x144.png" />
|
|
41
|
+
<meta name="msapplication-TileColor" content="#3f51b5" />
|
|
42
|
+
<meta name="msapplication-tap-highlight" content="no" />
|
|
43
|
+
|
|
44
|
+
<!-- Default twitter cards -->
|
|
45
|
+
<meta name="twitter:card" content="summary" />
|
|
46
|
+
<meta name="twitter:site" content="@username" />
|
|
47
|
+
<meta property="og:type" content="website" />
|
|
48
|
+
<meta property="og:site_name" content="Operato Gangsters, Heart of platform." />
|
|
49
|
+
<meta property="og:image" content="/assets/manifest/image-metaog.png" />
|
|
50
|
+
|
|
51
|
+
<!-- Performance tip: hint to the browser to start the handshake for the fonts site -->
|
|
52
|
+
<link rel="preconnect" href="https://fonts.gstatic.com/" crossorigin />
|
|
53
|
+
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Material+Icons&display=block" />
|
|
54
|
+
<link rel="stylesheet" href="/theme.css" />
|
|
55
|
+
|
|
56
|
+
<style>
|
|
57
|
+
body {
|
|
58
|
+
margin: 0;
|
|
59
|
+
padding: 0;
|
|
60
|
+
overflow: hidden;
|
|
61
|
+
|
|
62
|
+
/* This is a font-stack that tries to use the system-default sans-serifs first */
|
|
63
|
+
font-family: Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
|
|
64
|
+
line-height: 1.5;
|
|
65
|
+
-webkit-font-smoothing: antialiased;
|
|
66
|
+
}
|
|
67
|
+
</style>
|
|
68
|
+
|
|
69
|
+
<!--- prefetch -->
|
|
70
|
+
<link rel="prefetch" href="/public/home.js" />
|
|
71
|
+
</head>
|
|
72
|
+
<body>
|
|
73
|
+
<home-page id="page"></home-page>
|
|
74
|
+
<noscript> Please enable JavaScript to view this website. </noscript>
|
|
75
|
+
<!-- Load webcomponents-loader.js to check and load any polyfills your browser needs -->
|
|
76
|
+
<script src="node_modules/@webcomponents/webcomponentsjs/webcomponents-loader.js"></script>
|
|
77
|
+
<script src="node_modules/web-animations-js/web-animations-next.min.js"></script>
|
|
78
|
+
<!-- Built with love using PWA Starter Kit -->
|
|
79
|
+
|
|
80
|
+
<script src="/public/home.js"></script>
|
|
81
|
+
<script src="/theme.js"></script>
|
|
82
|
+
</body>
|
|
83
|
+
</html>
|