diff --git a/app/.dockerignore b/app/.dockerignore new file mode 100644 index 0000000..e7f8968 --- /dev/null +++ b/app/.dockerignore @@ -0,0 +1,4 @@ +node_modules/ +src/ +target/ +!target/vite/* diff --git a/app/.dockerignore b/app/.dockerignore new file mode 100644 index 0000000..e7f8968 --- /dev/null +++ b/app/.dockerignore @@ -0,0 +1,4 @@ +node_modules/ +src/ +target/ +!target/vite/* diff --git a/app/.env b/app/.env new file mode 100644 index 0000000..1928756 --- /dev/null +++ b/app/.env @@ -0,0 +1 @@ +COMPOSE_PROJECT_NAME=mdr_pdb_app diff --git a/app/.dockerignore b/app/.dockerignore new file mode 100644 index 0000000..e7f8968 --- /dev/null +++ b/app/.dockerignore @@ -0,0 +1,4 @@ +node_modules/ +src/ +target/ +!target/vite/* diff --git a/app/.env b/app/.env new file mode 100644 index 0000000..1928756 --- /dev/null +++ b/app/.env @@ -0,0 +1 @@ +COMPOSE_PROJECT_NAME=mdr_pdb_app diff --git a/app/.yarn/cache/dotenv-expand-npm-6.0.1-1927361a9b-db5ba937ee.zip b/app/.yarn/cache/dotenv-expand-npm-6.0.1-1927361a9b-db5ba937ee.zip deleted file mode 100644 index bbd4ee8..0000000 --- a/app/.yarn/cache/dotenv-expand-npm-6.0.1-1927361a9b-db5ba937ee.zip +++ /dev/null Binary files differ diff --git a/app/.dockerignore b/app/.dockerignore new file mode 100644 index 0000000..e7f8968 --- /dev/null +++ b/app/.dockerignore @@ -0,0 +1,4 @@ +node_modules/ +src/ +target/ +!target/vite/* diff --git a/app/.env b/app/.env new file mode 100644 index 0000000..1928756 --- /dev/null +++ b/app/.env @@ -0,0 +1 @@ +COMPOSE_PROJECT_NAME=mdr_pdb_app diff --git a/app/.yarn/cache/dotenv-expand-npm-6.0.1-1927361a9b-db5ba937ee.zip b/app/.yarn/cache/dotenv-expand-npm-6.0.1-1927361a9b-db5ba937ee.zip deleted file mode 100644 index bbd4ee8..0000000 --- a/app/.yarn/cache/dotenv-expand-npm-6.0.1-1927361a9b-db5ba937ee.zip +++ /dev/null Binary files differ diff --git a/app/.yarn/cache/dotenv-expand-npm-8.0.1-aa7e0cfc68-872a573d64.zip b/app/.yarn/cache/dotenv-expand-npm-8.0.1-aa7e0cfc68-872a573d64.zip new file mode 100644 index 0000000..11c962f --- /dev/null +++ b/app/.yarn/cache/dotenv-expand-npm-8.0.1-aa7e0cfc68-872a573d64.zip Binary files differ diff --git a/app/.dockerignore b/app/.dockerignore new file mode 100644 index 0000000..e7f8968 --- /dev/null +++ b/app/.dockerignore @@ -0,0 +1,4 @@ +node_modules/ +src/ +target/ +!target/vite/* diff --git a/app/.env b/app/.env new file mode 100644 index 0000000..1928756 --- /dev/null +++ b/app/.env @@ -0,0 +1 @@ +COMPOSE_PROJECT_NAME=mdr_pdb_app diff --git a/app/.yarn/cache/dotenv-expand-npm-6.0.1-1927361a9b-db5ba937ee.zip b/app/.yarn/cache/dotenv-expand-npm-6.0.1-1927361a9b-db5ba937ee.zip deleted file mode 100644 index bbd4ee8..0000000 --- a/app/.yarn/cache/dotenv-expand-npm-6.0.1-1927361a9b-db5ba937ee.zip +++ /dev/null Binary files differ diff --git a/app/.yarn/cache/dotenv-expand-npm-8.0.1-aa7e0cfc68-872a573d64.zip b/app/.yarn/cache/dotenv-expand-npm-8.0.1-aa7e0cfc68-872a573d64.zip new file mode 100644 index 0000000..11c962f --- /dev/null +++ b/app/.yarn/cache/dotenv-expand-npm-8.0.1-aa7e0cfc68-872a573d64.zip Binary files differ diff --git a/app/.yarn/cache/dotenv-npm-14.3.2-08998c870b-86c0675891.zip b/app/.yarn/cache/dotenv-npm-14.3.2-08998c870b-86c0675891.zip deleted file mode 100644 index 528b722..0000000 --- a/app/.yarn/cache/dotenv-npm-14.3.2-08998c870b-86c0675891.zip +++ /dev/null Binary files differ diff --git a/app/.dockerignore b/app/.dockerignore new file mode 100644 index 0000000..e7f8968 --- /dev/null +++ b/app/.dockerignore @@ -0,0 +1,4 @@ +node_modules/ +src/ +target/ +!target/vite/* diff --git a/app/.env b/app/.env new file mode 100644 index 0000000..1928756 --- /dev/null +++ b/app/.env @@ -0,0 +1 @@ +COMPOSE_PROJECT_NAME=mdr_pdb_app diff --git a/app/.yarn/cache/dotenv-expand-npm-6.0.1-1927361a9b-db5ba937ee.zip b/app/.yarn/cache/dotenv-expand-npm-6.0.1-1927361a9b-db5ba937ee.zip deleted file mode 100644 index bbd4ee8..0000000 --- a/app/.yarn/cache/dotenv-expand-npm-6.0.1-1927361a9b-db5ba937ee.zip +++ /dev/null Binary files differ diff --git a/app/.yarn/cache/dotenv-expand-npm-8.0.1-aa7e0cfc68-872a573d64.zip b/app/.yarn/cache/dotenv-expand-npm-8.0.1-aa7e0cfc68-872a573d64.zip new file mode 100644 index 0000000..11c962f --- /dev/null +++ b/app/.yarn/cache/dotenv-expand-npm-8.0.1-aa7e0cfc68-872a573d64.zip Binary files differ diff --git a/app/.yarn/cache/dotenv-npm-14.3.2-08998c870b-86c0675891.zip b/app/.yarn/cache/dotenv-npm-14.3.2-08998c870b-86c0675891.zip deleted file mode 100644 index 528b722..0000000 --- a/app/.yarn/cache/dotenv-npm-14.3.2-08998c870b-86c0675891.zip +++ /dev/null Binary files differ diff --git a/app/.yarn/cache/dotenv-npm-16.0.0-ef4a5ccded-664cebb51f.zip b/app/.yarn/cache/dotenv-npm-16.0.0-ef4a5ccded-664cebb51f.zip new file mode 100644 index 0000000..c6b1b5c --- /dev/null +++ b/app/.yarn/cache/dotenv-npm-16.0.0-ef4a5ccded-664cebb51f.zip Binary files differ diff --git a/app/.dockerignore b/app/.dockerignore new file mode 100644 index 0000000..e7f8968 --- /dev/null +++ b/app/.dockerignore @@ -0,0 +1,4 @@ +node_modules/ +src/ +target/ +!target/vite/* diff --git a/app/.env b/app/.env new file mode 100644 index 0000000..1928756 --- /dev/null +++ b/app/.env @@ -0,0 +1 @@ +COMPOSE_PROJECT_NAME=mdr_pdb_app diff --git a/app/.yarn/cache/dotenv-expand-npm-6.0.1-1927361a9b-db5ba937ee.zip b/app/.yarn/cache/dotenv-expand-npm-6.0.1-1927361a9b-db5ba937ee.zip deleted file mode 100644 index bbd4ee8..0000000 --- a/app/.yarn/cache/dotenv-expand-npm-6.0.1-1927361a9b-db5ba937ee.zip +++ /dev/null Binary files differ diff --git a/app/.yarn/cache/dotenv-expand-npm-8.0.1-aa7e0cfc68-872a573d64.zip b/app/.yarn/cache/dotenv-expand-npm-8.0.1-aa7e0cfc68-872a573d64.zip new file mode 100644 index 0000000..11c962f --- /dev/null +++ b/app/.yarn/cache/dotenv-expand-npm-8.0.1-aa7e0cfc68-872a573d64.zip Binary files differ diff --git a/app/.yarn/cache/dotenv-npm-14.3.2-08998c870b-86c0675891.zip b/app/.yarn/cache/dotenv-npm-14.3.2-08998c870b-86c0675891.zip deleted file mode 100644 index 528b722..0000000 --- a/app/.yarn/cache/dotenv-npm-14.3.2-08998c870b-86c0675891.zip +++ /dev/null Binary files differ diff --git a/app/.yarn/cache/dotenv-npm-16.0.0-ef4a5ccded-664cebb51f.zip b/app/.yarn/cache/dotenv-npm-16.0.0-ef4a5ccded-664cebb51f.zip new file mode 100644 index 0000000..c6b1b5c --- /dev/null +++ b/app/.yarn/cache/dotenv-npm-16.0.0-ef4a5ccded-664cebb51f.zip Binary files differ diff --git a/app/.yarn/cache/vite-plugin-html-npm-3.0.4-828d36c374-b8128778c7.zip b/app/.yarn/cache/vite-plugin-html-npm-3.0.4-828d36c374-b8128778c7.zip deleted file mode 100644 index da0ec56..0000000 --- a/app/.yarn/cache/vite-plugin-html-npm-3.0.4-828d36c374-b8128778c7.zip +++ /dev/null Binary files differ diff --git a/app/.dockerignore b/app/.dockerignore new file mode 100644 index 0000000..e7f8968 --- /dev/null +++ b/app/.dockerignore @@ -0,0 +1,4 @@ +node_modules/ +src/ +target/ +!target/vite/* diff --git a/app/.env b/app/.env new file mode 100644 index 0000000..1928756 --- /dev/null +++ b/app/.env @@ -0,0 +1 @@ +COMPOSE_PROJECT_NAME=mdr_pdb_app diff --git a/app/.yarn/cache/dotenv-expand-npm-6.0.1-1927361a9b-db5ba937ee.zip b/app/.yarn/cache/dotenv-expand-npm-6.0.1-1927361a9b-db5ba937ee.zip deleted file mode 100644 index bbd4ee8..0000000 --- a/app/.yarn/cache/dotenv-expand-npm-6.0.1-1927361a9b-db5ba937ee.zip +++ /dev/null Binary files differ diff --git a/app/.yarn/cache/dotenv-expand-npm-8.0.1-aa7e0cfc68-872a573d64.zip b/app/.yarn/cache/dotenv-expand-npm-8.0.1-aa7e0cfc68-872a573d64.zip new file mode 100644 index 0000000..11c962f --- /dev/null +++ b/app/.yarn/cache/dotenv-expand-npm-8.0.1-aa7e0cfc68-872a573d64.zip Binary files differ diff --git a/app/.yarn/cache/dotenv-npm-14.3.2-08998c870b-86c0675891.zip b/app/.yarn/cache/dotenv-npm-14.3.2-08998c870b-86c0675891.zip deleted file mode 100644 index 528b722..0000000 --- a/app/.yarn/cache/dotenv-npm-14.3.2-08998c870b-86c0675891.zip +++ /dev/null Binary files differ diff --git a/app/.yarn/cache/dotenv-npm-16.0.0-ef4a5ccded-664cebb51f.zip b/app/.yarn/cache/dotenv-npm-16.0.0-ef4a5ccded-664cebb51f.zip new file mode 100644 index 0000000..c6b1b5c --- /dev/null +++ b/app/.yarn/cache/dotenv-npm-16.0.0-ef4a5ccded-664cebb51f.zip Binary files differ diff --git a/app/.yarn/cache/vite-plugin-html-npm-3.0.4-828d36c374-b8128778c7.zip b/app/.yarn/cache/vite-plugin-html-npm-3.0.4-828d36c374-b8128778c7.zip deleted file mode 100644 index da0ec56..0000000 --- a/app/.yarn/cache/vite-plugin-html-npm-3.0.4-828d36c374-b8128778c7.zip +++ /dev/null Binary files differ diff --git a/app/.yarn/cache/vite-plugin-html-npm-3.0.6-3357ae3dce-9512b6d74e.zip b/app/.yarn/cache/vite-plugin-html-npm-3.0.6-3357ae3dce-9512b6d74e.zip new file mode 100644 index 0000000..6ef2427 --- /dev/null +++ b/app/.yarn/cache/vite-plugin-html-npm-3.0.6-3357ae3dce-9512b6d74e.zip Binary files differ diff --git a/app/.dockerignore b/app/.dockerignore new file mode 100644 index 0000000..e7f8968 --- /dev/null +++ b/app/.dockerignore @@ -0,0 +1,4 @@ +node_modules/ +src/ +target/ +!target/vite/* diff --git a/app/.env b/app/.env new file mode 100644 index 0000000..1928756 --- /dev/null +++ b/app/.env @@ -0,0 +1 @@ +COMPOSE_PROJECT_NAME=mdr_pdb_app diff --git a/app/.yarn/cache/dotenv-expand-npm-6.0.1-1927361a9b-db5ba937ee.zip b/app/.yarn/cache/dotenv-expand-npm-6.0.1-1927361a9b-db5ba937ee.zip deleted file mode 100644 index bbd4ee8..0000000 --- a/app/.yarn/cache/dotenv-expand-npm-6.0.1-1927361a9b-db5ba937ee.zip +++ /dev/null Binary files differ diff --git a/app/.yarn/cache/dotenv-expand-npm-8.0.1-aa7e0cfc68-872a573d64.zip b/app/.yarn/cache/dotenv-expand-npm-8.0.1-aa7e0cfc68-872a573d64.zip new file mode 100644 index 0000000..11c962f --- /dev/null +++ b/app/.yarn/cache/dotenv-expand-npm-8.0.1-aa7e0cfc68-872a573d64.zip Binary files differ diff --git a/app/.yarn/cache/dotenv-npm-14.3.2-08998c870b-86c0675891.zip b/app/.yarn/cache/dotenv-npm-14.3.2-08998c870b-86c0675891.zip deleted file mode 100644 index 528b722..0000000 --- a/app/.yarn/cache/dotenv-npm-14.3.2-08998c870b-86c0675891.zip +++ /dev/null Binary files differ diff --git a/app/.yarn/cache/dotenv-npm-16.0.0-ef4a5ccded-664cebb51f.zip b/app/.yarn/cache/dotenv-npm-16.0.0-ef4a5ccded-664cebb51f.zip new file mode 100644 index 0000000..c6b1b5c --- /dev/null +++ b/app/.yarn/cache/dotenv-npm-16.0.0-ef4a5ccded-664cebb51f.zip Binary files differ diff --git a/app/.yarn/cache/vite-plugin-html-npm-3.0.4-828d36c374-b8128778c7.zip b/app/.yarn/cache/vite-plugin-html-npm-3.0.4-828d36c374-b8128778c7.zip deleted file mode 100644 index da0ec56..0000000 --- a/app/.yarn/cache/vite-plugin-html-npm-3.0.4-828d36c374-b8128778c7.zip +++ /dev/null Binary files differ diff --git a/app/.yarn/cache/vite-plugin-html-npm-3.0.6-3357ae3dce-9512b6d74e.zip b/app/.yarn/cache/vite-plugin-html-npm-3.0.6-3357ae3dce-9512b6d74e.zip new file mode 100644 index 0000000..6ef2427 --- /dev/null +++ b/app/.yarn/cache/vite-plugin-html-npm-3.0.6-3357ae3dce-9512b6d74e.zip Binary files differ diff --git a/app/Caddyfile b/app/Caddyfile index 6d3d944..edbd6d4 100644 --- a/app/Caddyfile +++ b/app/Caddyfile @@ -2,15 +2,15 @@ root * /srv @app { - path /mdr/app /mdr/app/ /mdr/app/* + path /mdr/pdb/app /mdr/pdb/app/ /mdr/pdb/app/* } @static { - path /mdr/assets/* /mdr/css/* /mdr/images/* /mdr/doc/* + path /mdr/pdb/assets/* /mdr/pdb/css/* /mdr/pdb/images/* /mdr/pdb/doc/* } handle @app { - rewrite * /mdr/index.html + rewrite * /mdr/pdb/index.html file_server } @@ -18,13 +18,13 @@ file_server } - handle { - reverse_proxy {env.BACKEND} { - # This is for Play, it expects to have the same number of - # comma-separated values in X-Forwarded-For as in X-Forwarded-Proto. - # TODO: make the comma conditional when not behind another proxy - # This works for production and staging, might break https in dev - header_up X-Forwarded-Proto "{http.request.header.X-Forwarded-Proto}, http" - } - } + # handle { + # reverse_proxy {env.BACKEND} { + # # This is for Play, it expects to have the same number of + # # comma-separated values in X-Forwarded-For as in X-Forwarded-Proto. + # # TODO: make the comma conditional when not behind another proxy + # # This works for production and staging, might break https in dev + # header_up X-Forwarded-Proto "{http.request.header.X-Forwarded-Proto}, http" + # } + # } } diff --git a/app/.dockerignore b/app/.dockerignore new file mode 100644 index 0000000..e7f8968 --- /dev/null +++ b/app/.dockerignore @@ -0,0 +1,4 @@ +node_modules/ +src/ +target/ +!target/vite/* diff --git a/app/.env b/app/.env new file mode 100644 index 0000000..1928756 --- /dev/null +++ b/app/.env @@ -0,0 +1 @@ +COMPOSE_PROJECT_NAME=mdr_pdb_app diff --git a/app/.yarn/cache/dotenv-expand-npm-6.0.1-1927361a9b-db5ba937ee.zip b/app/.yarn/cache/dotenv-expand-npm-6.0.1-1927361a9b-db5ba937ee.zip deleted file mode 100644 index bbd4ee8..0000000 --- a/app/.yarn/cache/dotenv-expand-npm-6.0.1-1927361a9b-db5ba937ee.zip +++ /dev/null Binary files differ diff --git a/app/.yarn/cache/dotenv-expand-npm-8.0.1-aa7e0cfc68-872a573d64.zip b/app/.yarn/cache/dotenv-expand-npm-8.0.1-aa7e0cfc68-872a573d64.zip new file mode 100644 index 0000000..11c962f --- /dev/null +++ b/app/.yarn/cache/dotenv-expand-npm-8.0.1-aa7e0cfc68-872a573d64.zip Binary files differ diff --git a/app/.yarn/cache/dotenv-npm-14.3.2-08998c870b-86c0675891.zip b/app/.yarn/cache/dotenv-npm-14.3.2-08998c870b-86c0675891.zip deleted file mode 100644 index 528b722..0000000 --- a/app/.yarn/cache/dotenv-npm-14.3.2-08998c870b-86c0675891.zip +++ /dev/null Binary files differ diff --git a/app/.yarn/cache/dotenv-npm-16.0.0-ef4a5ccded-664cebb51f.zip b/app/.yarn/cache/dotenv-npm-16.0.0-ef4a5ccded-664cebb51f.zip new file mode 100644 index 0000000..c6b1b5c --- /dev/null +++ b/app/.yarn/cache/dotenv-npm-16.0.0-ef4a5ccded-664cebb51f.zip Binary files differ diff --git a/app/.yarn/cache/vite-plugin-html-npm-3.0.4-828d36c374-b8128778c7.zip b/app/.yarn/cache/vite-plugin-html-npm-3.0.4-828d36c374-b8128778c7.zip deleted file mode 100644 index da0ec56..0000000 --- a/app/.yarn/cache/vite-plugin-html-npm-3.0.4-828d36c374-b8128778c7.zip +++ /dev/null Binary files differ diff --git a/app/.yarn/cache/vite-plugin-html-npm-3.0.6-3357ae3dce-9512b6d74e.zip b/app/.yarn/cache/vite-plugin-html-npm-3.0.6-3357ae3dce-9512b6d74e.zip new file mode 100644 index 0000000..6ef2427 --- /dev/null +++ b/app/.yarn/cache/vite-plugin-html-npm-3.0.6-3357ae3dce-9512b6d74e.zip Binary files differ diff --git a/app/Caddyfile b/app/Caddyfile index 6d3d944..edbd6d4 100644 --- a/app/Caddyfile +++ b/app/Caddyfile @@ -2,15 +2,15 @@ root * /srv @app { - path /mdr/app /mdr/app/ /mdr/app/* + path /mdr/pdb/app /mdr/pdb/app/ /mdr/pdb/app/* } @static { - path /mdr/assets/* /mdr/css/* /mdr/images/* /mdr/doc/* + path /mdr/pdb/assets/* /mdr/pdb/css/* /mdr/pdb/images/* /mdr/pdb/doc/* } handle @app { - rewrite * /mdr/index.html + rewrite * /mdr/pdb/index.html file_server } @@ -18,13 +18,13 @@ file_server } - handle { - reverse_proxy {env.BACKEND} { - # This is for Play, it expects to have the same number of - # comma-separated values in X-Forwarded-For as in X-Forwarded-Proto. - # TODO: make the comma conditional when not behind another proxy - # This works for production and staging, might break https in dev - header_up X-Forwarded-Proto "{http.request.header.X-Forwarded-Proto}, http" - } - } + # handle { + # reverse_proxy {env.BACKEND} { + # # This is for Play, it expects to have the same number of + # # comma-separated values in X-Forwarded-For as in X-Forwarded-Proto. + # # TODO: make the comma conditional when not behind another proxy + # # This works for production and staging, might break https in dev + # header_up X-Forwarded-Proto "{http.request.header.X-Forwarded-Proto}, http" + # } + # } } diff --git a/app/Dockerfile b/app/Dockerfile index 7de447e..021fa29 100644 --- a/app/Dockerfile +++ b/app/Dockerfile @@ -1,3 +1,3 @@ FROM caddy:2.4.6 COPY Caddyfile /etc/caddy/Caddyfile -COPY target/vite /srv/mdr +COPY target/vite /srv/mdr/pdb diff --git a/app/.dockerignore b/app/.dockerignore new file mode 100644 index 0000000..e7f8968 --- /dev/null +++ b/app/.dockerignore @@ -0,0 +1,4 @@ +node_modules/ +src/ +target/ +!target/vite/* diff --git a/app/.env b/app/.env new file mode 100644 index 0000000..1928756 --- /dev/null +++ b/app/.env @@ -0,0 +1 @@ +COMPOSE_PROJECT_NAME=mdr_pdb_app diff --git a/app/.yarn/cache/dotenv-expand-npm-6.0.1-1927361a9b-db5ba937ee.zip b/app/.yarn/cache/dotenv-expand-npm-6.0.1-1927361a9b-db5ba937ee.zip deleted file mode 100644 index bbd4ee8..0000000 --- a/app/.yarn/cache/dotenv-expand-npm-6.0.1-1927361a9b-db5ba937ee.zip +++ /dev/null Binary files differ diff --git a/app/.yarn/cache/dotenv-expand-npm-8.0.1-aa7e0cfc68-872a573d64.zip b/app/.yarn/cache/dotenv-expand-npm-8.0.1-aa7e0cfc68-872a573d64.zip new file mode 100644 index 0000000..11c962f --- /dev/null +++ b/app/.yarn/cache/dotenv-expand-npm-8.0.1-aa7e0cfc68-872a573d64.zip Binary files differ diff --git a/app/.yarn/cache/dotenv-npm-14.3.2-08998c870b-86c0675891.zip b/app/.yarn/cache/dotenv-npm-14.3.2-08998c870b-86c0675891.zip deleted file mode 100644 index 528b722..0000000 --- a/app/.yarn/cache/dotenv-npm-14.3.2-08998c870b-86c0675891.zip +++ /dev/null Binary files differ diff --git a/app/.yarn/cache/dotenv-npm-16.0.0-ef4a5ccded-664cebb51f.zip b/app/.yarn/cache/dotenv-npm-16.0.0-ef4a5ccded-664cebb51f.zip new file mode 100644 index 0000000..c6b1b5c --- /dev/null +++ b/app/.yarn/cache/dotenv-npm-16.0.0-ef4a5ccded-664cebb51f.zip Binary files differ diff --git a/app/.yarn/cache/vite-plugin-html-npm-3.0.4-828d36c374-b8128778c7.zip b/app/.yarn/cache/vite-plugin-html-npm-3.0.4-828d36c374-b8128778c7.zip deleted file mode 100644 index da0ec56..0000000 --- a/app/.yarn/cache/vite-plugin-html-npm-3.0.4-828d36c374-b8128778c7.zip +++ /dev/null Binary files differ diff --git a/app/.yarn/cache/vite-plugin-html-npm-3.0.6-3357ae3dce-9512b6d74e.zip b/app/.yarn/cache/vite-plugin-html-npm-3.0.6-3357ae3dce-9512b6d74e.zip new file mode 100644 index 0000000..6ef2427 --- /dev/null +++ b/app/.yarn/cache/vite-plugin-html-npm-3.0.6-3357ae3dce-9512b6d74e.zip Binary files differ diff --git a/app/Caddyfile b/app/Caddyfile index 6d3d944..edbd6d4 100644 --- a/app/Caddyfile +++ b/app/Caddyfile @@ -2,15 +2,15 @@ root * /srv @app { - path /mdr/app /mdr/app/ /mdr/app/* + path /mdr/pdb/app /mdr/pdb/app/ /mdr/pdb/app/* } @static { - path /mdr/assets/* /mdr/css/* /mdr/images/* /mdr/doc/* + path /mdr/pdb/assets/* /mdr/pdb/css/* /mdr/pdb/images/* /mdr/pdb/doc/* } handle @app { - rewrite * /mdr/index.html + rewrite * /mdr/pdb/index.html file_server } @@ -18,13 +18,13 @@ file_server } - handle { - reverse_proxy {env.BACKEND} { - # This is for Play, it expects to have the same number of - # comma-separated values in X-Forwarded-For as in X-Forwarded-Proto. - # TODO: make the comma conditional when not behind another proxy - # This works for production and staging, might break https in dev - header_up X-Forwarded-Proto "{http.request.header.X-Forwarded-Proto}, http" - } - } + # handle { + # reverse_proxy {env.BACKEND} { + # # This is for Play, it expects to have the same number of + # # comma-separated values in X-Forwarded-For as in X-Forwarded-Proto. + # # TODO: make the comma conditional when not behind another proxy + # # This works for production and staging, might break https in dev + # header_up X-Forwarded-Proto "{http.request.header.X-Forwarded-Proto}, http" + # } + # } } diff --git a/app/Dockerfile b/app/Dockerfile index 7de447e..021fa29 100644 --- a/app/Dockerfile +++ b/app/Dockerfile @@ -1,3 +1,3 @@ FROM caddy:2.4.6 COPY Caddyfile /etc/caddy/Caddyfile -COPY target/vite /srv/mdr +COPY target/vite /srv/mdr/pdb diff --git a/app/docker-compose.yml b/app/docker-compose.yml new file mode 100644 index 0000000..00fbf28 --- /dev/null +++ b/app/docker-compose.yml @@ -0,0 +1,7 @@ +--- +version: '3' +services: + web: + build: . + ports: + - "3000:80" diff --git a/app/.dockerignore b/app/.dockerignore new file mode 100644 index 0000000..e7f8968 --- /dev/null +++ b/app/.dockerignore @@ -0,0 +1,4 @@ +node_modules/ +src/ +target/ +!target/vite/* diff --git a/app/.env b/app/.env new file mode 100644 index 0000000..1928756 --- /dev/null +++ b/app/.env @@ -0,0 +1 @@ +COMPOSE_PROJECT_NAME=mdr_pdb_app diff --git a/app/.yarn/cache/dotenv-expand-npm-6.0.1-1927361a9b-db5ba937ee.zip b/app/.yarn/cache/dotenv-expand-npm-6.0.1-1927361a9b-db5ba937ee.zip deleted file mode 100644 index bbd4ee8..0000000 --- a/app/.yarn/cache/dotenv-expand-npm-6.0.1-1927361a9b-db5ba937ee.zip +++ /dev/null Binary files differ diff --git a/app/.yarn/cache/dotenv-expand-npm-8.0.1-aa7e0cfc68-872a573d64.zip b/app/.yarn/cache/dotenv-expand-npm-8.0.1-aa7e0cfc68-872a573d64.zip new file mode 100644 index 0000000..11c962f --- /dev/null +++ b/app/.yarn/cache/dotenv-expand-npm-8.0.1-aa7e0cfc68-872a573d64.zip Binary files differ diff --git a/app/.yarn/cache/dotenv-npm-14.3.2-08998c870b-86c0675891.zip b/app/.yarn/cache/dotenv-npm-14.3.2-08998c870b-86c0675891.zip deleted file mode 100644 index 528b722..0000000 --- a/app/.yarn/cache/dotenv-npm-14.3.2-08998c870b-86c0675891.zip +++ /dev/null Binary files differ diff --git a/app/.yarn/cache/dotenv-npm-16.0.0-ef4a5ccded-664cebb51f.zip b/app/.yarn/cache/dotenv-npm-16.0.0-ef4a5ccded-664cebb51f.zip new file mode 100644 index 0000000..c6b1b5c --- /dev/null +++ b/app/.yarn/cache/dotenv-npm-16.0.0-ef4a5ccded-664cebb51f.zip Binary files differ diff --git a/app/.yarn/cache/vite-plugin-html-npm-3.0.4-828d36c374-b8128778c7.zip b/app/.yarn/cache/vite-plugin-html-npm-3.0.4-828d36c374-b8128778c7.zip deleted file mode 100644 index da0ec56..0000000 --- a/app/.yarn/cache/vite-plugin-html-npm-3.0.4-828d36c374-b8128778c7.zip +++ /dev/null Binary files differ diff --git a/app/.yarn/cache/vite-plugin-html-npm-3.0.6-3357ae3dce-9512b6d74e.zip b/app/.yarn/cache/vite-plugin-html-npm-3.0.6-3357ae3dce-9512b6d74e.zip new file mode 100644 index 0000000..6ef2427 --- /dev/null +++ b/app/.yarn/cache/vite-plugin-html-npm-3.0.6-3357ae3dce-9512b6d74e.zip Binary files differ diff --git a/app/Caddyfile b/app/Caddyfile index 6d3d944..edbd6d4 100644 --- a/app/Caddyfile +++ b/app/Caddyfile @@ -2,15 +2,15 @@ root * /srv @app { - path /mdr/app /mdr/app/ /mdr/app/* + path /mdr/pdb/app /mdr/pdb/app/ /mdr/pdb/app/* } @static { - path /mdr/assets/* /mdr/css/* /mdr/images/* /mdr/doc/* + path /mdr/pdb/assets/* /mdr/pdb/css/* /mdr/pdb/images/* /mdr/pdb/doc/* } handle @app { - rewrite * /mdr/index.html + rewrite * /mdr/pdb/index.html file_server } @@ -18,13 +18,13 @@ file_server } - handle { - reverse_proxy {env.BACKEND} { - # This is for Play, it expects to have the same number of - # comma-separated values in X-Forwarded-For as in X-Forwarded-Proto. - # TODO: make the comma conditional when not behind another proxy - # This works for production and staging, might break https in dev - header_up X-Forwarded-Proto "{http.request.header.X-Forwarded-Proto}, http" - } - } + # handle { + # reverse_proxy {env.BACKEND} { + # # This is for Play, it expects to have the same number of + # # comma-separated values in X-Forwarded-For as in X-Forwarded-Proto. + # # TODO: make the comma conditional when not behind another proxy + # # This works for production and staging, might break https in dev + # header_up X-Forwarded-Proto "{http.request.header.X-Forwarded-Proto}, http" + # } + # } } diff --git a/app/Dockerfile b/app/Dockerfile index 7de447e..021fa29 100644 --- a/app/Dockerfile +++ b/app/Dockerfile @@ -1,3 +1,3 @@ FROM caddy:2.4.6 COPY Caddyfile /etc/caddy/Caddyfile -COPY target/vite /srv/mdr +COPY target/vite /srv/mdr/pdb diff --git a/app/docker-compose.yml b/app/docker-compose.yml new file mode 100644 index 0000000..00fbf28 --- /dev/null +++ b/app/docker-compose.yml @@ -0,0 +1,7 @@ +--- +version: '3' +services: + web: + build: . + ports: + - "3000:80" diff --git a/app/package.json b/app/package.json index 16f102e..0ecd6f2 100644 --- a/app/package.json +++ b/app/package.json @@ -15,7 +15,7 @@ "tailwindcss": "^3.0.18", "typescript": "4.2.4", "vite": "^2.8.0", - "vite-plugin-html": "^3.0.4" + "vite-plugin-html": "^3.0.6" }, "browserslist": [ "defaults" diff --git a/app/.dockerignore b/app/.dockerignore new file mode 100644 index 0000000..e7f8968 --- /dev/null +++ b/app/.dockerignore @@ -0,0 +1,4 @@ +node_modules/ +src/ +target/ +!target/vite/* diff --git a/app/.env b/app/.env new file mode 100644 index 0000000..1928756 --- /dev/null +++ b/app/.env @@ -0,0 +1 @@ +COMPOSE_PROJECT_NAME=mdr_pdb_app diff --git a/app/.yarn/cache/dotenv-expand-npm-6.0.1-1927361a9b-db5ba937ee.zip b/app/.yarn/cache/dotenv-expand-npm-6.0.1-1927361a9b-db5ba937ee.zip deleted file mode 100644 index bbd4ee8..0000000 --- a/app/.yarn/cache/dotenv-expand-npm-6.0.1-1927361a9b-db5ba937ee.zip +++ /dev/null Binary files differ diff --git a/app/.yarn/cache/dotenv-expand-npm-8.0.1-aa7e0cfc68-872a573d64.zip b/app/.yarn/cache/dotenv-expand-npm-8.0.1-aa7e0cfc68-872a573d64.zip new file mode 100644 index 0000000..11c962f --- /dev/null +++ b/app/.yarn/cache/dotenv-expand-npm-8.0.1-aa7e0cfc68-872a573d64.zip Binary files differ diff --git a/app/.yarn/cache/dotenv-npm-14.3.2-08998c870b-86c0675891.zip b/app/.yarn/cache/dotenv-npm-14.3.2-08998c870b-86c0675891.zip deleted file mode 100644 index 528b722..0000000 --- a/app/.yarn/cache/dotenv-npm-14.3.2-08998c870b-86c0675891.zip +++ /dev/null Binary files differ diff --git a/app/.yarn/cache/dotenv-npm-16.0.0-ef4a5ccded-664cebb51f.zip b/app/.yarn/cache/dotenv-npm-16.0.0-ef4a5ccded-664cebb51f.zip new file mode 100644 index 0000000..c6b1b5c --- /dev/null +++ b/app/.yarn/cache/dotenv-npm-16.0.0-ef4a5ccded-664cebb51f.zip Binary files differ diff --git a/app/.yarn/cache/vite-plugin-html-npm-3.0.4-828d36c374-b8128778c7.zip b/app/.yarn/cache/vite-plugin-html-npm-3.0.4-828d36c374-b8128778c7.zip deleted file mode 100644 index da0ec56..0000000 --- a/app/.yarn/cache/vite-plugin-html-npm-3.0.4-828d36c374-b8128778c7.zip +++ /dev/null Binary files differ diff --git a/app/.yarn/cache/vite-plugin-html-npm-3.0.6-3357ae3dce-9512b6d74e.zip b/app/.yarn/cache/vite-plugin-html-npm-3.0.6-3357ae3dce-9512b6d74e.zip new file mode 100644 index 0000000..6ef2427 --- /dev/null +++ b/app/.yarn/cache/vite-plugin-html-npm-3.0.6-3357ae3dce-9512b6d74e.zip Binary files differ diff --git a/app/Caddyfile b/app/Caddyfile index 6d3d944..edbd6d4 100644 --- a/app/Caddyfile +++ b/app/Caddyfile @@ -2,15 +2,15 @@ root * /srv @app { - path /mdr/app /mdr/app/ /mdr/app/* + path /mdr/pdb/app /mdr/pdb/app/ /mdr/pdb/app/* } @static { - path /mdr/assets/* /mdr/css/* /mdr/images/* /mdr/doc/* + path /mdr/pdb/assets/* /mdr/pdb/css/* /mdr/pdb/images/* /mdr/pdb/doc/* } handle @app { - rewrite * /mdr/index.html + rewrite * /mdr/pdb/index.html file_server } @@ -18,13 +18,13 @@ file_server } - handle { - reverse_proxy {env.BACKEND} { - # This is for Play, it expects to have the same number of - # comma-separated values in X-Forwarded-For as in X-Forwarded-Proto. - # TODO: make the comma conditional when not behind another proxy - # This works for production and staging, might break https in dev - header_up X-Forwarded-Proto "{http.request.header.X-Forwarded-Proto}, http" - } - } + # handle { + # reverse_proxy {env.BACKEND} { + # # This is for Play, it expects to have the same number of + # # comma-separated values in X-Forwarded-For as in X-Forwarded-Proto. + # # TODO: make the comma conditional when not behind another proxy + # # This works for production and staging, might break https in dev + # header_up X-Forwarded-Proto "{http.request.header.X-Forwarded-Proto}, http" + # } + # } } diff --git a/app/Dockerfile b/app/Dockerfile index 7de447e..021fa29 100644 --- a/app/Dockerfile +++ b/app/Dockerfile @@ -1,3 +1,3 @@ FROM caddy:2.4.6 COPY Caddyfile /etc/caddy/Caddyfile -COPY target/vite /srv/mdr +COPY target/vite /srv/mdr/pdb diff --git a/app/docker-compose.yml b/app/docker-compose.yml new file mode 100644 index 0000000..00fbf28 --- /dev/null +++ b/app/docker-compose.yml @@ -0,0 +1,7 @@ +--- +version: '3' +services: + web: + build: . + ports: + - "3000:80" diff --git a/app/package.json b/app/package.json index 16f102e..0ecd6f2 100644 --- a/app/package.json +++ b/app/package.json @@ -15,7 +15,7 @@ "tailwindcss": "^3.0.18", "typescript": "4.2.4", "vite": "^2.8.0", - "vite-plugin-html": "^3.0.4" + "vite-plugin-html": "^3.0.6" }, "browserslist": [ "defaults" diff --git a/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/Routes.scala b/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/Routes.scala index 8e3e677..0140851 100644 --- a/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/Routes.scala +++ b/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/Routes.scala @@ -16,13 +16,13 @@ object Page: - case object Directory extends Page("Directory", None) + case object Directory extends Page("Adresář", None) - case object Dashboard extends Page("Dashboard", Some(Directory)) + case object Dashboard extends Page("Přehled", Some(Directory)) // TODO: refactor to some "NamedParameter" concept, where the tuples value + title are better managed case class Detail(osobniCislo: OsobniCislo, jmenoOsoby: Option[String] = None) - extends Page(jmenoOsoby.getOrElse("Detail"), Some(Directory)) + extends Page(jmenoOsoby.getOrElse("Detail osoby"), Some(Directory)) object Detail { def apply(o: UserInfo): Detail = Detail(o.personalNumber, Some(o.name)) @@ -84,8 +84,7 @@ val base = js.`import`.meta.env.BASE_URL - .asInstanceOf[String] - .init // Drop the ending slash + .asInstanceOf[String] + "app" val homePage: Page = Page.Directory @@ -112,8 +111,18 @@ basePath = base ), Route[Page.DetailKriteria, (String, String, String)]( - encode = p => (p.osobniCislo.toString, p.idParametru, p.idKriteria), - decode = p => Page.DetailKriteria(OsobniCislo(p._1), p._2, p._3), + encode = p => + ( + p.osobniCislo.toString, + p.idParametru, + p.idKriteria.replaceAll("\\.", "--") + ), + decode = p => + Page.DetailKriteria( + OsobniCislo(p._1), + p._2, + p._3.replaceAll("--", ".") + ), root / "osoba" / segment[String] / "parametr" / segment[ String ] / "kriterium" / segment[String] / endOfSegments, diff --git a/app/.dockerignore b/app/.dockerignore new file mode 100644 index 0000000..e7f8968 --- /dev/null +++ b/app/.dockerignore @@ -0,0 +1,4 @@ +node_modules/ +src/ +target/ +!target/vite/* diff --git a/app/.env b/app/.env new file mode 100644 index 0000000..1928756 --- /dev/null +++ b/app/.env @@ -0,0 +1 @@ +COMPOSE_PROJECT_NAME=mdr_pdb_app diff --git a/app/.yarn/cache/dotenv-expand-npm-6.0.1-1927361a9b-db5ba937ee.zip b/app/.yarn/cache/dotenv-expand-npm-6.0.1-1927361a9b-db5ba937ee.zip deleted file mode 100644 index bbd4ee8..0000000 --- a/app/.yarn/cache/dotenv-expand-npm-6.0.1-1927361a9b-db5ba937ee.zip +++ /dev/null Binary files differ diff --git a/app/.yarn/cache/dotenv-expand-npm-8.0.1-aa7e0cfc68-872a573d64.zip b/app/.yarn/cache/dotenv-expand-npm-8.0.1-aa7e0cfc68-872a573d64.zip new file mode 100644 index 0000000..11c962f --- /dev/null +++ b/app/.yarn/cache/dotenv-expand-npm-8.0.1-aa7e0cfc68-872a573d64.zip Binary files differ diff --git a/app/.yarn/cache/dotenv-npm-14.3.2-08998c870b-86c0675891.zip b/app/.yarn/cache/dotenv-npm-14.3.2-08998c870b-86c0675891.zip deleted file mode 100644 index 528b722..0000000 --- a/app/.yarn/cache/dotenv-npm-14.3.2-08998c870b-86c0675891.zip +++ /dev/null Binary files differ diff --git a/app/.yarn/cache/dotenv-npm-16.0.0-ef4a5ccded-664cebb51f.zip b/app/.yarn/cache/dotenv-npm-16.0.0-ef4a5ccded-664cebb51f.zip new file mode 100644 index 0000000..c6b1b5c --- /dev/null +++ b/app/.yarn/cache/dotenv-npm-16.0.0-ef4a5ccded-664cebb51f.zip Binary files differ diff --git a/app/.yarn/cache/vite-plugin-html-npm-3.0.4-828d36c374-b8128778c7.zip b/app/.yarn/cache/vite-plugin-html-npm-3.0.4-828d36c374-b8128778c7.zip deleted file mode 100644 index da0ec56..0000000 --- a/app/.yarn/cache/vite-plugin-html-npm-3.0.4-828d36c374-b8128778c7.zip +++ /dev/null Binary files differ diff --git a/app/.yarn/cache/vite-plugin-html-npm-3.0.6-3357ae3dce-9512b6d74e.zip b/app/.yarn/cache/vite-plugin-html-npm-3.0.6-3357ae3dce-9512b6d74e.zip new file mode 100644 index 0000000..6ef2427 --- /dev/null +++ b/app/.yarn/cache/vite-plugin-html-npm-3.0.6-3357ae3dce-9512b6d74e.zip Binary files differ diff --git a/app/Caddyfile b/app/Caddyfile index 6d3d944..edbd6d4 100644 --- a/app/Caddyfile +++ b/app/Caddyfile @@ -2,15 +2,15 @@ root * /srv @app { - path /mdr/app /mdr/app/ /mdr/app/* + path /mdr/pdb/app /mdr/pdb/app/ /mdr/pdb/app/* } @static { - path /mdr/assets/* /mdr/css/* /mdr/images/* /mdr/doc/* + path /mdr/pdb/assets/* /mdr/pdb/css/* /mdr/pdb/images/* /mdr/pdb/doc/* } handle @app { - rewrite * /mdr/index.html + rewrite * /mdr/pdb/index.html file_server } @@ -18,13 +18,13 @@ file_server } - handle { - reverse_proxy {env.BACKEND} { - # This is for Play, it expects to have the same number of - # comma-separated values in X-Forwarded-For as in X-Forwarded-Proto. - # TODO: make the comma conditional when not behind another proxy - # This works for production and staging, might break https in dev - header_up X-Forwarded-Proto "{http.request.header.X-Forwarded-Proto}, http" - } - } + # handle { + # reverse_proxy {env.BACKEND} { + # # This is for Play, it expects to have the same number of + # # comma-separated values in X-Forwarded-For as in X-Forwarded-Proto. + # # TODO: make the comma conditional when not behind another proxy + # # This works for production and staging, might break https in dev + # header_up X-Forwarded-Proto "{http.request.header.X-Forwarded-Proto}, http" + # } + # } } diff --git a/app/Dockerfile b/app/Dockerfile index 7de447e..021fa29 100644 --- a/app/Dockerfile +++ b/app/Dockerfile @@ -1,3 +1,3 @@ FROM caddy:2.4.6 COPY Caddyfile /etc/caddy/Caddyfile -COPY target/vite /srv/mdr +COPY target/vite /srv/mdr/pdb diff --git a/app/docker-compose.yml b/app/docker-compose.yml new file mode 100644 index 0000000..00fbf28 --- /dev/null +++ b/app/docker-compose.yml @@ -0,0 +1,7 @@ +--- +version: '3' +services: + web: + build: . + ports: + - "3000:80" diff --git a/app/package.json b/app/package.json index 16f102e..0ecd6f2 100644 --- a/app/package.json +++ b/app/package.json @@ -15,7 +15,7 @@ "tailwindcss": "^3.0.18", "typescript": "4.2.4", "vite": "^2.8.0", - "vite-plugin-html": "^3.0.4" + "vite-plugin-html": "^3.0.6" }, "browserslist": [ "defaults" diff --git a/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/Routes.scala b/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/Routes.scala index 8e3e677..0140851 100644 --- a/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/Routes.scala +++ b/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/Routes.scala @@ -16,13 +16,13 @@ object Page: - case object Directory extends Page("Directory", None) + case object Directory extends Page("Adresář", None) - case object Dashboard extends Page("Dashboard", Some(Directory)) + case object Dashboard extends Page("Přehled", Some(Directory)) // TODO: refactor to some "NamedParameter" concept, where the tuples value + title are better managed case class Detail(osobniCislo: OsobniCislo, jmenoOsoby: Option[String] = None) - extends Page(jmenoOsoby.getOrElse("Detail"), Some(Directory)) + extends Page(jmenoOsoby.getOrElse("Detail osoby"), Some(Directory)) object Detail { def apply(o: UserInfo): Detail = Detail(o.personalNumber, Some(o.name)) @@ -84,8 +84,7 @@ val base = js.`import`.meta.env.BASE_URL - .asInstanceOf[String] - .init // Drop the ending slash + .asInstanceOf[String] + "app" val homePage: Page = Page.Directory @@ -112,8 +111,18 @@ basePath = base ), Route[Page.DetailKriteria, (String, String, String)]( - encode = p => (p.osobniCislo.toString, p.idParametru, p.idKriteria), - decode = p => Page.DetailKriteria(OsobniCislo(p._1), p._2, p._3), + encode = p => + ( + p.osobniCislo.toString, + p.idParametru, + p.idKriteria.replaceAll("\\.", "--") + ), + decode = p => + Page.DetailKriteria( + OsobniCislo(p._1), + p._2, + p._3.replaceAll("--", ".") + ), root / "osoba" / segment[String] / "parametr" / segment[ String ] / "kriterium" / segment[String] / endOfSegments, diff --git a/app/vite.config.js b/app/vite.config.js index fd583f5..3dc484b 100644 --- a/app/vite.config.js +++ b/app/vite.config.js @@ -36,7 +36,7 @@ */ } }, - base: '/mdr/pdb/app/', + base: '/mdr/pdb/', build: { outDir: 'target/vite' } diff --git a/app/.dockerignore b/app/.dockerignore new file mode 100644 index 0000000..e7f8968 --- /dev/null +++ b/app/.dockerignore @@ -0,0 +1,4 @@ +node_modules/ +src/ +target/ +!target/vite/* diff --git a/app/.env b/app/.env new file mode 100644 index 0000000..1928756 --- /dev/null +++ b/app/.env @@ -0,0 +1 @@ +COMPOSE_PROJECT_NAME=mdr_pdb_app diff --git a/app/.yarn/cache/dotenv-expand-npm-6.0.1-1927361a9b-db5ba937ee.zip b/app/.yarn/cache/dotenv-expand-npm-6.0.1-1927361a9b-db5ba937ee.zip deleted file mode 100644 index bbd4ee8..0000000 --- a/app/.yarn/cache/dotenv-expand-npm-6.0.1-1927361a9b-db5ba937ee.zip +++ /dev/null Binary files differ diff --git a/app/.yarn/cache/dotenv-expand-npm-8.0.1-aa7e0cfc68-872a573d64.zip b/app/.yarn/cache/dotenv-expand-npm-8.0.1-aa7e0cfc68-872a573d64.zip new file mode 100644 index 0000000..11c962f --- /dev/null +++ b/app/.yarn/cache/dotenv-expand-npm-8.0.1-aa7e0cfc68-872a573d64.zip Binary files differ diff --git a/app/.yarn/cache/dotenv-npm-14.3.2-08998c870b-86c0675891.zip b/app/.yarn/cache/dotenv-npm-14.3.2-08998c870b-86c0675891.zip deleted file mode 100644 index 528b722..0000000 --- a/app/.yarn/cache/dotenv-npm-14.3.2-08998c870b-86c0675891.zip +++ /dev/null Binary files differ diff --git a/app/.yarn/cache/dotenv-npm-16.0.0-ef4a5ccded-664cebb51f.zip b/app/.yarn/cache/dotenv-npm-16.0.0-ef4a5ccded-664cebb51f.zip new file mode 100644 index 0000000..c6b1b5c --- /dev/null +++ b/app/.yarn/cache/dotenv-npm-16.0.0-ef4a5ccded-664cebb51f.zip Binary files differ diff --git a/app/.yarn/cache/vite-plugin-html-npm-3.0.4-828d36c374-b8128778c7.zip b/app/.yarn/cache/vite-plugin-html-npm-3.0.4-828d36c374-b8128778c7.zip deleted file mode 100644 index da0ec56..0000000 --- a/app/.yarn/cache/vite-plugin-html-npm-3.0.4-828d36c374-b8128778c7.zip +++ /dev/null Binary files differ diff --git a/app/.yarn/cache/vite-plugin-html-npm-3.0.6-3357ae3dce-9512b6d74e.zip b/app/.yarn/cache/vite-plugin-html-npm-3.0.6-3357ae3dce-9512b6d74e.zip new file mode 100644 index 0000000..6ef2427 --- /dev/null +++ b/app/.yarn/cache/vite-plugin-html-npm-3.0.6-3357ae3dce-9512b6d74e.zip Binary files differ diff --git a/app/Caddyfile b/app/Caddyfile index 6d3d944..edbd6d4 100644 --- a/app/Caddyfile +++ b/app/Caddyfile @@ -2,15 +2,15 @@ root * /srv @app { - path /mdr/app /mdr/app/ /mdr/app/* + path /mdr/pdb/app /mdr/pdb/app/ /mdr/pdb/app/* } @static { - path /mdr/assets/* /mdr/css/* /mdr/images/* /mdr/doc/* + path /mdr/pdb/assets/* /mdr/pdb/css/* /mdr/pdb/images/* /mdr/pdb/doc/* } handle @app { - rewrite * /mdr/index.html + rewrite * /mdr/pdb/index.html file_server } @@ -18,13 +18,13 @@ file_server } - handle { - reverse_proxy {env.BACKEND} { - # This is for Play, it expects to have the same number of - # comma-separated values in X-Forwarded-For as in X-Forwarded-Proto. - # TODO: make the comma conditional when not behind another proxy - # This works for production and staging, might break https in dev - header_up X-Forwarded-Proto "{http.request.header.X-Forwarded-Proto}, http" - } - } + # handle { + # reverse_proxy {env.BACKEND} { + # # This is for Play, it expects to have the same number of + # # comma-separated values in X-Forwarded-For as in X-Forwarded-Proto. + # # TODO: make the comma conditional when not behind another proxy + # # This works for production and staging, might break https in dev + # header_up X-Forwarded-Proto "{http.request.header.X-Forwarded-Proto}, http" + # } + # } } diff --git a/app/Dockerfile b/app/Dockerfile index 7de447e..021fa29 100644 --- a/app/Dockerfile +++ b/app/Dockerfile @@ -1,3 +1,3 @@ FROM caddy:2.4.6 COPY Caddyfile /etc/caddy/Caddyfile -COPY target/vite /srv/mdr +COPY target/vite /srv/mdr/pdb diff --git a/app/docker-compose.yml b/app/docker-compose.yml new file mode 100644 index 0000000..00fbf28 --- /dev/null +++ b/app/docker-compose.yml @@ -0,0 +1,7 @@ +--- +version: '3' +services: + web: + build: . + ports: + - "3000:80" diff --git a/app/package.json b/app/package.json index 16f102e..0ecd6f2 100644 --- a/app/package.json +++ b/app/package.json @@ -15,7 +15,7 @@ "tailwindcss": "^3.0.18", "typescript": "4.2.4", "vite": "^2.8.0", - "vite-plugin-html": "^3.0.4" + "vite-plugin-html": "^3.0.6" }, "browserslist": [ "defaults" diff --git a/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/Routes.scala b/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/Routes.scala index 8e3e677..0140851 100644 --- a/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/Routes.scala +++ b/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/Routes.scala @@ -16,13 +16,13 @@ object Page: - case object Directory extends Page("Directory", None) + case object Directory extends Page("Adresář", None) - case object Dashboard extends Page("Dashboard", Some(Directory)) + case object Dashboard extends Page("Přehled", Some(Directory)) // TODO: refactor to some "NamedParameter" concept, where the tuples value + title are better managed case class Detail(osobniCislo: OsobniCislo, jmenoOsoby: Option[String] = None) - extends Page(jmenoOsoby.getOrElse("Detail"), Some(Directory)) + extends Page(jmenoOsoby.getOrElse("Detail osoby"), Some(Directory)) object Detail { def apply(o: UserInfo): Detail = Detail(o.personalNumber, Some(o.name)) @@ -84,8 +84,7 @@ val base = js.`import`.meta.env.BASE_URL - .asInstanceOf[String] - .init // Drop the ending slash + .asInstanceOf[String] + "app" val homePage: Page = Page.Directory @@ -112,8 +111,18 @@ basePath = base ), Route[Page.DetailKriteria, (String, String, String)]( - encode = p => (p.osobniCislo.toString, p.idParametru, p.idKriteria), - decode = p => Page.DetailKriteria(OsobniCislo(p._1), p._2, p._3), + encode = p => + ( + p.osobniCislo.toString, + p.idParametru, + p.idKriteria.replaceAll("\\.", "--") + ), + decode = p => + Page.DetailKriteria( + OsobniCislo(p._1), + p._2, + p._3.replaceAll("--", ".") + ), root / "osoba" / segment[String] / "parametr" / segment[ String ] / "kriterium" / segment[String] / endOfSegments, diff --git a/app/vite.config.js b/app/vite.config.js index fd583f5..3dc484b 100644 --- a/app/vite.config.js +++ b/app/vite.config.js @@ -36,7 +36,7 @@ */ } }, - base: '/mdr/pdb/app/', + base: '/mdr/pdb/', build: { outDir: 'target/vite' } diff --git a/app/yarn.lock b/app/yarn.lock index 339ea06..98b9b78 100644 --- a/app/yarn.lock +++ b/app/yarn.lock @@ -906,17 +906,17 @@ languageName: node linkType: hard -"dotenv-expand@npm:^6.0.1": - version: 6.0.1 - resolution: "dotenv-expand@npm:6.0.1" - checksum: db5ba937eece3a29b8c2839574d080d3d5c1adf79acc8fe8c82a6577c5ecfc3dba960ebd9e10904b6bcc3ed922e64cc3570ed42b1c135b1eac2f34d89e38819e +"dotenv-expand@npm:^8.0.1": + version: 8.0.1 + resolution: "dotenv-expand@npm:8.0.1" + checksum: 872a573d64c5cc1d0773df5822546fa47022124dbbf5d260756e081970dc27adf6b0822db952280b5ba3d175971ca8faf23b64204ee5003588a08152fd5e806e languageName: node linkType: hard -"dotenv@npm:^14.3.2": - version: 14.3.2 - resolution: "dotenv@npm:14.3.2" - checksum: 86c06758915d6facc35275f4a7fafc16705b6f3b44befaa8abca91367991efc8ff8db5437d3cc14778231d19fb97610fe82d60f8a53ba723cdb69fe4171439aa +"dotenv@npm:^16.0.0": + version: 16.0.0 + resolution: "dotenv@npm:16.0.0" + checksum: 664cebb51f0a9a1d1b930f51f0271e72e26d62feaecc9dc03df39453dd494b4e724809ca480fb3ec3213382b1ed3f791aaeb83569a137f9329ce58efd4853dbf languageName: node linkType: hard @@ -1966,7 +1966,7 @@ tailwindcss: ^3.0.18 typescript: 4.2.4 vite: ^2.8.0 - vite-plugin-html: ^3.0.4 + vite-plugin-html: ^3.0.6 languageName: unknown linkType: soft @@ -3623,16 +3623,16 @@ languageName: node linkType: hard -"vite-plugin-html@npm:^3.0.4": - version: 3.0.4 - resolution: "vite-plugin-html@npm:3.0.4" +"vite-plugin-html@npm:^3.0.6": + version: 3.0.6 + resolution: "vite-plugin-html@npm:3.0.6" dependencies: "@rollup/pluginutils": ^4.1.2 colorette: ^2.0.16 connect-history-api-fallback: ^1.6.0 consola: ^2.15.3 - dotenv: ^14.3.2 - dotenv-expand: ^6.0.1 + dotenv: ^16.0.0 + dotenv-expand: ^8.0.1 ejs: ^3.1.6 fast-glob: ^3.2.11 fs-extra: ^10.0.0 @@ -3641,7 +3641,7 @@ pathe: ^0.2.0 peerDependencies: vite: ">=2.0.0" - checksum: b8128778c7ba1c21a435cbe0c819c2a3121915c007efad59045c1ce2ea21ee079adfc33bcf7be36d1704a399a7c9fcd4b8d554aad4711168ec5ef06125e1d13a + checksum: 9512b6d74eb9ae995ea89fba8e81fcc6e80600cc769f94edb7458714b3b236cb174ded434c17dbbc80923fd405fdc330f0880838d0edcf148135c3d0ce82bc4d languageName: node linkType: hard diff --git a/app/.dockerignore b/app/.dockerignore new file mode 100644 index 0000000..e7f8968 --- /dev/null +++ b/app/.dockerignore @@ -0,0 +1,4 @@ +node_modules/ +src/ +target/ +!target/vite/* diff --git a/app/.env b/app/.env new file mode 100644 index 0000000..1928756 --- /dev/null +++ b/app/.env @@ -0,0 +1 @@ +COMPOSE_PROJECT_NAME=mdr_pdb_app diff --git a/app/.yarn/cache/dotenv-expand-npm-6.0.1-1927361a9b-db5ba937ee.zip b/app/.yarn/cache/dotenv-expand-npm-6.0.1-1927361a9b-db5ba937ee.zip deleted file mode 100644 index bbd4ee8..0000000 --- a/app/.yarn/cache/dotenv-expand-npm-6.0.1-1927361a9b-db5ba937ee.zip +++ /dev/null Binary files differ diff --git a/app/.yarn/cache/dotenv-expand-npm-8.0.1-aa7e0cfc68-872a573d64.zip b/app/.yarn/cache/dotenv-expand-npm-8.0.1-aa7e0cfc68-872a573d64.zip new file mode 100644 index 0000000..11c962f --- /dev/null +++ b/app/.yarn/cache/dotenv-expand-npm-8.0.1-aa7e0cfc68-872a573d64.zip Binary files differ diff --git a/app/.yarn/cache/dotenv-npm-14.3.2-08998c870b-86c0675891.zip b/app/.yarn/cache/dotenv-npm-14.3.2-08998c870b-86c0675891.zip deleted file mode 100644 index 528b722..0000000 --- a/app/.yarn/cache/dotenv-npm-14.3.2-08998c870b-86c0675891.zip +++ /dev/null Binary files differ diff --git a/app/.yarn/cache/dotenv-npm-16.0.0-ef4a5ccded-664cebb51f.zip b/app/.yarn/cache/dotenv-npm-16.0.0-ef4a5ccded-664cebb51f.zip new file mode 100644 index 0000000..c6b1b5c --- /dev/null +++ b/app/.yarn/cache/dotenv-npm-16.0.0-ef4a5ccded-664cebb51f.zip Binary files differ diff --git a/app/.yarn/cache/vite-plugin-html-npm-3.0.4-828d36c374-b8128778c7.zip b/app/.yarn/cache/vite-plugin-html-npm-3.0.4-828d36c374-b8128778c7.zip deleted file mode 100644 index da0ec56..0000000 --- a/app/.yarn/cache/vite-plugin-html-npm-3.0.4-828d36c374-b8128778c7.zip +++ /dev/null Binary files differ diff --git a/app/.yarn/cache/vite-plugin-html-npm-3.0.6-3357ae3dce-9512b6d74e.zip b/app/.yarn/cache/vite-plugin-html-npm-3.0.6-3357ae3dce-9512b6d74e.zip new file mode 100644 index 0000000..6ef2427 --- /dev/null +++ b/app/.yarn/cache/vite-plugin-html-npm-3.0.6-3357ae3dce-9512b6d74e.zip Binary files differ diff --git a/app/Caddyfile b/app/Caddyfile index 6d3d944..edbd6d4 100644 --- a/app/Caddyfile +++ b/app/Caddyfile @@ -2,15 +2,15 @@ root * /srv @app { - path /mdr/app /mdr/app/ /mdr/app/* + path /mdr/pdb/app /mdr/pdb/app/ /mdr/pdb/app/* } @static { - path /mdr/assets/* /mdr/css/* /mdr/images/* /mdr/doc/* + path /mdr/pdb/assets/* /mdr/pdb/css/* /mdr/pdb/images/* /mdr/pdb/doc/* } handle @app { - rewrite * /mdr/index.html + rewrite * /mdr/pdb/index.html file_server } @@ -18,13 +18,13 @@ file_server } - handle { - reverse_proxy {env.BACKEND} { - # This is for Play, it expects to have the same number of - # comma-separated values in X-Forwarded-For as in X-Forwarded-Proto. - # TODO: make the comma conditional when not behind another proxy - # This works for production and staging, might break https in dev - header_up X-Forwarded-Proto "{http.request.header.X-Forwarded-Proto}, http" - } - } + # handle { + # reverse_proxy {env.BACKEND} { + # # This is for Play, it expects to have the same number of + # # comma-separated values in X-Forwarded-For as in X-Forwarded-Proto. + # # TODO: make the comma conditional when not behind another proxy + # # This works for production and staging, might break https in dev + # header_up X-Forwarded-Proto "{http.request.header.X-Forwarded-Proto}, http" + # } + # } } diff --git a/app/Dockerfile b/app/Dockerfile index 7de447e..021fa29 100644 --- a/app/Dockerfile +++ b/app/Dockerfile @@ -1,3 +1,3 @@ FROM caddy:2.4.6 COPY Caddyfile /etc/caddy/Caddyfile -COPY target/vite /srv/mdr +COPY target/vite /srv/mdr/pdb diff --git a/app/docker-compose.yml b/app/docker-compose.yml new file mode 100644 index 0000000..00fbf28 --- /dev/null +++ b/app/docker-compose.yml @@ -0,0 +1,7 @@ +--- +version: '3' +services: + web: + build: . + ports: + - "3000:80" diff --git a/app/package.json b/app/package.json index 16f102e..0ecd6f2 100644 --- a/app/package.json +++ b/app/package.json @@ -15,7 +15,7 @@ "tailwindcss": "^3.0.18", "typescript": "4.2.4", "vite": "^2.8.0", - "vite-plugin-html": "^3.0.4" + "vite-plugin-html": "^3.0.6" }, "browserslist": [ "defaults" diff --git a/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/Routes.scala b/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/Routes.scala index 8e3e677..0140851 100644 --- a/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/Routes.scala +++ b/app/src/main/scala/cz/e_bs/cmi/mdr/pdb/app/Routes.scala @@ -16,13 +16,13 @@ object Page: - case object Directory extends Page("Directory", None) + case object Directory extends Page("Adresář", None) - case object Dashboard extends Page("Dashboard", Some(Directory)) + case object Dashboard extends Page("Přehled", Some(Directory)) // TODO: refactor to some "NamedParameter" concept, where the tuples value + title are better managed case class Detail(osobniCislo: OsobniCislo, jmenoOsoby: Option[String] = None) - extends Page(jmenoOsoby.getOrElse("Detail"), Some(Directory)) + extends Page(jmenoOsoby.getOrElse("Detail osoby"), Some(Directory)) object Detail { def apply(o: UserInfo): Detail = Detail(o.personalNumber, Some(o.name)) @@ -84,8 +84,7 @@ val base = js.`import`.meta.env.BASE_URL - .asInstanceOf[String] - .init // Drop the ending slash + .asInstanceOf[String] + "app" val homePage: Page = Page.Directory @@ -112,8 +111,18 @@ basePath = base ), Route[Page.DetailKriteria, (String, String, String)]( - encode = p => (p.osobniCislo.toString, p.idParametru, p.idKriteria), - decode = p => Page.DetailKriteria(OsobniCislo(p._1), p._2, p._3), + encode = p => + ( + p.osobniCislo.toString, + p.idParametru, + p.idKriteria.replaceAll("\\.", "--") + ), + decode = p => + Page.DetailKriteria( + OsobniCislo(p._1), + p._2, + p._3.replaceAll("--", ".") + ), root / "osoba" / segment[String] / "parametr" / segment[ String ] / "kriterium" / segment[String] / endOfSegments, diff --git a/app/vite.config.js b/app/vite.config.js index fd583f5..3dc484b 100644 --- a/app/vite.config.js +++ b/app/vite.config.js @@ -36,7 +36,7 @@ */ } }, - base: '/mdr/pdb/app/', + base: '/mdr/pdb/', build: { outDir: 'target/vite' } diff --git a/app/yarn.lock b/app/yarn.lock index 339ea06..98b9b78 100644 --- a/app/yarn.lock +++ b/app/yarn.lock @@ -906,17 +906,17 @@ languageName: node linkType: hard -"dotenv-expand@npm:^6.0.1": - version: 6.0.1 - resolution: "dotenv-expand@npm:6.0.1" - checksum: db5ba937eece3a29b8c2839574d080d3d5c1adf79acc8fe8c82a6577c5ecfc3dba960ebd9e10904b6bcc3ed922e64cc3570ed42b1c135b1eac2f34d89e38819e +"dotenv-expand@npm:^8.0.1": + version: 8.0.1 + resolution: "dotenv-expand@npm:8.0.1" + checksum: 872a573d64c5cc1d0773df5822546fa47022124dbbf5d260756e081970dc27adf6b0822db952280b5ba3d175971ca8faf23b64204ee5003588a08152fd5e806e languageName: node linkType: hard -"dotenv@npm:^14.3.2": - version: 14.3.2 - resolution: "dotenv@npm:14.3.2" - checksum: 86c06758915d6facc35275f4a7fafc16705b6f3b44befaa8abca91367991efc8ff8db5437d3cc14778231d19fb97610fe82d60f8a53ba723cdb69fe4171439aa +"dotenv@npm:^16.0.0": + version: 16.0.0 + resolution: "dotenv@npm:16.0.0" + checksum: 664cebb51f0a9a1d1b930f51f0271e72e26d62feaecc9dc03df39453dd494b4e724809ca480fb3ec3213382b1ed3f791aaeb83569a137f9329ce58efd4853dbf languageName: node linkType: hard @@ -1966,7 +1966,7 @@ tailwindcss: ^3.0.18 typescript: 4.2.4 vite: ^2.8.0 - vite-plugin-html: ^3.0.4 + vite-plugin-html: ^3.0.6 languageName: unknown linkType: soft @@ -3623,16 +3623,16 @@ languageName: node linkType: hard -"vite-plugin-html@npm:^3.0.4": - version: 3.0.4 - resolution: "vite-plugin-html@npm:3.0.4" +"vite-plugin-html@npm:^3.0.6": + version: 3.0.6 + resolution: "vite-plugin-html@npm:3.0.6" dependencies: "@rollup/pluginutils": ^4.1.2 colorette: ^2.0.16 connect-history-api-fallback: ^1.6.0 consola: ^2.15.3 - dotenv: ^14.3.2 - dotenv-expand: ^6.0.1 + dotenv: ^16.0.0 + dotenv-expand: ^8.0.1 ejs: ^3.1.6 fast-glob: ^3.2.11 fs-extra: ^10.0.0 @@ -3641,7 +3641,7 @@ pathe: ^0.2.0 peerDependencies: vite: ">=2.0.0" - checksum: b8128778c7ba1c21a435cbe0c819c2a3121915c007efad59045c1ce2ea21ee079adfc33bcf7be36d1704a399a7c9fcd4b8d554aad4711168ec5ef06125e1d13a + checksum: 9512b6d74eb9ae995ea89fba8e81fcc6e80600cc769f94edb7458714b3b236cb174ded434c17dbbc80923fd405fdc330f0880838d0edcf148135c3d0ce82bc4d languageName: node linkType: hard diff --git a/build.sbt b/build.sbt index bc49c9f..439c29f 100644 --- a/build.sbt +++ b/build.sbt @@ -1,16 +1,28 @@ import org.scalajs.linker.interface.ModuleSplitStyle +import scala.sys.process._ +import sbt.nio.file.FileTreeView +import com.typesafe.sbt.packager.docker._ +import NativePackagerHelper._ import sbtcrossproject.CrossPlugin.autoImport.{CrossType, crossProject} ThisBuild / version := "0.1.0-SNAPSHOT" ThisBuild / scalaVersion := scala3Version +// TODO: integrate vite build and Docker publishing +// Taken from mdr-app, moving to plugin would be nice +lazy val viteBuild = taskKey[File]("Vite build") +lazy val viteMonitoredFiles = + taskKey[Seq[File]]("Files monitored for vite build") +lazy val viteDist = settingKey[File]("Vite dist directory") +lazy val caddyFile = settingKey[File]("Caddyfile for caddy docker image") + lazy val core = crossProject(JSPlatform, JVMPlatform) .crossType(CrossType.Pure) .in(file("core")) lazy val app = (project in file("app")) - .enablePlugins(ScalaJSPlugin, MockDataExport) + .enablePlugins(ScalaJSPlugin, MockDataExport, DockerPlugin) .settings( IWDeps.useZIO(Test), IWDeps.laminar, @@ -32,6 +44,50 @@ scalaJSLinkerConfig ~= { _.withSourceMap(false) }, scalaJSUseMainModuleInitializer := true ) + .settings( + caddyFile := baseDirectory.value / "Caddyfile", + dockerRepository := Some("docker.e-bs.cz"), + dockerUsername := Some("cmi/posuzovani-mdr-pdb"), + dockerExposedPorts += 80, + Docker / mappings ++= directory(viteBuild.value), + Docker / mappings += caddyFile.value -> "Caddyfile", + dockerCommands := Seq( + Cmd("FROM", "caddy:2.4.6"), + Cmd("COPY", "Caddyfile", "/etc/caddy/Caddyfile"), + Cmd("COPY", "vite", "/srv/mdr/pdb") + ), + viteDist := target.value / "vite", + viteMonitoredFiles := { + val baseGlob = baseDirectory.value.toGlob + def baseFiles(pattern: String): Glob = baseGlob / pattern + val viteConfigs = + FileTreeView.default.list( + List(baseFiles("*.json"), baseFiles("*.js"), baseFiles("*.html")) + ) + val linkerDirectory = + (Compile / fullLinkJS / scalaJSLinkerOutputDirectory).value + val viteInputs = FileTreeView.default.list( + linkerDirectory.toGlob / "*.js" + ) + (viteConfigs ++ viteInputs).map(_._1.toFile) + }, + viteBuild := { + val s = streams.value + val dist = viteDist.value + val files = viteMonitoredFiles.value + // We depend on fullLinkJS + val _ = (Compile / fullLinkJS).value + def doBuild() = Process( + "yarn" :: "build" :: "--outDir" :: dist.toString :: Nil, + baseDirectory.value + ) ! s.log + val cachedFun = FileFunction.cached(s.cacheDirectory / "vite") { _ => + doBuild() + Set(dist) + } + cachedFun(files.toSet).head + } + ) .dependsOn(core.js) lazy val root = (project in file("."))