@dssp/dcsp 0.0.2
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 +16 -0
- package/_index.html +92 -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/images/user.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/assets/style/home.css +134 -0
- package/config/config.development.js +49 -0
- package/config/config.production.js +83 -0
- package/dist-client/bootstrap.d.ts +5 -0
- package/dist-client/bootstrap.js +179 -0
- package/dist-client/bootstrap.js.map +1 -0
- package/dist-client/icons/menu-icons.d.ts +5 -0
- package/dist-client/icons/menu-icons.js +98 -0
- package/dist-client/icons/menu-icons.js.map +1 -0
- package/dist-client/index.d.ts +0 -0
- package/dist-client/index.js +2 -0
- package/dist-client/index.js.map +1 -0
- package/dist-client/menu.d.ts +1 -0
- package/dist-client/menu.js +4 -0
- package/dist-client/menu.js.map +1 -0
- package/dist-client/pages/sv-user-management.d.ts +4 -0
- package/dist-client/pages/sv-user-management.js +218 -0
- package/dist-client/pages/sv-user-management.js.map +1 -0
- package/dist-client/route.d.ts +1 -0
- package/dist-client/route.js +10 -0
- package/dist-client/route.js.map +1 -0
- package/dist-client/themes/dark.css +51 -0
- package/dist-client/themes/light.css +51 -0
- package/dist-client/tsconfig.tsbuildinfo +1 -0
- package/dist-client/viewparts/menu-tools.d.ts +17 -0
- package/dist-client/viewparts/menu-tools.js +172 -0
- package/dist-client/viewparts/menu-tools.js.map +1 -0
- package/dist-client/viewparts/user-circle.d.ts +5 -0
- package/dist-client/viewparts/user-circle.js +26 -0
- package/dist-client/viewparts/user-circle.js.map +1 -0
- package/dist-server/index.js +1 -0
- package/dist-server/index.js.map +1 -0
- package/dist-server/tsconfig.tsbuildinfo +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 +93 -0
- package/schema.graphql +4199 -0
- package/things-factory.config.js +8 -0
- package/translations/en.json +3 -0
- package/translations/ja.json +3 -0
- package/translations/ko.json +3 -0
- package/translations/ms.json +3 -0
- package/translations/zh.json +3 -0
- package/views/auth-page.html +97 -0
- package/views/public/home.html +88 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
|
|
6
|
+
and adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
<!-- ## [Unreleased] -->
|
package/Dockerfile
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# Use an official ubuntu image
|
|
2
|
+
FROM hatiolab/operato-env:latest
|
|
3
|
+
|
|
4
|
+
# Set the working directory to /app
|
|
5
|
+
WORKDIR /app
|
|
6
|
+
|
|
7
|
+
# copy application & configuration files
|
|
8
|
+
COPY . .
|
|
9
|
+
|
|
10
|
+
# run node install command
|
|
11
|
+
RUN yarn install
|
|
12
|
+
|
|
13
|
+
# Make port 3000 available to the world outside this container
|
|
14
|
+
EXPOSE 3000
|
|
15
|
+
|
|
16
|
+
CMD [ "yarn", "run", "serve" ]
|
package/_index.html
ADDED
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8" />
|
|
5
|
+
<title>Construction Site Link</title>
|
|
6
|
+
<meta name="generator" content="Things Factory Starter Kit" />
|
|
7
|
+
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" />
|
|
8
|
+
<meta name="description" content="Revolutionizing Safety Oversight" />
|
|
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="#181A1B" />
|
|
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="Construction Site Link" />
|
|
23
|
+
<meta name="application-description" content="Revolutionizing Safety Oversight" />
|
|
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="Construction Site Link" />
|
|
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="#181A1B" />
|
|
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="Construction Site Link, Revolutionizing Safety Oversight" />
|
|
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 href="/node_modules/@material-design-icons/font/index.css" rel="stylesheet" />
|
|
54
|
+
<link href="/node_modules/material-symbols/index.css" rel="stylesheet" />
|
|
55
|
+
<link href="/node_modules/@fontsource/roboto/index.css" rel="stylesheet" />
|
|
56
|
+
<link rel="stylesheet" href="/theme.css" />
|
|
57
|
+
|
|
58
|
+
<!-- Add any global styles for body, document, etc. -->
|
|
59
|
+
<style>
|
|
60
|
+
body {
|
|
61
|
+
margin: 0;
|
|
62
|
+
padding: 0;
|
|
63
|
+
overflow: hidden;
|
|
64
|
+
|
|
65
|
+
/* This is a font-stack that tries to use the system-default sans-serifs first */
|
|
66
|
+
font-family: Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
|
|
67
|
+
line-height: 1.5;
|
|
68
|
+
-webkit-font-smoothing: antialiased;
|
|
69
|
+
|
|
70
|
+
accent-color: var(--primary-color);
|
|
71
|
+
}
|
|
72
|
+
</style>
|
|
73
|
+
|
|
74
|
+
<script>
|
|
75
|
+
if ('serviceWorker' in navigator) {
|
|
76
|
+
navigator.serviceWorker.register('/service-worker.js', {
|
|
77
|
+
scope: '/'
|
|
78
|
+
})
|
|
79
|
+
}
|
|
80
|
+
</script>
|
|
81
|
+
</head>
|
|
82
|
+
|
|
83
|
+
<body class="light">
|
|
84
|
+
<things-app></things-app>
|
|
85
|
+
<noscript> Please enable JavaScript to view this website. </noscript>
|
|
86
|
+
<!-- Load webcomponents-loader.js to check and load any polyfills your browser needs -->
|
|
87
|
+
<script src="/node_modules/@webcomponents/webcomponentsjs/webcomponents-loader.js"></script>
|
|
88
|
+
<script src="/node_modules/web-animations-js/web-animations-next.min.js"></script>
|
|
89
|
+
<script src="/node_modules/@hatiolab/things-scene/things-scene-min.js"></script>
|
|
90
|
+
<!-- Built with love using PWA Starter Kit -->
|
|
91
|
+
</body>
|
|
92
|
+
</html>
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# Digital Construction Supervision Platform
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Construction Site Link",
|
|
3
|
+
"short_name": "dssp",
|
|
4
|
+
"description": "Construction Site Link, Revolutionizing Safety Oversight",
|
|
5
|
+
"icons": [
|
|
6
|
+
{
|
|
7
|
+
"src": "manifest/icon-192x192.png",
|
|
8
|
+
"sizes": "192x192",
|
|
9
|
+
"type": "image/png"
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"src": "manifest/icon-512x512.png",
|
|
13
|
+
"sizes": "512x512",
|
|
14
|
+
"type": "image/png"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"src": "manifest/maskable_icon.png",
|
|
18
|
+
"sizes": "682x682",
|
|
19
|
+
"type": "image/png",
|
|
20
|
+
"purpose": "maskable"
|
|
21
|
+
}
|
|
22
|
+
],
|
|
23
|
+
"start_url": "/",
|
|
24
|
+
"display": "standalone",
|
|
25
|
+
"theme_color": "#181A1B",
|
|
26
|
+
"background_color": "#181A1B"
|
|
27
|
+
}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
/* ===================================
|
|
2
|
+
01. Google font
|
|
3
|
+
====================================== */
|
|
4
|
+
|
|
5
|
+
@import url('https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900&display=swap');
|
|
6
|
+
@import url('https://fonts.googleapis.com/css?family=Poppins:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i&display=swap');
|
|
7
|
+
|
|
8
|
+
/* ===================================
|
|
9
|
+
02. Reset
|
|
10
|
+
====================================== */
|
|
11
|
+
|
|
12
|
+
html,
|
|
13
|
+
body {
|
|
14
|
+
height: 100%;
|
|
15
|
+
}
|
|
16
|
+
*,
|
|
17
|
+
*::after,
|
|
18
|
+
*::before {
|
|
19
|
+
box-sizing: border-box;
|
|
20
|
+
}
|
|
21
|
+
body {
|
|
22
|
+
padding: 0;
|
|
23
|
+
margin: 0;
|
|
24
|
+
background: url('../images/home/bg-wrap.png') #181a1b repeat-x;
|
|
25
|
+
background-size: cover;
|
|
26
|
+
font-size: 16px;
|
|
27
|
+
line-height: 1.6;
|
|
28
|
+
font-weight: 400;
|
|
29
|
+
color: #fff;
|
|
30
|
+
font-family: 'Roboto', sans-serif;
|
|
31
|
+
}
|
|
32
|
+
a {
|
|
33
|
+
text-decoration: none;
|
|
34
|
+
}
|
|
35
|
+
a:hover,
|
|
36
|
+
a:focus {
|
|
37
|
+
text-decoration: none;
|
|
38
|
+
outline: none;
|
|
39
|
+
outline-offset: 0;
|
|
40
|
+
color: #d6000f;
|
|
41
|
+
}
|
|
42
|
+
a,
|
|
43
|
+
a.nav-link,
|
|
44
|
+
a:active,
|
|
45
|
+
a:focus {
|
|
46
|
+
color: #333;
|
|
47
|
+
}
|
|
48
|
+
a,
|
|
49
|
+
a.nav-link,
|
|
50
|
+
.btn,
|
|
51
|
+
input,
|
|
52
|
+
textarea,
|
|
53
|
+
select {
|
|
54
|
+
transition: all 0.3s ease-in-out;
|
|
55
|
+
-moz-transition: all 0.3s ease-in-out;
|
|
56
|
+
-webkit-transition: all 0.3s ease-in-out;
|
|
57
|
+
-ms-transition: all 0.3s ease-in-out;
|
|
58
|
+
-o-transition: all 0.3s ease-in-out;
|
|
59
|
+
}
|
|
60
|
+
img {
|
|
61
|
+
max-width: 100%;
|
|
62
|
+
height: auto;
|
|
63
|
+
}
|
|
64
|
+
h2 {
|
|
65
|
+
margin: 0;
|
|
66
|
+
padding: 0;
|
|
67
|
+
font-size: 64px;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/* ===================================
|
|
71
|
+
03. home design
|
|
72
|
+
====================================== */
|
|
73
|
+
.wrap {
|
|
74
|
+
width: 95%;
|
|
75
|
+
height: 100%;
|
|
76
|
+
overflow: hidden;
|
|
77
|
+
background:
|
|
78
|
+
url('../images/home/bg-container-left.png') left top no-repeat,
|
|
79
|
+
url('../images/home/bg-container-right.png') right top no-repeat;
|
|
80
|
+
background-size: contain;
|
|
81
|
+
margin: auto;
|
|
82
|
+
text-align: center;
|
|
83
|
+
}
|
|
84
|
+
.logo {
|
|
85
|
+
background: url('../images/home/logo.png') #fff no-repeat center;
|
|
86
|
+
background-size: 80%;
|
|
87
|
+
border-bottom-right-radius: 15px;
|
|
88
|
+
border-bottom-left-radius: 15px;
|
|
89
|
+
box-shadow: 3px 3px 3px 3px rgba(0, 0, 0, 0.1);
|
|
90
|
+
display: block;
|
|
91
|
+
width: 150px;
|
|
92
|
+
height: 100px;
|
|
93
|
+
margin: auto;
|
|
94
|
+
margin-bottom: 50px;
|
|
95
|
+
}
|
|
96
|
+
.container {
|
|
97
|
+
width: 60%;
|
|
98
|
+
margin: auto;
|
|
99
|
+
margin-top: 100px;
|
|
100
|
+
}
|
|
101
|
+
.container a {
|
|
102
|
+
background: #fff no-repeat center;
|
|
103
|
+
border-radius: 15px;
|
|
104
|
+
background-size: 55px;
|
|
105
|
+
background-position-y: 17px;
|
|
106
|
+
box-shadow: 3px 3px 3px 3px rgba(0, 0, 0, 0.1);
|
|
107
|
+
border: 5px solid transparent;
|
|
108
|
+
display: inline-block;
|
|
109
|
+
width: 40%;
|
|
110
|
+
margin: 40px 4%;
|
|
111
|
+
padding: 80px 0 15px 0;
|
|
112
|
+
color: #008c97;
|
|
113
|
+
font-size: 22px;
|
|
114
|
+
font-weight: bold;
|
|
115
|
+
cursor: pointer;
|
|
116
|
+
}
|
|
117
|
+
.container a:hover {
|
|
118
|
+
border-color: #bdeb02;
|
|
119
|
+
}
|
|
120
|
+
a.menu1 {
|
|
121
|
+
background-image: url('../images/home/icon-menu1.png');
|
|
122
|
+
background-size: 100px;
|
|
123
|
+
background-position-y: 20px;
|
|
124
|
+
}
|
|
125
|
+
a.menu2 {
|
|
126
|
+
background-image: url('../images/home/icon-menu2.png');
|
|
127
|
+
}
|
|
128
|
+
a.menu3 {
|
|
129
|
+
background-image: url('../images/home/icon-menu3.png');
|
|
130
|
+
background-position-y: 23px;
|
|
131
|
+
}
|
|
132
|
+
a.menu4 {
|
|
133
|
+
background-image: url('../images/home/icon-menu4.png');
|
|
134
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
module.exports = {
|
|
2
|
+
subdomain: 'system',
|
|
3
|
+
publicHomeRoute: '/auth/signin',
|
|
4
|
+
applianceJwtExpiresIn: '10y',
|
|
5
|
+
/* database field encryption key : 32 bytes - must be changed by every installation */
|
|
6
|
+
dataEncryptionKey: 'V6g5oHJZb7KcazJyL6cM95XvIDouon5b',
|
|
7
|
+
password: {
|
|
8
|
+
lowerCase: true,
|
|
9
|
+
upperCase: false,
|
|
10
|
+
digit: true,
|
|
11
|
+
specialCharacter: true,
|
|
12
|
+
allowRepeat: true,
|
|
13
|
+
useTightPattern: true,
|
|
14
|
+
useLoosePattern: false,
|
|
15
|
+
tightCharacterLength: 8,
|
|
16
|
+
looseCharacterLength: 15,
|
|
17
|
+
history: 2,
|
|
18
|
+
/* strongly recommended to make changes during installation */
|
|
19
|
+
defaultPassword: 'dkswjsrkafl1!'
|
|
20
|
+
},
|
|
21
|
+
/*
|
|
22
|
+
Only When 'disableUserSignupProcess' is set to false,
|
|
23
|
+
a user-initiated user registration process is provided.
|
|
24
|
+
When this value is true, the 'defaultPassword' for the password must be configured.
|
|
25
|
+
*/
|
|
26
|
+
disableUserSignupProcess: true,
|
|
27
|
+
i18n: {
|
|
28
|
+
languages: [
|
|
29
|
+
{
|
|
30
|
+
code: 'ko-KR',
|
|
31
|
+
display: '한국어'
|
|
32
|
+
}
|
|
33
|
+
],
|
|
34
|
+
defaultLanguage: 'ko-KR',
|
|
35
|
+
disableUserFavoredLanguage: true
|
|
36
|
+
},
|
|
37
|
+
scheduler: {
|
|
38
|
+
/* Name to be used for setting client's "application" properties when registering a schedule */
|
|
39
|
+
application: 'dssp',
|
|
40
|
+
/* Base endpoint to be used for setting "callback" properties when registering a schedule */
|
|
41
|
+
callbackBase: 'http://localhost:3000',
|
|
42
|
+
/*
|
|
43
|
+
Scheduler service endpoint
|
|
44
|
+
caution) endpoint for "localhost" has some problem.
|
|
45
|
+
https://github.com/node-fetch/node-fetch/issues/1624
|
|
46
|
+
*/
|
|
47
|
+
endpoint: 'http://127.0.0.1:9902'
|
|
48
|
+
}
|
|
49
|
+
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
module.exports = {
|
|
2
|
+
subdomain: 'system',
|
|
3
|
+
publicHomeRoute: '/public/home',
|
|
4
|
+
applianceJwtExpiresIn: '10y',
|
|
5
|
+
/* database field encryption key : 32 bytes - must be changed by every installation */
|
|
6
|
+
dataEncryptionKey: 'V6g5oHJZb7KcazJyL6cM95XvIDouon5b',
|
|
7
|
+
password: {
|
|
8
|
+
lowerCase: true,
|
|
9
|
+
upperCase: false,
|
|
10
|
+
digit: true,
|
|
11
|
+
specialCharacter: true,
|
|
12
|
+
allowRepeat: true,
|
|
13
|
+
useTightPattern: true,
|
|
14
|
+
useLoosePattern: false,
|
|
15
|
+
tightCharacterLength: 9,
|
|
16
|
+
looseCharacterLength: 15,
|
|
17
|
+
history: 2,
|
|
18
|
+
/* strongly recommended to make changes during installation */
|
|
19
|
+
defaultPassword: 'dkswjsrkafl1!'
|
|
20
|
+
},
|
|
21
|
+
/*
|
|
22
|
+
Only When 'disableUserSignupProcess' is set to false,
|
|
23
|
+
a user-initiated user registration process is provided.
|
|
24
|
+
When this value is true, the 'defaultPassword' for the password must be configured.
|
|
25
|
+
*/
|
|
26
|
+
disableUserSignupProcess: true,
|
|
27
|
+
i18n: {
|
|
28
|
+
languages: [
|
|
29
|
+
{
|
|
30
|
+
code: 'ko-KR',
|
|
31
|
+
display: '한국어'
|
|
32
|
+
}
|
|
33
|
+
],
|
|
34
|
+
defaultLanguage: 'ko-KR',
|
|
35
|
+
disableUserFavoredLanguage: true
|
|
36
|
+
},
|
|
37
|
+
scheduler: {
|
|
38
|
+
/* Name to be used for setting client's "application" properties when registering a schedule */
|
|
39
|
+
application: 'dssp',
|
|
40
|
+
/* Base endpoint to be used for setting "callback" properties when registering a schedule */
|
|
41
|
+
callbackBase: 'http://dssp-svc',
|
|
42
|
+
/*
|
|
43
|
+
Scheduler service endpoint
|
|
44
|
+
caution) endpoint for "localhost" has some problem.
|
|
45
|
+
https://github.com/node-fetch/node-fetch/issues/1624
|
|
46
|
+
*/
|
|
47
|
+
endpoint: 'http://scheduler-svc'
|
|
48
|
+
},
|
|
49
|
+
email: {
|
|
50
|
+
host: 'smtp.office365.com', // your sender-email smtp host
|
|
51
|
+
port: 587, // smtp server port
|
|
52
|
+
secure: false, // true for 465, false for other ports
|
|
53
|
+
auth: {
|
|
54
|
+
user: 'your sender-email',
|
|
55
|
+
pass: 'your sender-email password' // generated ethereal password
|
|
56
|
+
},
|
|
57
|
+
secureConnection: false,
|
|
58
|
+
tls: {
|
|
59
|
+
ciphers: 'SSLv3'
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
logger: {
|
|
63
|
+
file: {
|
|
64
|
+
filename: 'logs/application-%DATE%.log',
|
|
65
|
+
datePattern: 'YYYY-MM-DD-HH',
|
|
66
|
+
zippedArchive: false,
|
|
67
|
+
maxSize: '20m',
|
|
68
|
+
maxFiles: '2d',
|
|
69
|
+
level: 'info'
|
|
70
|
+
},
|
|
71
|
+
console: {
|
|
72
|
+
level: 'silly'
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
ormconfig: {
|
|
76
|
+
name: 'default',
|
|
77
|
+
type: 'sqlite',
|
|
78
|
+
database: 'db.sqlite',
|
|
79
|
+
synchronize: false,
|
|
80
|
+
logging: true,
|
|
81
|
+
logger: 'debug'
|
|
82
|
+
}
|
|
83
|
+
}
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
import '@operato/i18n/ox-i18n.js';
|
|
2
|
+
import '@things-factory/notification';
|
|
3
|
+
import './viewparts/user-circle';
|
|
4
|
+
import './viewparts/menu-tools';
|
|
5
|
+
import { html } from 'lit-html';
|
|
6
|
+
import { registerDefaultGroups } from '@operato/board';
|
|
7
|
+
import { navigate, store } from '@operato/shell';
|
|
8
|
+
import { appendViewpart, toggleOverlay, TOOL_POSITION, VIEWPART_POSITION } from '@operato/layout';
|
|
9
|
+
import { APPEND_APP_TOOL } from '@things-factory/apptool-base/client';
|
|
10
|
+
import { setupAppToolPart } from '@things-factory/apptool-ui/dist-client';
|
|
11
|
+
import { hasPrivilege } from '@things-factory/auth-base/dist-client';
|
|
12
|
+
import { setAuthManagementMenus } from '@things-factory/auth-ui/dist-client';
|
|
13
|
+
import { ADD_MORENDA } from '@things-factory/more-base/client';
|
|
14
|
+
import { ADD_SETTING } from '@things-factory/setting-base/dist-client';
|
|
15
|
+
console.log(`%c
|
|
16
|
+
▄▄▄ ▄▄ ▄▄▄ ▄▄▄
|
|
17
|
+
▓ ▓ ▓ ▓ ▓ ▀ ▓ ▓
|
|
18
|
+
▓ ▓ ▓ ▀▀▄▄ ▓▀▀
|
|
19
|
+
▓ ▓ ▓ ▓ ▄ ▓ ▓
|
|
20
|
+
▀▀▀ ▀▀ ▀▀▀ ▀
|
|
21
|
+
`, 'background: #222; color: #bada55');
|
|
22
|
+
export default async function bootstrap() {
|
|
23
|
+
/* set board-modeller group and default templates */
|
|
24
|
+
registerDefaultGroups();
|
|
25
|
+
await setupAppToolPart({
|
|
26
|
+
toolbar: true,
|
|
27
|
+
busybar: true,
|
|
28
|
+
mdibar: false
|
|
29
|
+
});
|
|
30
|
+
// await setupContextUIPart({
|
|
31
|
+
// titlebar: 'header',
|
|
32
|
+
// contextToolbar: 'page-footer'
|
|
33
|
+
// })
|
|
34
|
+
appendViewpart({
|
|
35
|
+
name: 'dcsp-topmenu',
|
|
36
|
+
viewpart: {
|
|
37
|
+
show: true,
|
|
38
|
+
template: html ` <menu-tools></menu-tools> `
|
|
39
|
+
},
|
|
40
|
+
position: VIEWPART_POSITION.NAVBAR
|
|
41
|
+
});
|
|
42
|
+
/* setting app-tools */
|
|
43
|
+
store.dispatch({
|
|
44
|
+
type: APPEND_APP_TOOL,
|
|
45
|
+
tool: {
|
|
46
|
+
name: 'app-brand',
|
|
47
|
+
template: html ` <span style="font-size: 1.2em;">CSL</span> `,
|
|
48
|
+
position: TOOL_POSITION.FRONT
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
store.dispatch({
|
|
52
|
+
type: APPEND_APP_TOOL,
|
|
53
|
+
tool: {
|
|
54
|
+
name: 'notification-badge',
|
|
55
|
+
template: html `
|
|
56
|
+
<notification-badge
|
|
57
|
+
@click=${e => {
|
|
58
|
+
toggleOverlay('notification', {
|
|
59
|
+
backdrop: true
|
|
60
|
+
});
|
|
61
|
+
}}
|
|
62
|
+
>
|
|
63
|
+
</notification-badge>
|
|
64
|
+
`,
|
|
65
|
+
position: TOOL_POSITION.REAR
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
appendViewpart({
|
|
69
|
+
name: 'notification',
|
|
70
|
+
viewpart: {
|
|
71
|
+
show: false,
|
|
72
|
+
hovering: 'edge',
|
|
73
|
+
template: html ` <notification-list style="min-width: 300px;"></notification-list> `
|
|
74
|
+
},
|
|
75
|
+
position: VIEWPART_POSITION.ASIDEBAR
|
|
76
|
+
});
|
|
77
|
+
store.dispatch({
|
|
78
|
+
type: APPEND_APP_TOOL,
|
|
79
|
+
tool: {
|
|
80
|
+
name: 'user-circle',
|
|
81
|
+
template: html ` <user-circle> </user-circle> `,
|
|
82
|
+
position: TOOL_POSITION.REAR
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
/* add setting morenda */
|
|
86
|
+
store.dispatch({
|
|
87
|
+
type: ADD_MORENDA,
|
|
88
|
+
morenda: {
|
|
89
|
+
icon: html ` <mwc-icon>settings</mwc-icon> `,
|
|
90
|
+
name: html ` <ox-i18n msgid="label.setting"></ox-i18n> `,
|
|
91
|
+
action: () => {
|
|
92
|
+
navigate('setting');
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
store.dispatch({
|
|
97
|
+
type: ADD_SETTING,
|
|
98
|
+
setting: {
|
|
99
|
+
seq: 21,
|
|
100
|
+
template: html ` <lite-menu-setting-let></lite-menu-setting-let> `
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
/* set auth management menus into more-panel */
|
|
104
|
+
setAuthManagementMenus();
|
|
105
|
+
if (await hasPrivilege({
|
|
106
|
+
privilege: 'mutation',
|
|
107
|
+
category: 'user',
|
|
108
|
+
domainOwnerGranted: true,
|
|
109
|
+
superUserGranted: true
|
|
110
|
+
})) {
|
|
111
|
+
store.dispatch({
|
|
112
|
+
type: ADD_MORENDA,
|
|
113
|
+
morenda: {
|
|
114
|
+
icon: html ` <mwc-icon>vpn_key</mwc-icon> `,
|
|
115
|
+
name: html ` <ox-i18n msgid="text.oauth2-clients"></ox-i18n> `,
|
|
116
|
+
action: () => {
|
|
117
|
+
navigate('oauth2-clients');
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
if (await hasPrivilege({
|
|
123
|
+
privilege: 'mutation',
|
|
124
|
+
category: 'board',
|
|
125
|
+
domainOwnerGranted: true,
|
|
126
|
+
superUserGranted: true
|
|
127
|
+
})) {
|
|
128
|
+
store.dispatch({
|
|
129
|
+
type: ADD_MORENDA,
|
|
130
|
+
morenda: {
|
|
131
|
+
icon: html ` <mwc-icon>font_download</mwc-icon> `,
|
|
132
|
+
name: html ` <ox-i18n msgid="menu.fonts"></ox-i18n> `,
|
|
133
|
+
action: () => {
|
|
134
|
+
navigate('font-list');
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
});
|
|
138
|
+
store.dispatch({
|
|
139
|
+
type: ADD_MORENDA,
|
|
140
|
+
morenda: {
|
|
141
|
+
icon: html ` <mwc-icon>dvr</mwc-icon> `,
|
|
142
|
+
name: html ` <ox-i18n msgid="menu.board-list"></ox-i18n> `,
|
|
143
|
+
action: () => {
|
|
144
|
+
navigate('board-list');
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
if (await hasPrivilege({
|
|
150
|
+
privilege: 'query',
|
|
151
|
+
category: 'attachment',
|
|
152
|
+
domainOwnerGranted: true,
|
|
153
|
+
superUserGranted: true
|
|
154
|
+
})) {
|
|
155
|
+
store.dispatch({
|
|
156
|
+
type: ADD_MORENDA,
|
|
157
|
+
morenda: {
|
|
158
|
+
icon: html ` <mwc-icon>attachment</mwc-icon> `,
|
|
159
|
+
name: html ` <ox-i18n msgid="menu.attachments"></ox-i18n> `,
|
|
160
|
+
action: () => {
|
|
161
|
+
navigate('attachment-list');
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
if (await hasPrivilege({ privilege: 'mutation', category: 'scenario', domainOwnerGranted: true })) {
|
|
167
|
+
store.dispatch({
|
|
168
|
+
type: ADD_MORENDA,
|
|
169
|
+
morenda: {
|
|
170
|
+
icon: html ` <mwc-icon>dashboard</mwc-icon> `,
|
|
171
|
+
name: html ` <ox-i18n msgid="menu.board-template"></ox-i18n> `,
|
|
172
|
+
action: () => {
|
|
173
|
+
navigate('board-template-list');
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
//# sourceMappingURL=bootstrap.js.map
|