@projectinvicta/nails 2.0.15
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/README.md +419 -0
- package/bin/lib/init.js +103 -0
- package/bin/lib/nails.c +81 -0
- package/bin/lib/nails.js +23 -0
- package/bin/lib/test.js +4 -0
- package/index.js +6 -0
- package/lib/application.js +24 -0
- package/lib/collection.js +6 -0
- package/lib/controller.js +182 -0
- package/lib/database_connector.js +12 -0
- package/lib/firebase_connector.js +94 -0
- package/lib/model_v2.js +24 -0
- package/lib/mongoose_connector.js +49 -0
- package/lib/mongoose_mem_connector.js +21 -0
- package/lib/nails.js +244 -0
- package/lib/router.js +202 -0
- package/lib/sequelize_connector.js +31 -0
- package/lib/server.js +1 -0
- package/package.json +60 -0
- package/scripts/install.js +57 -0
- package/scripts/uninstall.js +23 -0
- package/spec/bin/init.spec.js +0 -0
- package/spec/controller.spec.js +105 -0
- package/spec/model_v2.spec.js +75 -0
- package/spec/mongodb_connector.util.js +30 -0
- package/spec/mongoose_connector.util.js +20 -0
- package/spec/nails.spec.js +0 -0
- package/spec/router.spec.js +101 -0
- package/spec/sequelize_connector.spec.js +91 -0
- package/spec/sequelize_connector.util.js +18 -0
- package/spec/services/integration/README.md +5 -0
- package/spec/services/integration/client/css/styles.css +0 -0
- package/spec/services/integration/client/download.jpg +0 -0
- package/spec/services/integration/client/favicon.ico +0 -0
- package/spec/services/integration/client/index.html +9 -0
- package/spec/services/integration/client/js/client.js +0 -0
- package/spec/services/integration/client/js/components/app.jsx +15 -0
- package/spec/services/integration/config/db.js +14 -0
- package/spec/services/integration/config/mimes.js +61 -0
- package/spec/services/integration/config/routes.js +41 -0
- package/spec/services/integration/config/service.js +48 -0
- package/spec/services/integration/config/ssl/certificate.pem +22 -0
- package/spec/services/integration/config/ssl/csr.csr +17 -0
- package/spec/services/integration/config/ssl/key.pem +28 -0
- package/spec/services/integration/config/ssl/private_key.pem +30 -0
- package/spec/services/integration/config/ssl/public_key.pem +9 -0
- package/spec/services/integration/package.json +23 -0
- package/spec/services/integration/server/controllers/classbased_controller.js +33 -0
- package/spec/services/integration/server/controllers/default_json_controller.js +20 -0
- package/spec/services/integration/server/controllers/error_controller.js +27 -0
- package/spec/services/integration/server/controllers/home_controller.js +39 -0
- package/spec/services/integration/server/controllers/json_controller.js +15 -0
- package/spec/services/integration/server/controllers/manualrenderasync_controller.js +14 -0
- package/spec/services/integration/server/controllers/mjs_controller.mjs +13 -0
- package/spec/services/integration/server/controllers/modeltest_controller.js +18 -0
- package/spec/services/integration/server/controllers/websocket_controller.js +13 -0
- package/spec/services/integration/server/models/dog.js +6 -0
- package/spec/services/integration/server/views/defaultjson/testnojson.ejs +1 -0
- package/spec/services/integration/server/views/testreact/testreact.ejs +15 -0
- package/spec/services/integration/server.js +9 -0
- package/spec/services/integration_sequelize/README.md +5 -0
- package/spec/services/integration_sequelize/client/css/styles.css +0 -0
- package/spec/services/integration_sequelize/client/download.jpg +0 -0
- package/spec/services/integration_sequelize/client/favicon.ico +0 -0
- package/spec/services/integration_sequelize/client/index.html +9 -0
- package/spec/services/integration_sequelize/client/js/client.js +0 -0
- package/spec/services/integration_sequelize/client/js/components/app.jsx +15 -0
- package/spec/services/integration_sequelize/config/db.js +4 -0
- package/spec/services/integration_sequelize/config/mimes.js +61 -0
- package/spec/services/integration_sequelize/config/routes.js +25 -0
- package/spec/services/integration_sequelize/config/service.js +48 -0
- package/spec/services/integration_sequelize/config/ssl/certificate.pem +22 -0
- package/spec/services/integration_sequelize/config/ssl/csr.csr +17 -0
- package/spec/services/integration_sequelize/config/ssl/key.pem +28 -0
- package/spec/services/integration_sequelize/config/ssl/private_key.pem +30 -0
- package/spec/services/integration_sequelize/config/ssl/public_key.pem +9 -0
- package/spec/services/integration_sequelize/package.json +23 -0
- package/spec/services/integration_sequelize/server/controllers/default_json_controller.js +21 -0
- package/spec/services/integration_sequelize/server/controllers/home_controller.js +39 -0
- package/spec/services/integration_sequelize/server/models/dog.js +7 -0
- package/spec/services/integration_sequelize/server/models/owner.js +10 -0
- package/spec/services/integration_sequelize/server/views/defaultjson/testnojson.ejs +1 -0
- package/spec/services/integration_sequelize/server/views/testreact/testreact.ejs +15 -0
- package/spec/services/integration_sequelize/server.js +9 -0
- package/spec/services.integration.spec.js +296 -0
- package/spec/services.integration_sequelize.spec.js +60 -0
- package/templates/bin/promote.sh +20 -0
- package/templates/bin/rollout.sh +74 -0
- package/templates/bin/server.js +6 -0
- package/templates/bin/start.sh +16 -0
- package/templates/common/readme_fetcher.js +4 -0
- package/templates/config/db.js +19 -0
- package/templates/config/mimes.js +59 -0
- package/templates/config/routes.js +38 -0
- package/templates/config/service.js +45 -0
- package/templates/config/ssl/certificate.pem +22 -0
- package/templates/config/ssl/csr.csr +17 -0
- package/templates/config/ssl/key.pem +28 -0
- package/templates/config/ssl/private_key.pem +30 -0
- package/templates/config/ssl/public_key.pem +9 -0
- package/templates/default/bin/promote.sh +20 -0
- package/templates/default/bin/rollout.sh +74 -0
- package/templates/default/bin/server.js +6 -0
- package/templates/default/bin/start.sh +16 -0
- package/templates/default/common/readme_fetcher.js +4 -0
- package/templates/default/config/db.js +19 -0
- package/templates/default/config/mimes.js +59 -0
- package/templates/default/config/routes.js +38 -0
- package/templates/default/config/service.js +45 -0
- package/templates/default/config/ssl/certificate.pem +22 -0
- package/templates/default/config/ssl/csr.csr +17 -0
- package/templates/default/config/ssl/key.pem +28 -0
- package/templates/default/config/ssl/private_key.pem +30 -0
- package/templates/default/config/ssl/public_key.pem +9 -0
- package/templates/default/package-lock.json +9048 -0
- package/templates/default/package.json +43 -0
- package/templates/default/public/README.xml +332 -0
- package/templates/default/public/css/styles.css +17 -0
- package/templates/default/public/download.jpg +0 -0
- package/templates/default/public/favicon.ico +0 -0
- package/templates/default/public/index.html +9 -0
- package/templates/default/public/js/client.js +1 -0
- package/templates/default/server/controllers/home_controller.js +34 -0
- package/templates/default/server/models/User.js +18 -0
- package/templates/default/server/views/home/index.ejs +14 -0
- package/templates/default/server/views/partials/javascripts.ejs +1 -0
- package/templates/default/server/views/partials/reactapp.ejs +1 -0
- package/templates/default/server/views/partials/styles.ejs +3 -0
- package/templates/default/spec/User.test.js +20 -0
- package/templates/default/spec/home_controller.test.js +28 -0
- package/templates/default/spec/setupTests.js +0 -0
- package/templates/default/src/AboutPage.jsx +9 -0
- package/templates/default/src/HomePage.jsx +9 -0
- package/templates/default/src/Layout.jsx +78 -0
- package/templates/default/src/ReadmePage.jsx +7 -0
- package/templates/default/src/app.jsx +29 -0
- package/templates/default/src/components/ReadmeLoader.jsx +13 -0
- package/templates/default/src/styles/appstyles.css +3 -0
- package/templates/default/vite.config.ts +42 -0
- package/templates/package-lock.json +9048 -0
- package/templates/package.json +43 -0
- package/templates/public/README.xml +332 -0
- package/templates/public/css/styles.css +17 -0
- package/templates/public/download.jpg +0 -0
- package/templates/public/favicon.ico +0 -0
- package/templates/public/index.html +9 -0
- package/templates/public/js/client.js +1 -0
- package/templates/server/controllers/home_controller.js +34 -0
- package/templates/server/models/User.js +18 -0
- package/templates/server/views/home/index.ejs +14 -0
- package/templates/server/views/partials/javascripts.ejs +1 -0
- package/templates/server/views/partials/reactapp.ejs +1 -0
- package/templates/server/views/partials/styles.ejs +3 -0
- package/templates/spec/User.test.js +20 -0
- package/templates/spec/home_controller.test.js +28 -0
- package/templates/spec/setupTests.js +0 -0
- package/templates/src/AboutPage.jsx +9 -0
- package/templates/src/HomePage.jsx +9 -0
- package/templates/src/Layout.jsx +78 -0
- package/templates/src/ReadmePage.jsx +7 -0
- package/templates/src/app.jsx +29 -0
- package/templates/src/components/ReadmeLoader.jsx +13 -0
- package/templates/src/styles/appstyles.css +3 -0
- package/templates/vite.config.ts +42 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
-----BEGIN CERTIFICATE REQUEST-----
|
|
2
|
+
MIICrDCCAZQCAQAwZzELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMQ4wDAYDVQQK
|
|
3
|
+
DAVOYWlsczESMBAGA1UEAwwJbG9jYWxob3N0MScwJQYJKoZIhvcNAQkBFhhhZG1p
|
|
4
|
+
bkBwcm9qZWN0aW52aWN0YS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
|
|
5
|
+
AoIBAQCz+eKxg4NS6OxUrKuMb7znorFiyc202TfobMS98rXMb5N6InVaGQw35Ayd
|
|
6
|
+
UAaDxYyMh5SWQrwupiTHmNzYm59c2QLbEk/OAwmEvHNG0AGxFHPjsEpjaVS0BJZ0
|
|
7
|
+
wCsqGP+4s4+e/aebke1iw5kpNnOIoHqozgEJ/66wty6/g6+hwN5XBEA+4POzkM+y
|
|
8
|
+
QkWOqeRPfNBzvNYJJ58aHb3kKIG63okPjDsAvajzsHyYwF/6pE1nNUlyIldkrJKC
|
|
9
|
+
ADU2xrozB2WWSGmOWuaFmfaQCkdG2rEgIxAjJq9f1AihmXqLdAGUSjAUh6eppR5R
|
|
10
|
+
OSyxSB+ej2kU4LkgYbK5XgVnLlHFAgMBAAGgADANBgkqhkiG9w0BAQsFAAOCAQEA
|
|
11
|
+
U9LsZPK6UDQJFNCVAwDQszIE8Jt5LsNR/h7/ljp98T2BEW5+i7kPGCF+sIzkafQR
|
|
12
|
+
1NEKrwq8nAHOoS7cbzTQCtRLHgKQ5edj/dWVEzDmhf07uvq2wc9QmBjw9DIWD9Hd
|
|
13
|
+
7P4FsOHEp++4h+CupNwLaMrisggsWtVihvqpSJxWt3IzvoqWKldBfIZfR1nf2Tl+
|
|
14
|
+
2N1taAX+LHWQwzoq5xMMxmtQgabZk5kbeJ2K+NyxP3msjmREsRn0+TWzw9sTU6qu
|
|
15
|
+
9EZtiW6xje2KlvjSmRP7pvJg17GbtqCHSVWamcHqs/HE69SZhgY/iWJk7eIJhSY3
|
|
16
|
+
/b5srd0URvtlTivyQgsfUg==
|
|
17
|
+
-----END CERTIFICATE REQUEST-----
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
-----BEGIN PRIVATE KEY-----
|
|
2
|
+
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCz+eKxg4NS6OxU
|
|
3
|
+
rKuMb7znorFiyc202TfobMS98rXMb5N6InVaGQw35AydUAaDxYyMh5SWQrwupiTH
|
|
4
|
+
mNzYm59c2QLbEk/OAwmEvHNG0AGxFHPjsEpjaVS0BJZ0wCsqGP+4s4+e/aebke1i
|
|
5
|
+
w5kpNnOIoHqozgEJ/66wty6/g6+hwN5XBEA+4POzkM+yQkWOqeRPfNBzvNYJJ58a
|
|
6
|
+
Hb3kKIG63okPjDsAvajzsHyYwF/6pE1nNUlyIldkrJKCADU2xrozB2WWSGmOWuaF
|
|
7
|
+
mfaQCkdG2rEgIxAjJq9f1AihmXqLdAGUSjAUh6eppR5ROSyxSB+ej2kU4LkgYbK5
|
|
8
|
+
XgVnLlHFAgMBAAECggEAJRJufyk7VkszTxfIOGPV0hLhnhs6e6uYyBALkKLbjtJW
|
|
9
|
+
2vwZFyd8rFCVxpuy09bP5iyRT0hM0gEYJ2MV7qpTr8DlxTFm7eUTQ1u8FRSInKy9
|
|
10
|
+
WGO6VvLd5zzgrwjce03t8uJNza6rJTDwaH0o4ePc9YI08euJLEGV/sGk5/8coOEr
|
|
11
|
+
sdczGdxxumLEew9vwjDbIFuuVr4YHn/qs6h8DzEg595jWBibWxqVx4JvKTAMCmeM
|
|
12
|
+
oLi251i2y3NLoKRd/+MOQ1WW9fLMiA1/cbhICqp3hGCGRv/g71bM0DVPsfmSPwGt
|
|
13
|
+
Jm+Wtv12gmRqfDw5N+hJxAIUiW1CqU9SAZDmrPV+ewKBgQD373V/fBV1x73Mhbsr
|
|
14
|
+
+4IZxmp4CbLeT2aUFMThLfTCfs7zNL4VRfHwSw6n503YNANmBqBq8bKcNQqmTnXH
|
|
15
|
+
EKvc7liSfSn0STLZtrubHkNe5t2TvUUQNOQBENsU0S8nS+ei+E0xJ6wey2TjN23F
|
|
16
|
+
0CoEbh8/xhH0hoLT3B3GcAwNtwKBgQC51IjKPdlo1jmIUjNcGz76SpcMowkWp0+s
|
|
17
|
+
qAEh0ksSCh1Pn4G+YhgoFmFcUahwkyP2CmAtHUrL+atw4b22/jHiJN/IfyhUPP31
|
|
18
|
+
0ereRpi33m2dImz6PzistyM0jPdMAKz+W2wEBmOF6Z78MgaxUZm3s0CeXGYkzWoH
|
|
19
|
+
iLQGJyMcYwKBgQDjtusTy8NqCaooziq6mqVDRxlCZqYByKtOFkU9DBhhClbIyQhM
|
|
20
|
+
QZGUQVuUmrzEdgEpE60CjDqffZfqZuWFj6pJoB95a7u8wf4SN+LW9VSrNR8NMijc
|
|
21
|
+
WbePwwt0cyv7y5tT8vnyy50qK2Tdy2rm4+mzZ/ELgb+79k7yhphSSVbIwQKBgC1u
|
|
22
|
+
LjrzP/GHXe1b2z6LUqwyDBeEzDYDlVDqicxQ8xVn756Fqlx28tzqC8dcF0feUQ5X
|
|
23
|
+
nweof566XRVtusm//0YAKc2EeMGPX673MOpCbBeXg0jFH8tWJW7kHvE7/UFRcPmG
|
|
24
|
+
NDQPs8kLQlj5ifVTs7bbVdLhV/9rUJ6i5xASBV1tAoGAAess1DjK1jnX+v6h0/OP
|
|
25
|
+
GFgg2cFB1ZarAstYHgLrLu+1Iuj9RDuTNwyiQDwT8gbz4i43o4zWE0NhQwlhJ84K
|
|
26
|
+
EY5BgS8a7sILoZjo+Mfd06bQy0AhgmYtW8mojh9/9vfg42mE2bIlSVLnbWnSkvID
|
|
27
|
+
jTFVReA7tpBS7h/Q6rW2hM8=
|
|
28
|
+
-----END PRIVATE KEY-----
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
-----BEGIN ENCRYPTED PRIVATE KEY-----
|
|
2
|
+
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
|
|
30
|
+
-----END ENCRYPTED PRIVATE KEY-----
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
---- BEGIN SSH2 PUBLIC KEY ----
|
|
2
|
+
Comment: "2048-bit RSA, converted by stantonwjones@darkmatter.lan from"
|
|
3
|
+
AAAAB3NzaC1yc2EAAAADAQABAAABAQDPJQsK/daFi/b+7bOSEJcKdzjvNJygX3BvMQ4HY+
|
|
4
|
+
JJaiSDyQgtwc8K85XDH0/eWyu5a6OzbadU3SkSdYP+0+uTdxfxRUCChKoASIoAaAfwB/BW
|
|
5
|
+
WOIdsuGPhJjYiLnPL4SScFdjUbJXGP5JOSQ6wgsRdqsDeQezUjF0CvR1CXoJaqRQt7p5T9
|
|
6
|
+
TlRzzuhN5Vf6BDpXBPTcNyUGKCaUwGQn2QmpXzRXrAZNb7XpzBSXdpUWm9W7U9zCFHva7J
|
|
7
|
+
XCuXsC9yMy3w1mpbL+oFBx7Wvic5FqwnATXjM7xBSqcG4tYzrISyn5pj13cIzzk9aEPRI3
|
|
8
|
+
qhV6kiA62JofiX1RkxMP+j
|
|
9
|
+
---- END SSH2 PUBLIC KEY ----
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
version=$1
|
|
2
|
+
if [ "$version" == "" ]; then
|
|
3
|
+
version="live"
|
|
4
|
+
fi
|
|
5
|
+
|
|
6
|
+
if [ "$version" != "live" ] &&
|
|
7
|
+
[ "$version" != "development" ] &&
|
|
8
|
+
[ "$version" != "staging_qa" ] &&
|
|
9
|
+
[ "$version" != "staging_prod" ] &&
|
|
10
|
+
[ "$version" != "production" ]; then
|
|
11
|
+
echo "$version is not a valid version"
|
|
12
|
+
exit 1
|
|
13
|
+
fi
|
|
14
|
+
|
|
15
|
+
# TODO: make sure we're on the master branch
|
|
16
|
+
git pull origin master
|
|
17
|
+
git tag -d $version
|
|
18
|
+
git push origin --delete $version
|
|
19
|
+
git tag $version
|
|
20
|
+
git push origin $version
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# make sure no one can run the script on their local machine
|
|
2
|
+
stage=$1
|
|
3
|
+
if [ "$stage" = "" ]; then
|
|
4
|
+
stage="live"
|
|
5
|
+
fi
|
|
6
|
+
|
|
7
|
+
if [ "$stage" != "live" ] &&
|
|
8
|
+
[ "$stage" != "development" ] &&
|
|
9
|
+
[ "$stage" != "staging_qa" ] &&
|
|
10
|
+
[ "$stage" != "staging_prod" ] &&
|
|
11
|
+
[ "$stage" != "production" ]; then
|
|
12
|
+
echo "$stage is not a valid release stage"
|
|
13
|
+
exit 1
|
|
14
|
+
fi
|
|
15
|
+
|
|
16
|
+
current_hostname=$(hostname)
|
|
17
|
+
|
|
18
|
+
# TODO: find a better way to do this rather than listing them all out. Maybe some kind of dynamic list checking.
|
|
19
|
+
com_suffix=".com"
|
|
20
|
+
dev_suffix=".dev"
|
|
21
|
+
app_suffix=".app"
|
|
22
|
+
net_suffix=".net"
|
|
23
|
+
org_suffix=".org"
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
if [[ $current_hostname != *$com_suffix &&
|
|
27
|
+
$current_hostname != *$dev_suffix &&
|
|
28
|
+
$current_hostname != *$app_suffix &&
|
|
29
|
+
$current_hostname != *$net_suffix &&
|
|
30
|
+
$current_hostname != *$org_suffix ]]; then
|
|
31
|
+
echo "This script cannot be run on your local machine and must be run on a server"
|
|
32
|
+
exit 1
|
|
33
|
+
fi
|
|
34
|
+
|
|
35
|
+
echo "Running checkout_live.sh version $stage on `date`"
|
|
36
|
+
|
|
37
|
+
# check if the repo is up to date by comparing hashes for the live tag
|
|
38
|
+
remote_hash=$(git ls-remote --tags origin "$stage" | awk '{ print $1 }')
|
|
39
|
+
local_hash=$(git rev-list -n 1 $stage)
|
|
40
|
+
|
|
41
|
+
# get the latest updates from the repo if out of date
|
|
42
|
+
if [ $remote_hash != $local_hash ]; then
|
|
43
|
+
date=`date`
|
|
44
|
+
echo "Checkout $NAME running at: $date"
|
|
45
|
+
echo "Checkout $NAME running at: $date" 1>&2 # write date to stderr as well
|
|
46
|
+
echo "`dirname $0`"
|
|
47
|
+
echo "`dirname $0`" 1>&2
|
|
48
|
+
git fetch --all --tags --force
|
|
49
|
+
git checkout tags/$stage
|
|
50
|
+
npm install
|
|
51
|
+
else
|
|
52
|
+
echo "Repository is not out of date. Exiting..."
|
|
53
|
+
exit 0
|
|
54
|
+
fi
|
|
55
|
+
|
|
56
|
+
# TODO: add conditional when real test added
|
|
57
|
+
|
|
58
|
+
# test
|
|
59
|
+
npm test # currently an echo noop
|
|
60
|
+
|
|
61
|
+
# restart parkway
|
|
62
|
+
/usr/sbin/service $NAME-$stage restart
|
|
63
|
+
|
|
64
|
+
changelog=`git log $local_hash..$remote_hash --oneline`
|
|
65
|
+
|
|
66
|
+
# send email
|
|
67
|
+
user=$(whoami)
|
|
68
|
+
message="The latest $NAME changes have been deployed to $stage at $date by $user\n$changelog"
|
|
69
|
+
recipient="eng@projectinvicta.com"
|
|
70
|
+
subject="Automated deploy of $NAME: $stage"
|
|
71
|
+
echo $message | mail -s "$subject" $recipient
|
|
72
|
+
echo "Mail sent"
|
|
73
|
+
|
|
74
|
+
exit 0
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
SCRIPT_DIR=$(dirname "$0")
|
|
2
|
+
echo "Script directory (relative): $SCRIPT_DIR"
|
|
3
|
+
|
|
4
|
+
COMMAND=$1
|
|
5
|
+
if [[ -z "${COMMAND}" ]]; then
|
|
6
|
+
COMMAND=start
|
|
7
|
+
else
|
|
8
|
+
echo "COMMAND is NOT empty."
|
|
9
|
+
fi
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
SCRIPT_PATH=$(readlink -f "$0")
|
|
13
|
+
SCRIPT_DIR=$(dirname "$SCRIPT_PATH")
|
|
14
|
+
echo "Script directory (absolute, resolved): $SCRIPT_DIR"
|
|
15
|
+
|
|
16
|
+
npm --prefix=$SCRIPT_DIR/.. run $COMMAND -- $2 $3 $4 $5 $6 $7 $8 $9
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
let DB_ADDRESS = process.env.NAILS_SQLITE_DB_FILE;
|
|
2
|
+
if (!DB_ADDRESS) DB_ADDRESS = 'sqlite://' + import.meta.dirname + '/development.db';
|
|
3
|
+
|
|
4
|
+
export default {
|
|
5
|
+
/** Mongoose Connector */
|
|
6
|
+
// connector: 'mongoose_connector.js',
|
|
7
|
+
// url: 'mongodb://localhost',
|
|
8
|
+
// port: '27017',
|
|
9
|
+
|
|
10
|
+
/** Mongoose Memory Server Connector */
|
|
11
|
+
// connector: 'mongoose_mem_connector.js',
|
|
12
|
+
// database: 'development',
|
|
13
|
+
|
|
14
|
+
/** Sequelize Connector */
|
|
15
|
+
connector: 'sequelize_connector.js',
|
|
16
|
+
address: process.env.NAILS_RELEASE_STAGE == 'test'
|
|
17
|
+
? 'sqlite::memory:'
|
|
18
|
+
: DB_ADDRESS,
|
|
19
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file uses file extensions in the request to determine
|
|
3
|
+
* the type of an asset and, therefore, where it can be found
|
|
4
|
+
* in the file system.
|
|
5
|
+
*
|
|
6
|
+
* Currently, the supported types are: 'js', 'css', 'html',
|
|
7
|
+
* 'img'
|
|
8
|
+
* TODO: Add supported types pdf ( or document ), and video
|
|
9
|
+
* TODO: move this file into nails. Too annoying for the dev
|
|
10
|
+
* to see and they shouldn't need to have to change it
|
|
11
|
+
*/
|
|
12
|
+
/*
|
|
13
|
+
var mimes = {
|
|
14
|
+
// <ext>: '<type>'
|
|
15
|
+
js: 'js',
|
|
16
|
+
jpg: 'image',
|
|
17
|
+
css: 'css',
|
|
18
|
+
html: 'html'
|
|
19
|
+
};
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
export default {
|
|
23
|
+
html: {
|
|
24
|
+
type: 'page',
|
|
25
|
+
contentType: 'text/html'
|
|
26
|
+
},
|
|
27
|
+
js: {
|
|
28
|
+
type: 'script', // the type of the script,
|
|
29
|
+
contentType: 'application/javascript' // Header info
|
|
30
|
+
},
|
|
31
|
+
css: {
|
|
32
|
+
type: 'style',
|
|
33
|
+
contentType: 'text/css'
|
|
34
|
+
},
|
|
35
|
+
ico: {
|
|
36
|
+
type: 'image',
|
|
37
|
+
contentType: 'image/x-icon'
|
|
38
|
+
},
|
|
39
|
+
jpg: {
|
|
40
|
+
type: 'image',
|
|
41
|
+
contentType: 'image/jpeg'
|
|
42
|
+
},
|
|
43
|
+
png: {
|
|
44
|
+
type: 'image',
|
|
45
|
+
contentType: 'image/png'
|
|
46
|
+
},
|
|
47
|
+
pdf: {
|
|
48
|
+
type: 'document',
|
|
49
|
+
contentType: 'application/pdf'
|
|
50
|
+
},
|
|
51
|
+
xml: {
|
|
52
|
+
type: 'data',
|
|
53
|
+
contentType: 'text/xml'
|
|
54
|
+
},
|
|
55
|
+
json: {
|
|
56
|
+
type: 'data',
|
|
57
|
+
contentType: 'application/json'
|
|
58
|
+
}
|
|
59
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Routes specifies the array of route definitions to be passed to the router
|
|
3
|
+
*
|
|
4
|
+
* Routes are checked in series, and the first matching route is applied.
|
|
5
|
+
* A route definition is as follows:
|
|
6
|
+
* ['METHOD', 'MATCHER', 'OPTIONS']
|
|
7
|
+
*
|
|
8
|
+
* METHOD => crud methods (GET, PUT, POST, DELETE)
|
|
9
|
+
* MATCHER => to be matched against the path. Captured elements will be passed to options. Delegates to express application routing.
|
|
10
|
+
* OPTIONS => an object with parametes deciding how the route will be handled in order of execution:
|
|
11
|
+
* path: => the path to a static file ( index.html f/e)
|
|
12
|
+
* controller: => controller to route the request to. TODO: May implement a resource definition for automatically routing cruds
|
|
13
|
+
* action: => the method to run in the controller. If not specified, the index method will be called.
|
|
14
|
+
* [1..n]: => each numerical definition defines a parameter in which to store the value of the captured elements in the regex.
|
|
15
|
+
* controller, and action are protected names and will apply the cature to controller name and method respectively.
|
|
16
|
+
* f/e: ['get', /\/(home)/, {0: 'controller'}] => routes to home controller
|
|
17
|
+
* ['get, '/\/home\/(5)/, {controller: 'home', 0: 'id'}] => routes to home controller and adds {id: 5} to the params hash.
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
export default [
|
|
21
|
+
// Routes the root request to index.html, as well as all other requests to static
|
|
22
|
+
['get', "/", {controller: 'home'}],
|
|
23
|
+
// Routes all requests starting with /public as static requests to the public folder.
|
|
24
|
+
['get', '/public', {public: true}],
|
|
25
|
+
|
|
26
|
+
// A test route which routes the first part of pathname to controller and the second to the action
|
|
27
|
+
// ['get', /^\/(\w+)\/(\w+)$/i, {0: 'controller', 1: 'action'}],
|
|
28
|
+
|
|
29
|
+
// Maps the first two parts of the path to controller and action, and the third to the id parameter
|
|
30
|
+
// ['get', "/:controller/:action/:id"],
|
|
31
|
+
|
|
32
|
+
// For all other GET requests, render HomeController#index
|
|
33
|
+
['get', '/:catchall', {controller: 'home'}],
|
|
34
|
+
|
|
35
|
+
// Defines a WebSocket handler
|
|
36
|
+
// ['ws', "/:controller/:action/:id"]
|
|
37
|
+
];
|
|
38
|
+
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
// Initializes application before server starts
|
|
2
|
+
// Each of these is REQUIRED
|
|
3
|
+
import routes from './routes.js';
|
|
4
|
+
import mimes from './mimes.js';
|
|
5
|
+
import db from './db.js';
|
|
6
|
+
|
|
7
|
+
import path from 'node:path';
|
|
8
|
+
var SERVER_ROOT = path.resolve(import.meta.dirname, '..');
|
|
9
|
+
var APP_ROOT = path.resolve(SERVER_ROOT, 'server');
|
|
10
|
+
|
|
11
|
+
// Only for reading the certificates for SSL
|
|
12
|
+
import fs from 'node:fs';
|
|
13
|
+
const PRIVATE_KEY_FILE = fs.readFileSync(`${import.meta.dirname}/ssl/key.pem`);
|
|
14
|
+
const CERTIFICATE_FILE = fs.readFileSync(`${import.meta.dirname}/ssl/certificate.pem`);
|
|
15
|
+
|
|
16
|
+
var config = {
|
|
17
|
+
APP_ROOT: APP_ROOT,
|
|
18
|
+
// root directory for delivering static assets
|
|
19
|
+
PUBLIC_ROOT: SERVER_ROOT + '/public',
|
|
20
|
+
CONTROLLERS_ROOT: APP_ROOT + '/controllers',
|
|
21
|
+
VIEWS_ROOT: APP_ROOT + '/views',
|
|
22
|
+
MODELS_ROOT: APP_ROOT + '/models',
|
|
23
|
+
SERVER_ROOT: SERVER_ROOT,
|
|
24
|
+
|
|
25
|
+
ENABLE_HTTP: true,
|
|
26
|
+
//IP: "0.0.0.0",
|
|
27
|
+
PORT: 3333,
|
|
28
|
+
|
|
29
|
+
// Uncomment these to use serverside react view engine.
|
|
30
|
+
//VIEW_ENGINE: require('express-react-views').createEngine(),
|
|
31
|
+
//VIEW_ENGINE_EXT: 'jsx',
|
|
32
|
+
|
|
33
|
+
// For HTTPS
|
|
34
|
+
ENABLE_HTTPS: true,
|
|
35
|
+
SSL_PORT: 3334,
|
|
36
|
+
PRIVATE_KEY: PRIVATE_KEY_FILE,
|
|
37
|
+
CERTIFICATE: CERTIFICATE_FILE,
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
export default {
|
|
41
|
+
config,
|
|
42
|
+
routes,
|
|
43
|
+
mimes,
|
|
44
|
+
db
|
|
45
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
|
2
|
+
MIIDrzCCApegAwIBAgIUR04h3qlfhW5SYQrnm0VjDSLQrwUwDQYJKoZIhvcNAQEL
|
|
3
|
+
BQAwZzELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMQ4wDAYDVQQKDAVOYWlsczES
|
|
4
|
+
MBAGA1UEAwwJbG9jYWxob3N0MScwJQYJKoZIhvcNAQkBFhhhZG1pbkBwcm9qZWN0
|
|
5
|
+
aW52aWN0YS5jb20wHhcNMjMwODMwMDE1MzUzWhcNMjQwODI5MDE1MzUzWjBnMQsw
|
|
6
|
+
CQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExDjAMBgNVBAoMBU5haWxzMRIwEAYDVQQD
|
|
7
|
+
DAlsb2NhbGhvc3QxJzAlBgkqhkiG9w0BCQEWGGFkbWluQHByb2plY3RpbnZpY3Rh
|
|
8
|
+
LmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALP54rGDg1Lo7FSs
|
|
9
|
+
q4xvvOeisWLJzbTZN+hsxL3ytcxvk3oidVoZDDfkDJ1QBoPFjIyHlJZCvC6mJMeY
|
|
10
|
+
3Nibn1zZAtsST84DCYS8c0bQAbEUc+OwSmNpVLQElnTAKyoY/7izj579p5uR7WLD
|
|
11
|
+
mSk2c4igeqjOAQn/rrC3Lr+Dr6HA3lcEQD7g87OQz7JCRY6p5E980HO81gknnxod
|
|
12
|
+
veQogbreiQ+MOwC9qPOwfJjAX/qkTWc1SXIiV2SskoIANTbGujMHZZZIaY5a5oWZ
|
|
13
|
+
9pAKR0basSAjECMmr1/UCKGZeot0AZRKMBSHp6mlHlE5LLFIH56PaRTguSBhsrle
|
|
14
|
+
BWcuUcUCAwEAAaNTMFEwHQYDVR0OBBYEFCigQMRd+cKymXdHgew3JMEcokv0MB8G
|
|
15
|
+
A1UdIwQYMBaAFCigQMRd+cKymXdHgew3JMEcokv0MA8GA1UdEwEB/wQFMAMBAf8w
|
|
16
|
+
DQYJKoZIhvcNAQELBQADggEBAD5ZtQ3XLBzOiJoICcRA0evC/59gt2kKw1owOLJy
|
|
17
|
+
Ji4rtoWCis8nr3R1U62KUENZ//WRy09uNPHfjsaFwuvgO+GWn53Q3breCEO1r2lH
|
|
18
|
+
z5qWUAdb7WpoZWZJdj6wZoJQeKQoK8fVCVNNPNHwhZRK2P2SWhn5v/7Qco5JMP8+
|
|
19
|
+
qpIbAzjKOoHiz1238JYXJ5G1tMVMfVvQpC1E+KM9p9Bohtuc51pYMssT31WPBoOv
|
|
20
|
+
TBcIarZ8ri6VBAh/+aUpce0BqOEtZ1oa6Mnd2w5GeqgtV+G7ir5g0uXZjOFrh5A7
|
|
21
|
+
c6J3QmpeF3kfs+Ggsxh/fRrnK1VDDtWQ/mF/3Jrq43JoP0E=
|
|
22
|
+
-----END CERTIFICATE-----
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
-----BEGIN CERTIFICATE REQUEST-----
|
|
2
|
+
MIICrDCCAZQCAQAwZzELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMQ4wDAYDVQQK
|
|
3
|
+
DAVOYWlsczESMBAGA1UEAwwJbG9jYWxob3N0MScwJQYJKoZIhvcNAQkBFhhhZG1p
|
|
4
|
+
bkBwcm9qZWN0aW52aWN0YS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
|
|
5
|
+
AoIBAQCz+eKxg4NS6OxUrKuMb7znorFiyc202TfobMS98rXMb5N6InVaGQw35Ayd
|
|
6
|
+
UAaDxYyMh5SWQrwupiTHmNzYm59c2QLbEk/OAwmEvHNG0AGxFHPjsEpjaVS0BJZ0
|
|
7
|
+
wCsqGP+4s4+e/aebke1iw5kpNnOIoHqozgEJ/66wty6/g6+hwN5XBEA+4POzkM+y
|
|
8
|
+
QkWOqeRPfNBzvNYJJ58aHb3kKIG63okPjDsAvajzsHyYwF/6pE1nNUlyIldkrJKC
|
|
9
|
+
ADU2xrozB2WWSGmOWuaFmfaQCkdG2rEgIxAjJq9f1AihmXqLdAGUSjAUh6eppR5R
|
|
10
|
+
OSyxSB+ej2kU4LkgYbK5XgVnLlHFAgMBAAGgADANBgkqhkiG9w0BAQsFAAOCAQEA
|
|
11
|
+
U9LsZPK6UDQJFNCVAwDQszIE8Jt5LsNR/h7/ljp98T2BEW5+i7kPGCF+sIzkafQR
|
|
12
|
+
1NEKrwq8nAHOoS7cbzTQCtRLHgKQ5edj/dWVEzDmhf07uvq2wc9QmBjw9DIWD9Hd
|
|
13
|
+
7P4FsOHEp++4h+CupNwLaMrisggsWtVihvqpSJxWt3IzvoqWKldBfIZfR1nf2Tl+
|
|
14
|
+
2N1taAX+LHWQwzoq5xMMxmtQgabZk5kbeJ2K+NyxP3msjmREsRn0+TWzw9sTU6qu
|
|
15
|
+
9EZtiW6xje2KlvjSmRP7pvJg17GbtqCHSVWamcHqs/HE69SZhgY/iWJk7eIJhSY3
|
|
16
|
+
/b5srd0URvtlTivyQgsfUg==
|
|
17
|
+
-----END CERTIFICATE REQUEST-----
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
-----BEGIN PRIVATE KEY-----
|
|
2
|
+
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCz+eKxg4NS6OxU
|
|
3
|
+
rKuMb7znorFiyc202TfobMS98rXMb5N6InVaGQw35AydUAaDxYyMh5SWQrwupiTH
|
|
4
|
+
mNzYm59c2QLbEk/OAwmEvHNG0AGxFHPjsEpjaVS0BJZ0wCsqGP+4s4+e/aebke1i
|
|
5
|
+
w5kpNnOIoHqozgEJ/66wty6/g6+hwN5XBEA+4POzkM+yQkWOqeRPfNBzvNYJJ58a
|
|
6
|
+
Hb3kKIG63okPjDsAvajzsHyYwF/6pE1nNUlyIldkrJKCADU2xrozB2WWSGmOWuaF
|
|
7
|
+
mfaQCkdG2rEgIxAjJq9f1AihmXqLdAGUSjAUh6eppR5ROSyxSB+ej2kU4LkgYbK5
|
|
8
|
+
XgVnLlHFAgMBAAECggEAJRJufyk7VkszTxfIOGPV0hLhnhs6e6uYyBALkKLbjtJW
|
|
9
|
+
2vwZFyd8rFCVxpuy09bP5iyRT0hM0gEYJ2MV7qpTr8DlxTFm7eUTQ1u8FRSInKy9
|
|
10
|
+
WGO6VvLd5zzgrwjce03t8uJNza6rJTDwaH0o4ePc9YI08euJLEGV/sGk5/8coOEr
|
|
11
|
+
sdczGdxxumLEew9vwjDbIFuuVr4YHn/qs6h8DzEg595jWBibWxqVx4JvKTAMCmeM
|
|
12
|
+
oLi251i2y3NLoKRd/+MOQ1WW9fLMiA1/cbhICqp3hGCGRv/g71bM0DVPsfmSPwGt
|
|
13
|
+
Jm+Wtv12gmRqfDw5N+hJxAIUiW1CqU9SAZDmrPV+ewKBgQD373V/fBV1x73Mhbsr
|
|
14
|
+
+4IZxmp4CbLeT2aUFMThLfTCfs7zNL4VRfHwSw6n503YNANmBqBq8bKcNQqmTnXH
|
|
15
|
+
EKvc7liSfSn0STLZtrubHkNe5t2TvUUQNOQBENsU0S8nS+ei+E0xJ6wey2TjN23F
|
|
16
|
+
0CoEbh8/xhH0hoLT3B3GcAwNtwKBgQC51IjKPdlo1jmIUjNcGz76SpcMowkWp0+s
|
|
17
|
+
qAEh0ksSCh1Pn4G+YhgoFmFcUahwkyP2CmAtHUrL+atw4b22/jHiJN/IfyhUPP31
|
|
18
|
+
0ereRpi33m2dImz6PzistyM0jPdMAKz+W2wEBmOF6Z78MgaxUZm3s0CeXGYkzWoH
|
|
19
|
+
iLQGJyMcYwKBgQDjtusTy8NqCaooziq6mqVDRxlCZqYByKtOFkU9DBhhClbIyQhM
|
|
20
|
+
QZGUQVuUmrzEdgEpE60CjDqffZfqZuWFj6pJoB95a7u8wf4SN+LW9VSrNR8NMijc
|
|
21
|
+
WbePwwt0cyv7y5tT8vnyy50qK2Tdy2rm4+mzZ/ELgb+79k7yhphSSVbIwQKBgC1u
|
|
22
|
+
LjrzP/GHXe1b2z6LUqwyDBeEzDYDlVDqicxQ8xVn756Fqlx28tzqC8dcF0feUQ5X
|
|
23
|
+
nweof566XRVtusm//0YAKc2EeMGPX673MOpCbBeXg0jFH8tWJW7kHvE7/UFRcPmG
|
|
24
|
+
NDQPs8kLQlj5ifVTs7bbVdLhV/9rUJ6i5xASBV1tAoGAAess1DjK1jnX+v6h0/OP
|
|
25
|
+
GFgg2cFB1ZarAstYHgLrLu+1Iuj9RDuTNwyiQDwT8gbz4i43o4zWE0NhQwlhJ84K
|
|
26
|
+
EY5BgS8a7sILoZjo+Mfd06bQy0AhgmYtW8mojh9/9vfg42mE2bIlSVLnbWnSkvID
|
|
27
|
+
jTFVReA7tpBS7h/Q6rW2hM8=
|
|
28
|
+
-----END PRIVATE KEY-----
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
-----BEGIN ENCRYPTED PRIVATE KEY-----
|
|
2
|
+
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
|
|
30
|
+
-----END ENCRYPTED PRIVATE KEY-----
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
---- BEGIN SSH2 PUBLIC KEY ----
|
|
2
|
+
Comment: "2048-bit RSA, converted by stantonwjones@darkmatter.lan from"
|
|
3
|
+
AAAAB3NzaC1yc2EAAAADAQABAAABAQDPJQsK/daFi/b+7bOSEJcKdzjvNJygX3BvMQ4HY+
|
|
4
|
+
JJaiSDyQgtwc8K85XDH0/eWyu5a6OzbadU3SkSdYP+0+uTdxfxRUCChKoASIoAaAfwB/BW
|
|
5
|
+
WOIdsuGPhJjYiLnPL4SScFdjUbJXGP5JOSQ6wgsRdqsDeQezUjF0CvR1CXoJaqRQt7p5T9
|
|
6
|
+
TlRzzuhN5Vf6BDpXBPTcNyUGKCaUwGQn2QmpXzRXrAZNb7XpzBSXdpUWm9W7U9zCFHva7J
|
|
7
|
+
XCuXsC9yMy3w1mpbL+oFBx7Wvic5FqwnATXjM7xBSqcG4tYzrISyn5pj13cIzzk9aEPRI3
|
|
8
|
+
qhV6kiA62JofiX1RkxMP+j
|
|
9
|
+
---- END SSH2 PUBLIC KEY ----
|