mirror of
https://github.com/standardnotes/server
synced 2026-04-25 18:01:21 -04:00
Compare commits
25 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 46c30d197a | |||
| 36b8354350 | |||
| b6702c7182 | |||
| 09d7f608cd | |||
| d023a27377 | |||
| 190595febf | |||
| b25edec26c | |||
| 85d0c12dad | |||
| 25c98ef078 | |||
| af51baea9a | |||
| e97b16606c | |||
| 5ff9e43899 | |||
| d3a49e109c | |||
| e3dbff6996 | |||
| d9f5410afd | |||
| 0568c8f563 | |||
| 16043a7d68 | |||
| f24ee61d11 | |||
| 881a6967ac | |||
| a93f66c6ac | |||
| fdf4b29ae2 | |||
| d5f6ca0d2e | |||
| 12d9ccf28c | |||
| ffc270cc6f | |||
| 61e2e58297 |
@@ -8,7 +8,6 @@ DB_USERNAME=std_notes_user
|
|||||||
DB_PASSWORD=changeme123
|
DB_PASSWORD=changeme123
|
||||||
DB_DATABASE=standard_notes_db
|
DB_DATABASE=standard_notes_db
|
||||||
DB_DEBUG_LEVEL=all
|
DB_DEBUG_LEVEL=all
|
||||||
DB_MIGRATIONS_PATH=dist/migrations/*.js
|
|
||||||
|
|
||||||
#########
|
#########
|
||||||
# CACHE #
|
# CACHE #
|
||||||
|
|||||||
@@ -94,3 +94,81 @@ jobs:
|
|||||||
name: E2E
|
name: E2E
|
||||||
uses: standardnotes/server/.github/workflows/common-e2e.yml@main
|
uses: standardnotes/server/.github/workflows/common-e2e.yml@main
|
||||||
secrets: inherit
|
secrets: inherit
|
||||||
|
|
||||||
|
legacy_e2e:
|
||||||
|
needs: build
|
||||||
|
name: Legacy E2E
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
application:
|
||||||
|
- { "service_name": "api-gateway", "workspace_name": "@standardnotes/api-gateway", "e2e_tag_parameter_name": "api_gateway_image_tag", "package_path": "packages/api-gateway" }
|
||||||
|
- { "service_name": "auth", "workspace_name": "@standardnotes/auth-server", "e2e_tag_parameter_name": "auth_image_tag", "package_path": "packages/auth" }
|
||||||
|
- { "service_name": "files", "workspace_name": "@standardnotes/files-server", "e2e_tag_parameter_name": "files_image_tag", "package_path": "packages/files" }
|
||||||
|
- { "service_name": "revisions", "workspace_name": "@standardnotes/revisions-server", "e2e_tag_parameter_name": "revisions_image_tag", "package_path": "packages/revisions"}
|
||||||
|
- { "service_name": "syncing-server-js", "workspace_name": "@standardnotes/syncing-server", "e2e_tag_parameter_name": "syncing_server_js_image_tag", "package_path": "packages/syncing-server" }
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Create Bundle Dir
|
||||||
|
id: bundle-dir
|
||||||
|
run: echo "temp_dir=$(mktemp -d -t ${{ matrix.application.service_name }}-${{ github.sha }}-XXXXXXX)" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
|
- name: Cache build
|
||||||
|
id: cache-build
|
||||||
|
uses: actions/cache@v3
|
||||||
|
with:
|
||||||
|
path: |
|
||||||
|
packages/**/dist
|
||||||
|
${{ needs.legacy_e2e.outputs.temp_dir }}
|
||||||
|
key: ${{ runner.os }}-build-${{ github.sha }}
|
||||||
|
|
||||||
|
- name: Set up Node
|
||||||
|
uses: actions/setup-node@v3
|
||||||
|
with:
|
||||||
|
registry-url: 'https://registry.npmjs.org'
|
||||||
|
node-version-file: '.nvmrc'
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
if: steps.cache-build.outputs.cache-hit != 'true'
|
||||||
|
run: yarn build
|
||||||
|
|
||||||
|
- name: Bundle
|
||||||
|
run: yarn workspace ${{ matrix.application.workspace_name }} bundle --no-compress --output-directory ${{ steps.bundle-dir.outputs.temp_dir }}
|
||||||
|
|
||||||
|
- name: Login to Docker Hub
|
||||||
|
uses: docker/login-action@v2
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKER_USERNAME }}
|
||||||
|
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||||
|
- name: Set up QEMU
|
||||||
|
uses: docker/setup-qemu-action@master
|
||||||
|
with:
|
||||||
|
platforms: all
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
id: buildx
|
||||||
|
uses: docker/setup-buildx-action@master
|
||||||
|
|
||||||
|
- name: Publish Docker image for E2E testing
|
||||||
|
uses: docker/build-push-action@v3
|
||||||
|
with:
|
||||||
|
builder: ${{ steps.buildx.outputs.name }}
|
||||||
|
context: ${{ steps.bundle-dir.outputs.temp_dir }}
|
||||||
|
file: ${{ steps.bundle-dir.outputs.temp_dir }}/${{ matrix.application.package_path }}/Dockerfile
|
||||||
|
platforms: linux/amd64,linux/arm64
|
||||||
|
push: true
|
||||||
|
tags: standardnotes/${{ matrix.application.service_name }}:${{ github.sha }}
|
||||||
|
|
||||||
|
- name: Run E2E test suite
|
||||||
|
uses: convictional/trigger-workflow-and-wait@master
|
||||||
|
with:
|
||||||
|
owner: standardnotes
|
||||||
|
repo: self-hosted
|
||||||
|
github_token: ${{ secrets.CI_PAT_TOKEN }}
|
||||||
|
workflow_file_name: testing-with-updating-client-and-server.yml
|
||||||
|
wait_interval: 30
|
||||||
|
client_payload: '{"${{ matrix.application.e2e_tag_parameter_name }}": "${{ github.sha }}"}'
|
||||||
|
propagate_failure: true
|
||||||
|
trigger_workflow: true
|
||||||
|
wait_workflow: true
|
||||||
|
|||||||
@@ -4257,8 +4257,6 @@ const RAW_RUNTIME_STATE =
|
|||||||
["@typescript-eslint/eslint-plugin", "virtual:fd909b174d079e30b336c4ce72c38a88c1e447767b1a8dd7655e07719a1e31b97807f0931368724fc78897ff15e6a6d00b83316c0f76d11f85111f342e08bb79#npm:5.48.2"],\
|
["@typescript-eslint/eslint-plugin", "virtual:fd909b174d079e30b336c4ce72c38a88c1e447767b1a8dd7655e07719a1e31b97807f0931368724fc78897ff15e6a6d00b83316c0f76d11f85111f342e08bb79#npm:5.48.2"],\
|
||||||
["eslint-plugin-prettier", "virtual:fd909b174d079e30b336c4ce72c38a88c1e447767b1a8dd7655e07719a1e31b97807f0931368724fc78897ff15e6a6d00b83316c0f76d11f85111f342e08bb79#npm:4.2.1"],\
|
["eslint-plugin-prettier", "virtual:fd909b174d079e30b336c4ce72c38a88c1e447767b1a8dd7655e07719a1e31b97807f0931368724fc78897ff15e6a6d00b83316c0f76d11f85111f342e08bb79#npm:4.2.1"],\
|
||||||
["jest", "virtual:fd909b174d079e30b336c4ce72c38a88c1e447767b1a8dd7655e07719a1e31b97807f0931368724fc78897ff15e6a6d00b83316c0f76d11f85111f342e08bb79#npm:29.1.2"],\
|
["jest", "virtual:fd909b174d079e30b336c4ce72c38a88c1e447767b1a8dd7655e07719a1e31b97807f0931368724fc78897ff15e6a6d00b83316c0f76d11f85111f342e08bb79#npm:29.1.2"],\
|
||||||
["reflect-metadata", "npm:0.1.13"],\
|
|
||||||
["shallow-equal-object", "npm:1.1.1"],\
|
|
||||||
["ts-jest", "virtual:fd909b174d079e30b336c4ce72c38a88c1e447767b1a8dd7655e07719a1e31b97807f0931368724fc78897ff15e6a6d00b83316c0f76d11f85111f342e08bb79#npm:29.0.3"],\
|
["ts-jest", "virtual:fd909b174d079e30b336c4ce72c38a88c1e447767b1a8dd7655e07719a1e31b97807f0931368724fc78897ff15e6a6d00b83316c0f76d11f85111f342e08bb79#npm:29.0.3"],\
|
||||||
["typescript", "patch:typescript@npm%3A4.8.4#optional!builtin<compat/typescript>::version=4.8.4&hash=701156"],\
|
["typescript", "patch:typescript@npm%3A4.8.4#optional!builtin<compat/typescript>::version=4.8.4&hash=701156"],\
|
||||||
["uuid", "npm:9.0.0"]\
|
["uuid", "npm:9.0.0"]\
|
||||||
@@ -13336,15 +13334,6 @@ const RAW_RUNTIME_STATE =
|
|||||||
"linkType": "HARD"\
|
"linkType": "HARD"\
|
||||||
}]\
|
}]\
|
||||||
]],\
|
]],\
|
||||||
["shallow-equal-object", [\
|
|
||||||
["npm:1.1.1", {\
|
|
||||||
"packageLocation": "./.yarn/cache/shallow-equal-object-npm-1.1.1-a41b289b2e-9e5e0cd10b.zip/node_modules/shallow-equal-object/",\
|
|
||||||
"packageDependencies": [\
|
|
||||||
["shallow-equal-object", "npm:1.1.1"]\
|
|
||||||
],\
|
|
||||||
"linkType": "HARD"\
|
|
||||||
}]\
|
|
||||||
]],\
|
|
||||||
["shebang-command", [\
|
["shebang-command", [\
|
||||||
["npm:2.0.0", {\
|
["npm:2.0.0", {\
|
||||||
"packageLocation": "./.yarn/cache/shebang-command-npm-2.0.0-eb2b01921d-5907a8d5fa.zip/node_modules/shebang-command/",\
|
"packageLocation": "./.yarn/cache/shebang-command-npm-2.0.0-eb2b01921d-5907a8d5fa.zip/node_modules/shebang-command/",\
|
||||||
|
|||||||
Binary file not shown.
+2
-1
@@ -31,7 +31,8 @@ RUN mkdir -p \
|
|||||||
/opt/bundled/auth \
|
/opt/bundled/auth \
|
||||||
/opt/bundled/files \
|
/opt/bundled/files \
|
||||||
/opt/bundled/revisions \
|
/opt/bundled/revisions \
|
||||||
/opt/bundled/api-gateway
|
/opt/bundled/api-gateway \
|
||||||
|
/opt/shared/uploads
|
||||||
|
|
||||||
RUN yarn workspace @standardnotes/syncing-server bundle --no-compress --output-directory /opt/bundled/syncing-server
|
RUN yarn workspace @standardnotes/syncing-server bundle --no-compress --output-directory /opt/bundled/syncing-server
|
||||||
RUN yarn workspace @standardnotes/auth-server bundle --no-compress --output-directory /opt/bundled/auth
|
RUN yarn workspace @standardnotes/auth-server bundle --no-compress --output-directory /opt/bundled/auth
|
||||||
|
|||||||
@@ -1,13 +1,14 @@
|
|||||||
services:
|
services:
|
||||||
server:
|
server:
|
||||||
image: standardnotes/server
|
image: standardnotes/server
|
||||||
env_file: .env.sample
|
env_file: .env
|
||||||
container_name: server_self_hosted
|
container_name: server_self_hosted
|
||||||
ports:
|
ports:
|
||||||
- 3000:3000
|
- 3000:3000
|
||||||
- 3125:3104
|
- 3125:3104
|
||||||
volumes:
|
volumes:
|
||||||
- ./logs:/var/lib/server/logs
|
- ./logs:/var/lib/server/logs
|
||||||
|
- ./uploads:/opt/bundled/files/packages/files/dist/uploads
|
||||||
networks:
|
networks:
|
||||||
- standardnotes_self_hosted
|
- standardnotes_self_hosted
|
||||||
|
|
||||||
@@ -23,7 +24,7 @@ services:
|
|||||||
- HOSTNAME_EXTERNAL=localstack
|
- HOSTNAME_EXTERNAL=localstack
|
||||||
- LS_LOG=warn
|
- LS_LOG=warn
|
||||||
volumes:
|
volumes:
|
||||||
- ./docker/localstack_bootstrap.sh:/etc/localstack/init/ready.d/localstack_bootstrap.sh
|
- ./localstack_bootstrap.sh:/etc/localstack/init/ready.d/localstack_bootstrap.sh
|
||||||
- /var/run/docker.sock:/var/run/docker.sock
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
networks:
|
networks:
|
||||||
- standardnotes_self_hosted
|
- standardnotes_self_hosted
|
||||||
|
|||||||
@@ -44,9 +44,7 @@ fi
|
|||||||
if [ -z "$DB_DEBUG_LEVEL" ]; then
|
if [ -z "$DB_DEBUG_LEVEL" ]; then
|
||||||
export DB_DEBUG_LEVEL="all"
|
export DB_DEBUG_LEVEL="all"
|
||||||
fi
|
fi
|
||||||
if [ -z "$DB_MIGRATIONS_PATH" ]; then
|
export DB_MIGRATIONS_PATH="dist/migrations/*.js"
|
||||||
export DB_MIGRATIONS_PATH="dist/migrations/*.js"
|
|
||||||
fi
|
|
||||||
|
|
||||||
#########
|
#########
|
||||||
# CACHE #
|
# CACHE #
|
||||||
@@ -235,9 +233,7 @@ export SYNCING_SERVER_NEW_RELIC_ENABLED=false
|
|||||||
export SYNCING_SERVER_NEW_RELIC_APP_NAME="Syncing Server JS"
|
export SYNCING_SERVER_NEW_RELIC_APP_NAME="Syncing Server JS"
|
||||||
export SYNCING_SERVER_NEW_RELIC_NO_CONFIG_FILE=true
|
export SYNCING_SERVER_NEW_RELIC_NO_CONFIG_FILE=true
|
||||||
|
|
||||||
if [ -z "$SYNCING_SERVER_FILE_UPLOAD_PATH" ]; then
|
export SYNCING_SERVER_FILE_UPLOAD_PATH="/opt/shared/uploads"
|
||||||
export SYNCING_SERVER_FILE_UPLOAD_PATH="data/uploads"
|
|
||||||
fi
|
|
||||||
|
|
||||||
printenv | grep SYNCING_SERVER_ | sed 's/SYNCING_SERVER_//g' > /opt/bundled/syncing-server/packages/syncing-server/.env
|
printenv | grep SYNCING_SERVER_ | sed 's/SYNCING_SERVER_//g' > /opt/bundled/syncing-server/packages/syncing-server/.env
|
||||||
|
|
||||||
@@ -356,10 +352,9 @@ export API_GATEWAY_AUTH_SERVER_URL=http://localhost:$AUTH_SERVER_PORT
|
|||||||
export API_GATEWAY_WORKSPACE_SERVER_URL=http://localhost:3004
|
export API_GATEWAY_WORKSPACE_SERVER_URL=http://localhost:3004
|
||||||
export API_GATEWAY_REVISIONS_SERVER_URL=http://localhost:3005
|
export API_GATEWAY_REVISIONS_SERVER_URL=http://localhost:3005
|
||||||
if [ -z "$PUBLIC_FILES_SERVER_URL" ]; then
|
if [ -z "$PUBLIC_FILES_SERVER_URL" ]; then
|
||||||
export API_GATEWAY_FILES_SERVER_URL=http://localhost:$FILES_SERVER_PORT
|
export PUBLIC_FILES_SERVER_URL=http://localhost:3125
|
||||||
else
|
|
||||||
export API_GATEWAY_FILES_SERVER_URL=$PUBLIC_FILES_SERVER_URL
|
|
||||||
fi
|
fi
|
||||||
|
export API_GATEWAY_FILES_SERVER_URL=$PUBLIC_FILES_SERVER_URL
|
||||||
|
|
||||||
printenv | grep API_GATEWAY_ | sed 's/API_GATEWAY_//g' > /opt/bundled/api-gateway/packages/api-gateway/.env
|
printenv | grep API_GATEWAY_ | sed 's/API_GATEWAY_//g' > /opt/bundled/api-gateway/packages/api-gateway/.env
|
||||||
|
|
||||||
|
|||||||
+19
-19
@@ -1,74 +1,74 @@
|
|||||||
[supervisord]
|
[supervisord]
|
||||||
nodaemon=true
|
nodaemon=true
|
||||||
logfile=/tmp/supervisord.log
|
logfile=/var/lib/server/logs/supervisord.log
|
||||||
|
|
||||||
[program:syncing-server]
|
[program:syncing-server]
|
||||||
directory=/opt/bundled/syncing-server
|
directory=/opt/bundled/syncing-server/packages/syncing-server
|
||||||
command=yarn workspace @standardnotes/syncing-server supervisor:start
|
command=/opt/bundled/syncing-server/packages/syncing-server/supervisor/supervisor-server.sh
|
||||||
autostart=true
|
autostart=true
|
||||||
autorestart=true
|
autorestart=true
|
||||||
stdout_logfile=/var/lib/server/logs/syncing-server.log
|
stdout_logfile=/var/lib/server/logs/syncing-server.log
|
||||||
stderr_logfile=/var/lib/server/logs/syncing-server.err
|
stderr_logfile=/var/lib/server/logs/syncing-server.err
|
||||||
|
|
||||||
[program:syncing-server-worker]
|
[program:syncing-server-worker]
|
||||||
directory=/opt/bundled/syncing-server
|
directory=/opt/bundled/syncing-server/packages/syncing-server
|
||||||
command=yarn workspace @standardnotes/syncing-server supervisor:worker
|
command=/opt/bundled/syncing-server/packages/syncing-server/supervisor/supervisor-worker.sh
|
||||||
autostart=true
|
autostart=true
|
||||||
autorestart=true
|
autorestart=true
|
||||||
stdout_logfile=/var/lib/server/logs/syncing-server-worker.log
|
stdout_logfile=/var/lib/server/logs/syncing-server-worker.log
|
||||||
stderr_logfile=/var/lib/server/logs/syncing-server-worker.err
|
stderr_logfile=/var/lib/server/logs/syncing-server-worker.err
|
||||||
|
|
||||||
[program:auth]
|
[program:auth]
|
||||||
directory=/opt/bundled/auth
|
directory=/opt/bundled/auth/packages/auth
|
||||||
command=yarn workspace @standardnotes/auth-server supervisor:start
|
command=/opt/bundled/auth/packages/auth/supervisor/supervisor-server.sh
|
||||||
autostart=true
|
autostart=true
|
||||||
autorestart=true
|
autorestart=true
|
||||||
stdout_logfile=/var/lib/server/logs/auth.log
|
stdout_logfile=/var/lib/server/logs/auth.log
|
||||||
stderr_logfile=/var/lib/server/logs/auth.err
|
stderr_logfile=/var/lib/server/logs/auth.err
|
||||||
|
|
||||||
[program:auth-worker]
|
[program:auth-worker]
|
||||||
directory=/opt/bundled/auth
|
directory=/opt/bundled/auth/packages/auth
|
||||||
command=yarn workspace @standardnotes/auth-server supervisor:worker
|
command=/opt/bundled/auth/packages/auth/supervisor/supervisor-worker.sh
|
||||||
autostart=true
|
autostart=true
|
||||||
autorestart=true
|
autorestart=true
|
||||||
stdout_logfile=/var/lib/server/logs/auth-worker.log
|
stdout_logfile=/var/lib/server/logs/auth-worker.log
|
||||||
stderr_logfile=/var/lib/server/logs/auth-worker.err
|
stderr_logfile=/var/lib/server/logs/auth-worker.err
|
||||||
|
|
||||||
[program:files]
|
[program:files]
|
||||||
directory=/opt/bundled/files
|
directory=/opt/bundled/files/packages/files
|
||||||
command=yarn workspace @standardnotes/files-server supervisor:start
|
command=/opt/bundled/files/packages/files/supervisor/supervisor-server.sh
|
||||||
autostart=true
|
autostart=true
|
||||||
autorestart=true
|
autorestart=true
|
||||||
stdout_logfile=/var/lib/server/logs/files.log
|
stdout_logfile=/var/lib/server/logs/files.log
|
||||||
stderr_logfile=/var/lib/server/logs/files.err
|
stderr_logfile=/var/lib/server/logs/files.err
|
||||||
|
|
||||||
[program:files-worker]
|
[program:files-worker]
|
||||||
directory=/opt/bundled/files
|
directory=/opt/bundled/files/packages/files
|
||||||
command=yarn workspace @standardnotes/files-server supervisor:worker
|
command=/opt/bundled/files/packages/files/supervisor/supervisor-worker.sh
|
||||||
autostart=true
|
autostart=true
|
||||||
autorestart=true
|
autorestart=true
|
||||||
stdout_logfile=/var/lib/server/logs/files-worker.log
|
stdout_logfile=/var/lib/server/logs/files-worker.log
|
||||||
stderr_logfile=/var/lib/server/logs/files-worker.err
|
stderr_logfile=/var/lib/server/logs/files-worker.err
|
||||||
|
|
||||||
[program:revisions]
|
[program:revisions]
|
||||||
directory=/opt/bundled/revisions
|
directory=/opt/bundled/revisions/packages/revisions
|
||||||
command=yarn workspace @standardnotes/revisions-server supervisor:start
|
command=/opt/bundled/revisions/packages/revisions/supervisor/supervisor-server.sh
|
||||||
autostart=true
|
autostart=true
|
||||||
autorestart=true
|
autorestart=true
|
||||||
stdout_logfile=/var/lib/server/logs/revisions.log
|
stdout_logfile=/var/lib/server/logs/revisions.log
|
||||||
stderr_logfile=/var/lib/server/logs/revisions.err
|
stderr_logfile=/var/lib/server/logs/revisions.err
|
||||||
|
|
||||||
[program:revisions-worker]
|
[program:revisions-worker]
|
||||||
directory=/opt/bundled/revisions
|
directory=/opt/bundled/revisions/packages/revisions
|
||||||
command=yarn workspace @standardnotes/revisions-server supervisor:worker
|
command=/opt/bundled/revisions/packages/revisions/supervisor/supervisor-worker.sh
|
||||||
autostart=true
|
autostart=true
|
||||||
autorestart=true
|
autorestart=true
|
||||||
stdout_logfile=/var/lib/server/logs/revisions-worker.log
|
stdout_logfile=/var/lib/server/logs/revisions-worker.log
|
||||||
stderr_logfile=/var/lib/server/logs/revisions-worker.err
|
stderr_logfile=/var/lib/server/logs/revisions-worker.err
|
||||||
|
|
||||||
[program:api-gateway]
|
[program:api-gateway]
|
||||||
directory=/opt/bundled/api-gateway
|
directory=/opt/bundled/api-gateway/packages/api-gateway
|
||||||
command=yarn workspace @standardnotes/api-gateway supervisor:start
|
command=/opt/bundled/api-gateway/packages/api-gateway/supervisor/supervisor-server.sh
|
||||||
autostart=true
|
autostart=true
|
||||||
autorestart=true
|
autorestart=true
|
||||||
stdout_logfile=/var/lib/server/logs/api-gateway.log
|
stdout_logfile=/var/lib/server/logs/api-gateway.log
|
||||||
|
|||||||
@@ -3,6 +3,24 @@
|
|||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||||
|
|
||||||
|
## [2.20.3](https://github.com/standardnotes/server/compare/@standardnotes/analytics@2.20.2...@standardnotes/analytics@2.20.3) (2023-02-21)
|
||||||
|
|
||||||
|
**Note:** Version bump only for package @standardnotes/analytics
|
||||||
|
|
||||||
|
## [2.20.2](https://github.com/standardnotes/server/compare/@standardnotes/analytics@2.20.1...@standardnotes/analytics@2.20.2) (2023-02-20)
|
||||||
|
|
||||||
|
**Note:** Version bump only for package @standardnotes/analytics
|
||||||
|
|
||||||
|
## [2.20.1](https://github.com/standardnotes/server/compare/@standardnotes/analytics@2.20.0...@standardnotes/analytics@2.20.1) (2023-02-15)
|
||||||
|
|
||||||
|
**Note:** Version bump only for package @standardnotes/analytics
|
||||||
|
|
||||||
|
# [2.20.0](https://github.com/standardnotes/server/compare/@standardnotes/analytics@2.19.16...@standardnotes/analytics@2.20.0) (2023-02-15)
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* optimize memory on server utilities ([881a696](https://github.com/standardnotes/server/commit/881a6967aca57d68795af0792114f848ddddf120))
|
||||||
|
|
||||||
## [2.19.16](https://github.com/standardnotes/server/compare/@standardnotes/analytics@2.19.15...@standardnotes/analytics@2.19.16) (2023-02-06)
|
## [2.19.16](https://github.com/standardnotes/server/compare/@standardnotes/analytics@2.19.15...@standardnotes/analytics@2.19.16) (2023-02-06)
|
||||||
|
|
||||||
**Note:** Version bump only for package @standardnotes/analytics
|
**Note:** Version bump only for package @standardnotes/analytics
|
||||||
|
|||||||
@@ -8,10 +8,10 @@ ENV NODE_ENV production
|
|||||||
|
|
||||||
RUN corepack enable
|
RUN corepack enable
|
||||||
|
|
||||||
WORKDIR /workspace
|
|
||||||
|
|
||||||
COPY ./ /workspace
|
COPY ./ /workspace
|
||||||
|
|
||||||
|
WORKDIR /workspace/packages/analytics
|
||||||
|
|
||||||
ENTRYPOINT [ "/workspace/packages/analytics/docker/entrypoint.sh" ]
|
ENTRYPOINT [ "/workspace/packages/analytics/docker/entrypoint.sh" ]
|
||||||
|
|
||||||
CMD [ "start-worker" ]
|
CMD [ "start-worker" ]
|
||||||
|
|||||||
@@ -0,0 +1,11 @@
|
|||||||
|
'use strict'
|
||||||
|
|
||||||
|
const path = require('path')
|
||||||
|
|
||||||
|
const pnp = require(path.normalize(path.resolve(__dirname, '../../..', '.pnp.cjs'))).setup()
|
||||||
|
|
||||||
|
const index = require(path.normalize(path.resolve(__dirname, '../dist/bin/report.js')))
|
||||||
|
|
||||||
|
Object.defineProperty(exports, '__esModule', { value: true })
|
||||||
|
|
||||||
|
exports.default = index
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
'use strict'
|
||||||
|
|
||||||
|
const path = require('path')
|
||||||
|
|
||||||
|
const pnp = require(path.normalize(path.resolve(__dirname, '../../..', '.pnp.cjs'))).setup()
|
||||||
|
|
||||||
|
const index = require(path.normalize(path.resolve(__dirname, '../dist/bin/worker.js')))
|
||||||
|
|
||||||
|
Object.defineProperty(exports, '__esModule', { value: true })
|
||||||
|
|
||||||
|
exports.default = index
|
||||||
@@ -6,12 +6,12 @@ COMMAND=$1 && shift 1
|
|||||||
case "$COMMAND" in
|
case "$COMMAND" in
|
||||||
'start-worker' )
|
'start-worker' )
|
||||||
echo "[Docker] Starting Worker..."
|
echo "[Docker] Starting Worker..."
|
||||||
yarn workspace @standardnotes/analytics worker
|
node docker/entrypoint-worker.js
|
||||||
;;
|
;;
|
||||||
|
|
||||||
'report' )
|
'report' )
|
||||||
echo "[Docker] Starting Usage Report Generation..."
|
echo "[Docker] Starting Usage Report Generation..."
|
||||||
yarn workspace @standardnotes/analytics report
|
node docker/entrypoint-report.js
|
||||||
;;
|
;;
|
||||||
|
|
||||||
* )
|
* )
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@standardnotes/analytics",
|
"name": "@standardnotes/analytics",
|
||||||
"version": "2.19.16",
|
"version": "2.20.3",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=18.0.0 <19.0.0"
|
"node": ">=18.0.0 <19.0.0"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -3,6 +3,28 @@
|
|||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||||
|
|
||||||
|
## [1.48.3](https://github.com/standardnotes/api-gateway/compare/@standardnotes/api-gateway@1.48.2...@standardnotes/api-gateway@1.48.3) (2023-02-21)
|
||||||
|
|
||||||
|
**Note:** Version bump only for package @standardnotes/api-gateway
|
||||||
|
|
||||||
|
## [1.48.2](https://github.com/standardnotes/api-gateway/compare/@standardnotes/api-gateway@1.48.1...@standardnotes/api-gateway@1.48.2) (2023-02-20)
|
||||||
|
|
||||||
|
**Note:** Version bump only for package @standardnotes/api-gateway
|
||||||
|
|
||||||
|
## [1.48.1](https://github.com/standardnotes/api-gateway/compare/@standardnotes/api-gateway@1.48.0...@standardnotes/api-gateway@1.48.1) (2023-02-15)
|
||||||
|
|
||||||
|
**Note:** Version bump only for package @standardnotes/api-gateway
|
||||||
|
|
||||||
|
# [1.48.0](https://github.com/standardnotes/api-gateway/compare/@standardnotes/api-gateway@1.47.1...@standardnotes/api-gateway@1.48.0) (2023-02-15)
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* optimize memory usage ([#444](https://github.com/standardnotes/api-gateway/issues/444)) ([fdf4b29](https://github.com/standardnotes/api-gateway/commit/fdf4b29ae2717e9b5d1fba2722beb7621a7e5c37))
|
||||||
|
|
||||||
|
## [1.47.1](https://github.com/standardnotes/api-gateway/compare/@standardnotes/api-gateway@1.47.0...@standardnotes/api-gateway@1.47.1) (2023-02-14)
|
||||||
|
|
||||||
|
**Note:** Version bump only for package @standardnotes/api-gateway
|
||||||
|
|
||||||
# [1.47.0](https://github.com/standardnotes/api-gateway/compare/@standardnotes/api-gateway@1.46.13...@standardnotes/api-gateway@1.47.0) (2023-02-13)
|
# [1.47.0](https://github.com/standardnotes/api-gateway/compare/@standardnotes/api-gateway@1.46.13...@standardnotes/api-gateway@1.47.0) (2023-02-13)
|
||||||
|
|
||||||
### Features
|
### Features
|
||||||
|
|||||||
@@ -8,10 +8,10 @@ ENV NODE_ENV production
|
|||||||
|
|
||||||
RUN corepack enable
|
RUN corepack enable
|
||||||
|
|
||||||
WORKDIR /workspace
|
|
||||||
|
|
||||||
COPY ./ /workspace
|
COPY ./ /workspace
|
||||||
|
|
||||||
|
WORKDIR /workspace/packages/api-gateway
|
||||||
|
|
||||||
ENTRYPOINT [ "/workspace/packages/api-gateway/docker/entrypoint.sh" ]
|
ENTRYPOINT [ "/workspace/packages/api-gateway/docker/entrypoint.sh" ]
|
||||||
|
|
||||||
CMD [ "start-web" ]
|
CMD [ "start-web" ]
|
||||||
|
|||||||
@@ -0,0 +1,11 @@
|
|||||||
|
'use strict'
|
||||||
|
|
||||||
|
const path = require('path')
|
||||||
|
|
||||||
|
const pnp = require(path.normalize(path.resolve(__dirname, '../../..', '.pnp.cjs'))).setup()
|
||||||
|
|
||||||
|
const index = require(path.normalize(path.resolve(__dirname, '../dist/bin/server.js')))
|
||||||
|
|
||||||
|
Object.defineProperty(exports, '__esModule', { value: true })
|
||||||
|
|
||||||
|
exports.default = index
|
||||||
@@ -4,16 +4,9 @@ set -e
|
|||||||
COMMAND=$1 && shift 1
|
COMMAND=$1 && shift 1
|
||||||
|
|
||||||
case "$COMMAND" in
|
case "$COMMAND" in
|
||||||
'start-local' )
|
|
||||||
echo "Building the project..."
|
|
||||||
yarn workspace @standardnotes/api-gateway build
|
|
||||||
echo "Starting Web..."
|
|
||||||
yarn workspace @standardnotes/api-gateway start
|
|
||||||
;;
|
|
||||||
|
|
||||||
'start-web' )
|
'start-web' )
|
||||||
echo "Starting Web..."
|
echo "Starting Web..."
|
||||||
yarn workspace @standardnotes/api-gateway start
|
node docker/entrypoint-server.js
|
||||||
;;
|
;;
|
||||||
|
|
||||||
* )
|
* )
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@standardnotes/api-gateway",
|
"name": "@standardnotes/api-gateway",
|
||||||
"version": "1.47.0",
|
"version": "1.48.3",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=18.0.0 <19.0.0"
|
"node": ">=18.0.0 <19.0.0"
|
||||||
},
|
},
|
||||||
@@ -16,9 +16,7 @@
|
|||||||
"build": "tsc --build",
|
"build": "tsc --build",
|
||||||
"lint": "eslint . --ext .ts",
|
"lint": "eslint . --ext .ts",
|
||||||
"setup:env": "cp .env.sample .env",
|
"setup:env": "cp .env.sample .env",
|
||||||
"wait-for:revisions": "docker/wait-for.sh localhost $REVISIONS_SERVER_PORT",
|
|
||||||
"start": "yarn node dist/bin/server.js",
|
"start": "yarn node dist/bin/server.js",
|
||||||
"supervisor:start": "yarn wait-for:revisions && yarn node dist/bin/server.js",
|
|
||||||
"upgrade:snjs": "yarn ncu -u '@standardnotes/*'"
|
"upgrade:snjs": "yarn ncu -u '@standardnotes/*'"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
sh supervisor/wait-for.sh localhost $SYNCING_SERVER_PORT
|
||||||
|
node docker/entrypoint-server.js
|
||||||
@@ -3,6 +3,28 @@
|
|||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||||
|
|
||||||
|
## [1.88.3](https://github.com/standardnotes/server/compare/@standardnotes/auth-server@1.88.2...@standardnotes/auth-server@1.88.3) (2023-02-21)
|
||||||
|
|
||||||
|
**Note:** Version bump only for package @standardnotes/auth-server
|
||||||
|
|
||||||
|
## [1.88.2](https://github.com/standardnotes/server/compare/@standardnotes/auth-server@1.88.1...@standardnotes/auth-server@1.88.2) (2023-02-20)
|
||||||
|
|
||||||
|
**Note:** Version bump only for package @standardnotes/auth-server
|
||||||
|
|
||||||
|
## [1.88.1](https://github.com/standardnotes/server/compare/@standardnotes/auth-server@1.88.0...@standardnotes/auth-server@1.88.1) (2023-02-15)
|
||||||
|
|
||||||
|
**Note:** Version bump only for package @standardnotes/auth-server
|
||||||
|
|
||||||
|
# [1.88.0](https://github.com/standardnotes/server/compare/@standardnotes/auth-server@1.87.15...@standardnotes/auth-server@1.88.0) (2023-02-15)
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* optimize memory usage ([#444](https://github.com/standardnotes/server/issues/444)) ([fdf4b29](https://github.com/standardnotes/server/commit/fdf4b29ae2717e9b5d1fba2722beb7621a7e5c37))
|
||||||
|
|
||||||
|
## [1.87.15](https://github.com/standardnotes/server/compare/@standardnotes/auth-server@1.87.14...@standardnotes/auth-server@1.87.15) (2023-02-14)
|
||||||
|
|
||||||
|
**Note:** Version bump only for package @standardnotes/auth-server
|
||||||
|
|
||||||
## [1.87.14](https://github.com/standardnotes/server/compare/@standardnotes/auth-server@1.87.13...@standardnotes/auth-server@1.87.14) (2023-02-09)
|
## [1.87.14](https://github.com/standardnotes/server/compare/@standardnotes/auth-server@1.87.13...@standardnotes/auth-server@1.87.14) (2023-02-09)
|
||||||
|
|
||||||
### Bug Fixes
|
### Bug Fixes
|
||||||
|
|||||||
@@ -8,10 +8,10 @@ ENV NODE_ENV production
|
|||||||
|
|
||||||
RUN corepack enable
|
RUN corepack enable
|
||||||
|
|
||||||
WORKDIR /workspace
|
|
||||||
|
|
||||||
COPY ./ /workspace
|
COPY ./ /workspace
|
||||||
|
|
||||||
|
WORKDIR /workspace/packages/auth
|
||||||
|
|
||||||
ENTRYPOINT [ "/workspace/packages/auth/docker/entrypoint.sh" ]
|
ENTRYPOINT [ "/workspace/packages/auth/docker/entrypoint.sh" ]
|
||||||
|
|
||||||
CMD [ "start-web" ]
|
CMD [ "start-web" ]
|
||||||
|
|||||||
@@ -1,74 +0,0 @@
|
|||||||
import 'reflect-metadata'
|
|
||||||
|
|
||||||
import 'newrelic'
|
|
||||||
|
|
||||||
import { Logger } from 'winston'
|
|
||||||
import * as dayjs from 'dayjs'
|
|
||||||
import * as utc from 'dayjs/plugin/utc'
|
|
||||||
|
|
||||||
import { ContainerConfigLoader } from '../src/Bootstrap/Container'
|
|
||||||
import TYPES from '../src/Bootstrap/Types'
|
|
||||||
import { Env } from '../src/Bootstrap/Env'
|
|
||||||
import { DomainEventPublisherInterface } from '@standardnotes/domain-events'
|
|
||||||
import { DomainEventFactoryInterface } from '../src/Domain/Event/DomainEventFactoryInterface'
|
|
||||||
import { UserRepositoryInterface } from '../src/Domain/User/UserRepositoryInterface'
|
|
||||||
import { Stream } from 'stream'
|
|
||||||
|
|
||||||
const requestRecalculation = async (
|
|
||||||
userRepository: UserRepositoryInterface,
|
|
||||||
domainEventFactory: DomainEventFactoryInterface,
|
|
||||||
domainEventPublisher: DomainEventPublisherInterface,
|
|
||||||
logger: Logger,
|
|
||||||
): Promise<void> => {
|
|
||||||
const stream = await userRepository.streamAll()
|
|
||||||
|
|
||||||
return new Promise((resolve, reject) => {
|
|
||||||
stream
|
|
||||||
.pipe(
|
|
||||||
new Stream.Transform({
|
|
||||||
objectMode: true,
|
|
||||||
transform: async (rawUserData, _encoding, callback) => {
|
|
||||||
try {
|
|
||||||
await domainEventPublisher.publish(
|
|
||||||
domainEventFactory.createUserContentSizeRecalculationRequestedEvent(rawUserData.user_uuid),
|
|
||||||
)
|
|
||||||
} catch (error) {
|
|
||||||
logger.error(`Could not process user ${rawUserData.user_uuid}: ${(error as Error).message}`)
|
|
||||||
}
|
|
||||||
|
|
||||||
callback()
|
|
||||||
},
|
|
||||||
}),
|
|
||||||
)
|
|
||||||
.on('finish', resolve)
|
|
||||||
.on('error', reject)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
const container = new ContainerConfigLoader()
|
|
||||||
void container.load().then((container) => {
|
|
||||||
dayjs.extend(utc)
|
|
||||||
|
|
||||||
const env: Env = new Env()
|
|
||||||
env.load()
|
|
||||||
|
|
||||||
const logger: Logger = container.get(TYPES.Logger)
|
|
||||||
|
|
||||||
logger.info('Starting content size recalculation requests ...')
|
|
||||||
|
|
||||||
const userRepository: UserRepositoryInterface = container.get(TYPES.UserRepository)
|
|
||||||
const domainEventFactory: DomainEventFactoryInterface = container.get(TYPES.DomainEventFactory)
|
|
||||||
const domainEventPublisher: DomainEventPublisherInterface = container.get(TYPES.DomainEventPublisher)
|
|
||||||
|
|
||||||
Promise.resolve(requestRecalculation(userRepository, domainEventFactory, domainEventPublisher, logger))
|
|
||||||
.then(() => {
|
|
||||||
logger.info('content size recalculation requesting complete')
|
|
||||||
|
|
||||||
process.exit(0)
|
|
||||||
})
|
|
||||||
.catch((error) => {
|
|
||||||
logger.error(`Could not finish content size recalculation requesting : ${error.message}`)
|
|
||||||
|
|
||||||
process.exit(1)
|
|
||||||
})
|
|
||||||
})
|
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
'use strict'
|
||||||
|
|
||||||
|
const path = require('path')
|
||||||
|
|
||||||
|
const pnp = require(path.normalize(path.resolve(__dirname, '../../..', '.pnp.cjs'))).setup()
|
||||||
|
|
||||||
|
const index = require(path.normalize(path.resolve(__dirname, '../dist/bin/backup.js')))
|
||||||
|
|
||||||
|
Object.defineProperty(exports, '__esModule', { value: true })
|
||||||
|
|
||||||
|
exports.default = index
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
'use strict'
|
||||||
|
|
||||||
|
const path = require('path')
|
||||||
|
|
||||||
|
const pnp = require(path.normalize(path.resolve(__dirname, '../../..', '.pnp.cjs'))).setup()
|
||||||
|
|
||||||
|
const index = require(path.normalize(path.resolve(__dirname, '../dist/bin/cleanup.js')))
|
||||||
|
|
||||||
|
Object.defineProperty(exports, '__esModule', { value: true })
|
||||||
|
|
||||||
|
exports.default = index
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
'use strict'
|
||||||
|
|
||||||
|
const path = require('path')
|
||||||
|
|
||||||
|
const pnp = require(path.normalize(path.resolve(__dirname, '../../..', '.pnp.cjs'))).setup()
|
||||||
|
|
||||||
|
const index = require(path.normalize(path.resolve(__dirname, '../dist/bin/server.js')))
|
||||||
|
|
||||||
|
Object.defineProperty(exports, '__esModule', { value: true })
|
||||||
|
|
||||||
|
exports.default = index
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
'use strict'
|
||||||
|
|
||||||
|
const path = require('path')
|
||||||
|
|
||||||
|
const pnp = require(path.normalize(path.resolve(__dirname, '../../..', '.pnp.cjs'))).setup()
|
||||||
|
|
||||||
|
const index = require(path.normalize(path.resolve(__dirname, '../dist/bin/stats.js')))
|
||||||
|
|
||||||
|
Object.defineProperty(exports, '__esModule', { value: true })
|
||||||
|
|
||||||
|
exports.default = index
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
'use strict'
|
||||||
|
|
||||||
|
const path = require('path')
|
||||||
|
|
||||||
|
const pnp = require(path.normalize(path.resolve(__dirname, '../../..', '.pnp.cjs'))).setup()
|
||||||
|
|
||||||
|
const index = require(path.normalize(path.resolve(__dirname, '../dist/bin/user_email_backup.js')))
|
||||||
|
|
||||||
|
Object.defineProperty(exports, '__esModule', { value: true })
|
||||||
|
|
||||||
|
exports.default = index
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
'use strict'
|
||||||
|
|
||||||
|
const path = require('path')
|
||||||
|
|
||||||
|
const pnp = require(path.normalize(path.resolve(__dirname, '../../..', '.pnp.cjs'))).setup()
|
||||||
|
|
||||||
|
const index = require(path.normalize(path.resolve(__dirname, '../dist/bin/worker.js')))
|
||||||
|
|
||||||
|
Object.defineProperty(exports, '__esModule', { value: true })
|
||||||
|
|
||||||
|
exports.default = index
|
||||||
@@ -4,65 +4,55 @@ set -e
|
|||||||
COMMAND=$1 && shift 1
|
COMMAND=$1 && shift 1
|
||||||
|
|
||||||
case "$COMMAND" in
|
case "$COMMAND" in
|
||||||
'start-local' )
|
|
||||||
echo "[Docker] Starting Web..."
|
|
||||||
yarn workspace @standardnotes/auth-server start:local
|
|
||||||
;;
|
|
||||||
|
|
||||||
'start-web' )
|
'start-web' )
|
||||||
echo "[Docker] Starting Web..."
|
echo "[Docker] Starting Web..."
|
||||||
yarn workspace @standardnotes/auth-server start
|
node docker/entrypoint-server.js
|
||||||
;;
|
;;
|
||||||
|
|
||||||
'start-worker' )
|
'start-worker' )
|
||||||
echo "[Docker] Starting Worker..."
|
echo "[Docker] Starting Worker..."
|
||||||
yarn workspace @standardnotes/auth-server worker
|
node docker/entrypoint-worker.js
|
||||||
;;
|
;;
|
||||||
|
|
||||||
'cleanup' )
|
'cleanup' )
|
||||||
echo "[Docker] Starting Cleanup..."
|
echo "[Docker] Starting Cleanup..."
|
||||||
yarn workspace @standardnotes/auth-server cleanup
|
node docker/entrypoint-cleanup.js
|
||||||
;;
|
;;
|
||||||
|
|
||||||
'stats' )
|
'stats' )
|
||||||
echo "[Docker] Starting Persisting Stats..."
|
echo "[Docker] Starting Persisting Stats..."
|
||||||
yarn workspace @standardnotes/auth-server stats
|
node docker/entrypoint-stats.js
|
||||||
;;
|
;;
|
||||||
|
|
||||||
'email-daily-backup' )
|
'email-daily-backup' )
|
||||||
echo "[Docker] Starting Email Daily Backup..."
|
echo "[Docker] Starting Email Daily Backup..."
|
||||||
yarn workspace @standardnotes/auth-server daily-backup:email
|
node docker/entrypoint-backup.js email daily
|
||||||
;;
|
;;
|
||||||
|
|
||||||
'email-weekly-backup' )
|
'email-weekly-backup' )
|
||||||
echo "[Docker] Starting Email Weekly Backup..."
|
echo "[Docker] Starting Email Weekly Backup..."
|
||||||
yarn workspace @standardnotes/auth-server weekly-backup:email
|
node docker/entrypoint-backup.js email weekly
|
||||||
;;
|
;;
|
||||||
|
|
||||||
'email-backup' )
|
'email-backup' )
|
||||||
echo "[Docker] Starting Email Backup For Single User..."
|
echo "[Docker] Starting Email Backup For Single User..."
|
||||||
EMAIL=$1 && shift 1
|
EMAIL=$1 && shift 1
|
||||||
yarn workspace @standardnotes/auth-server user-email-backup $EMAIL
|
node docker/entrypoint-user-email-backup.js $EMAIL
|
||||||
;;
|
;;
|
||||||
|
|
||||||
'dropbox-daily-backup' )
|
'dropbox-daily-backup' )
|
||||||
echo "[Docker] Starting Dropbox Daily Backup..."
|
echo "[Docker] Starting Dropbox Daily Backup..."
|
||||||
yarn workspace @standardnotes/auth-server daily-backup:dropbox
|
node docker/entrypoint-backup.js dropbox daily
|
||||||
;;
|
;;
|
||||||
|
|
||||||
'google-drive-daily-backup' )
|
'google-drive-daily-backup' )
|
||||||
echo "[Docker] Starting Google Drive Daily Backup..."
|
echo "[Docker] Starting Google Drive Daily Backup..."
|
||||||
yarn workspace @standardnotes/auth-server daily-backup:google_drive
|
node docker/entrypoint-backup.js google_drive daily
|
||||||
;;
|
;;
|
||||||
|
|
||||||
'one-drive-daily-backup' )
|
'one-drive-daily-backup' )
|
||||||
echo "[Docker] Starting One Drive Daily Backup..."
|
echo "[Docker] Starting One Drive Daily Backup..."
|
||||||
yarn workspace @standardnotes/auth-server daily-backup:one_drive
|
node docker/entrypoint-backup.js one_drive daily
|
||||||
;;
|
|
||||||
|
|
||||||
'content-recalculation' )
|
|
||||||
echo "[Docker] Starting Content Size Recalculation..."
|
|
||||||
yarn workspace @standardnotes/auth-server content-recalculation
|
|
||||||
;;
|
;;
|
||||||
|
|
||||||
* )
|
* )
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@standardnotes/auth-server",
|
"name": "@standardnotes/auth-server",
|
||||||
"version": "1.87.14",
|
"version": "1.88.3",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=18.0.0 <19.0.0"
|
"node": ">=18.0.0 <19.0.0"
|
||||||
},
|
},
|
||||||
@@ -17,12 +17,8 @@
|
|||||||
"lint": "eslint . --ext .ts",
|
"lint": "eslint . --ext .ts",
|
||||||
"pretest": "yarn lint && yarn build",
|
"pretest": "yarn lint && yarn build",
|
||||||
"test": "jest --coverage --config=./jest.config.js --maxWorkers=50%",
|
"test": "jest --coverage --config=./jest.config.js --maxWorkers=50%",
|
||||||
"wait-for:syncing-server": "docker/wait-for.sh localhost $SYNCING_SERVER_PORT",
|
|
||||||
"wait-for:auth": "docker/wait-for.sh localhost $AUTH_SERVER_PORT",
|
|
||||||
"start": "yarn node dist/bin/server.js",
|
"start": "yarn node dist/bin/server.js",
|
||||||
"supervisor:start": "yarn wait-for:syncing-server && yarn node dist/bin/server.js",
|
|
||||||
"worker": "yarn node dist/bin/worker.js",
|
"worker": "yarn node dist/bin/worker.js",
|
||||||
"supervisor:worker": "yarn wait-for:auth && yarn node dist/bin/worker.js",
|
|
||||||
"cleanup": "yarn node dist/bin/cleanup.js",
|
"cleanup": "yarn node dist/bin/cleanup.js",
|
||||||
"stats": "yarn node dist/bin/stats.js",
|
"stats": "yarn node dist/bin/stats.js",
|
||||||
"daily-backup:email": "yarn node dist/bin/backup.js email daily",
|
"daily-backup:email": "yarn node dist/bin/backup.js email daily",
|
||||||
|
|||||||
@@ -16,7 +16,6 @@ import {
|
|||||||
DomainEventService,
|
DomainEventService,
|
||||||
WebSocketMessageRequestedEvent,
|
WebSocketMessageRequestedEvent,
|
||||||
ExitDiscountApplyRequestedEvent,
|
ExitDiscountApplyRequestedEvent,
|
||||||
UserContentSizeRecalculationRequestedEvent,
|
|
||||||
MuteEmailsSettingChangedEvent,
|
MuteEmailsSettingChangedEvent,
|
||||||
EmailRequestedEvent,
|
EmailRequestedEvent,
|
||||||
StatisticPersistenceRequestedEvent,
|
StatisticPersistenceRequestedEvent,
|
||||||
@@ -70,23 +69,6 @@ export class DomainEventFactory implements DomainEventFactoryInterface {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
createUserContentSizeRecalculationRequestedEvent(userUuid: string): UserContentSizeRecalculationRequestedEvent {
|
|
||||||
return {
|
|
||||||
type: 'USER_CONTENT_SIZE_RECALCULATION_REQUESTED',
|
|
||||||
createdAt: this.timer.getUTCDate(),
|
|
||||||
meta: {
|
|
||||||
correlation: {
|
|
||||||
userIdentifier: userUuid,
|
|
||||||
userIdentifierType: 'uuid',
|
|
||||||
},
|
|
||||||
origin: DomainEventService.Auth,
|
|
||||||
},
|
|
||||||
payload: {
|
|
||||||
userUuid,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
createExitDiscountApplyRequestedEvent(dto: {
|
createExitDiscountApplyRequestedEvent(dto: {
|
||||||
userEmail: string
|
userEmail: string
|
||||||
discountCode: string
|
discountCode: string
|
||||||
|
|||||||
@@ -14,7 +14,6 @@ import {
|
|||||||
PredicateVerifiedEvent,
|
PredicateVerifiedEvent,
|
||||||
WebSocketMessageRequestedEvent,
|
WebSocketMessageRequestedEvent,
|
||||||
ExitDiscountApplyRequestedEvent,
|
ExitDiscountApplyRequestedEvent,
|
||||||
UserContentSizeRecalculationRequestedEvent,
|
|
||||||
MuteEmailsSettingChangedEvent,
|
MuteEmailsSettingChangedEvent,
|
||||||
EmailRequestedEvent,
|
EmailRequestedEvent,
|
||||||
StatisticPersistenceRequestedEvent,
|
StatisticPersistenceRequestedEvent,
|
||||||
@@ -22,7 +21,6 @@ import {
|
|||||||
import { InviteeIdentifierType } from '../SharedSubscription/InviteeIdentifierType'
|
import { InviteeIdentifierType } from '../SharedSubscription/InviteeIdentifierType'
|
||||||
|
|
||||||
export interface DomainEventFactoryInterface {
|
export interface DomainEventFactoryInterface {
|
||||||
createUserContentSizeRecalculationRequestedEvent(userUuid: string): UserContentSizeRecalculationRequestedEvent
|
|
||||||
createWebSocketMessageRequestedEvent(dto: { userUuid: string; message: JSONString }): WebSocketMessageRequestedEvent
|
createWebSocketMessageRequestedEvent(dto: { userUuid: string; message: JSONString }): WebSocketMessageRequestedEvent
|
||||||
createEmailRequestedEvent(dto: {
|
createEmailRequestedEvent(dto: {
|
||||||
userEmail: string
|
userEmail: string
|
||||||
|
|||||||
+6
@@ -0,0 +1,6 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
sh supervisor/wait-for.sh localhost $SYNCING_SERVER_PORT
|
||||||
|
node docker/entrypoint-server.js
|
||||||
+6
@@ -0,0 +1,6 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
sh supervisor/wait-for.sh localhost $AUTH_SERVER_PORT
|
||||||
|
node docker/entrypoint-worker.js
|
||||||
@@ -3,6 +3,12 @@
|
|||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||||
|
|
||||||
|
## [1.11.3](https://github.com/standardnotes/server/compare/@standardnotes/domain-core@1.11.2...@standardnotes/domain-core@1.11.3) (2023-02-15)
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **domain-core:** remove unnecessary dependencies ([16043a7](https://github.com/standardnotes/server/commit/16043a7d6881378ed3286e08dc9e21e5e6b89171))
|
||||||
|
|
||||||
## [1.11.2](https://github.com/standardnotes/server/compare/@standardnotes/domain-core@1.11.1...@standardnotes/domain-core@1.11.2) (2023-01-20)
|
## [1.11.2](https://github.com/standardnotes/server/compare/@standardnotes/domain-core@1.11.1...@standardnotes/domain-core@1.11.2) (2023-01-20)
|
||||||
|
|
||||||
**Note:** Version bump only for package @standardnotes/domain-core
|
**Note:** Version bump only for package @standardnotes/domain-core
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@standardnotes/domain-core",
|
"name": "@standardnotes/domain-core",
|
||||||
"version": "1.11.2",
|
"version": "1.11.3",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=18.0.0 <19.0.0"
|
"node": ">=18.0.0 <19.0.0"
|
||||||
},
|
},
|
||||||
@@ -23,8 +23,6 @@
|
|||||||
"test": "jest spec --coverage --passWithNoTests"
|
"test": "jest spec --coverage --passWithNoTests"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"reflect-metadata": "^0.1.13",
|
|
||||||
"shallow-equal-object": "^1.1.1",
|
|
||||||
"uuid": "^9.0.0"
|
"uuid": "^9.0.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ export class RoleNameCollection extends ValueObject<RoleNameCollectionProps> {
|
|||||||
|
|
||||||
includes(roleName: RoleName): boolean {
|
includes(roleName: RoleName): boolean {
|
||||||
for (const existingRoleName of this.props.value) {
|
for (const existingRoleName of this.props.value) {
|
||||||
if (existingRoleName.equals(roleName)) {
|
if (existingRoleName.value === roleName.value) {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -28,7 +28,7 @@ export class RoleNameCollection extends ValueObject<RoleNameCollectionProps> {
|
|||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
override equals(roleNameCollection: RoleNameCollection): boolean {
|
equals(roleNameCollection: RoleNameCollection): boolean {
|
||||||
if (this.props.value.length !== roleNameCollection.value.length) {
|
if (this.props.value.length !== roleNameCollection.value.length) {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
/* istanbul ignore file */
|
/* istanbul ignore file */
|
||||||
|
|
||||||
import { shallowEqual } from 'shallow-equal-object'
|
|
||||||
|
|
||||||
import { ValueObjectProps } from './ValueObjectProps'
|
import { ValueObjectProps } from './ValueObjectProps'
|
||||||
|
|
||||||
export abstract class ValueObject<T extends ValueObjectProps> {
|
export abstract class ValueObject<T extends ValueObjectProps> {
|
||||||
@@ -10,15 +7,4 @@ export abstract class ValueObject<T extends ValueObjectProps> {
|
|||||||
constructor(props: T) {
|
constructor(props: T) {
|
||||||
this.props = Object.freeze(props)
|
this.props = Object.freeze(props)
|
||||||
}
|
}
|
||||||
|
|
||||||
equals(valueObject?: ValueObject<T>): boolean {
|
|
||||||
if (valueObject === null || valueObject === undefined) {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
if (valueObject.props === undefined) {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
return shallowEqual(this.props, valueObject.props)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,6 +3,14 @@
|
|||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||||
|
|
||||||
|
## [1.9.70](https://github.com/standardnotes/server/compare/@standardnotes/domain-events-infra@1.9.69...@standardnotes/domain-events-infra@1.9.70) (2023-02-21)
|
||||||
|
|
||||||
|
**Note:** Version bump only for package @standardnotes/domain-events-infra
|
||||||
|
|
||||||
|
## [1.9.69](https://github.com/standardnotes/server/compare/@standardnotes/domain-events-infra@1.9.68...@standardnotes/domain-events-infra@1.9.69) (2023-02-20)
|
||||||
|
|
||||||
|
**Note:** Version bump only for package @standardnotes/domain-events-infra
|
||||||
|
|
||||||
## [1.9.68](https://github.com/standardnotes/server/compare/@standardnotes/domain-events-infra@1.9.67...@standardnotes/domain-events-infra@1.9.68) (2023-01-30)
|
## [1.9.68](https://github.com/standardnotes/server/compare/@standardnotes/domain-events-infra@1.9.67...@standardnotes/domain-events-infra@1.9.68) (2023-01-30)
|
||||||
|
|
||||||
**Note:** Version bump only for package @standardnotes/domain-events-infra
|
**Note:** Version bump only for package @standardnotes/domain-events-infra
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@standardnotes/domain-events-infra",
|
"name": "@standardnotes/domain-events-infra",
|
||||||
"version": "1.9.68",
|
"version": "1.9.70",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=18.0.0 <19.0.0"
|
"node": ">=18.0.0 <19.0.0"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -3,6 +3,16 @@
|
|||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||||
|
|
||||||
|
## [2.107.1](https://github.com/standardnotes/server/compare/@standardnotes/domain-events@2.107.0...@standardnotes/domain-events@2.107.1) (2023-02-21)
|
||||||
|
|
||||||
|
**Note:** Version bump only for package @standardnotes/domain-events
|
||||||
|
|
||||||
|
# [2.107.0](https://github.com/standardnotes/server/compare/@standardnotes/domain-events@2.106.2...@standardnotes/domain-events@2.107.0) (2023-02-20)
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* **domain-events:** add email sent event ([190595f](https://github.com/standardnotes/server/commit/190595febf935f0f47818a2d9f7926a5f351a458))
|
||||||
|
|
||||||
## [2.106.2](https://github.com/standardnotes/server/compare/@standardnotes/domain-events@2.106.1...@standardnotes/domain-events@2.106.2) (2023-01-20)
|
## [2.106.2](https://github.com/standardnotes/server/compare/@standardnotes/domain-events@2.106.1...@standardnotes/domain-events@2.106.2) (2023-01-20)
|
||||||
|
|
||||||
### Reverts
|
### Reverts
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@standardnotes/domain-events",
|
"name": "@standardnotes/domain-events",
|
||||||
"version": "2.106.2",
|
"version": "2.107.1",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=18.0.0 <19.0.0"
|
"node": ">=18.0.0 <19.0.0"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -0,0 +1,7 @@
|
|||||||
|
import { DomainEventInterface } from './DomainEventInterface'
|
||||||
|
import { EmailSentEventPayload } from './EmailSentEventPayload'
|
||||||
|
|
||||||
|
export interface EmailSentEvent extends DomainEventInterface {
|
||||||
|
type: 'EMAIL_SENT'
|
||||||
|
payload: EmailSentEventPayload
|
||||||
|
}
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
export interface EmailSentEventPayload {
|
||||||
|
userEmail: string
|
||||||
|
messageIdentifier: string
|
||||||
|
level: string
|
||||||
|
subject: string
|
||||||
|
body: string
|
||||||
|
sender?: string
|
||||||
|
additionalStyles?: string
|
||||||
|
attachments?: Array<{
|
||||||
|
filePath: string
|
||||||
|
fileName: string
|
||||||
|
attachmentFileName: string
|
||||||
|
attachmentContentType: string
|
||||||
|
}>
|
||||||
|
}
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
import { DomainEventInterface } from './DomainEventInterface'
|
|
||||||
import { RevisionsOwnershipUpdateRequestedEventPayload } from './RevisionsOwnershipUpdateRequestedEventPayload'
|
|
||||||
|
|
||||||
export interface RevisionsOwnershipUpdateRequestedEvent extends DomainEventInterface {
|
|
||||||
type: 'REVISIONS_OWNERSHIP_UPDATE_REQUESTED'
|
|
||||||
payload: RevisionsOwnershipUpdateRequestedEventPayload
|
|
||||||
}
|
|
||||||
-4
@@ -1,4 +0,0 @@
|
|||||||
export interface RevisionsOwnershipUpdateRequestedEventPayload {
|
|
||||||
itemUuid: string
|
|
||||||
userUuid: string
|
|
||||||
}
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
import { DomainEventInterface } from './DomainEventInterface'
|
|
||||||
import { UserContentSizeRecalculationRequestedEventPayload } from './UserContentSizeRecalculationRequestedEventPayload'
|
|
||||||
|
|
||||||
export interface UserContentSizeRecalculationRequestedEvent extends DomainEventInterface {
|
|
||||||
type: 'USER_CONTENT_SIZE_RECALCULATION_REQUESTED'
|
|
||||||
payload: UserContentSizeRecalculationRequestedEventPayload
|
|
||||||
}
|
|
||||||
-3
@@ -1,3 +0,0 @@
|
|||||||
export interface UserContentSizeRecalculationRequestedEventPayload {
|
|
||||||
userUuid: string
|
|
||||||
}
|
|
||||||
@@ -14,6 +14,8 @@ export * from './Event/EmailBackupRequestedEvent'
|
|||||||
export * from './Event/EmailBackupRequestedEventPayload'
|
export * from './Event/EmailBackupRequestedEventPayload'
|
||||||
export * from './Event/EmailRequestedEvent'
|
export * from './Event/EmailRequestedEvent'
|
||||||
export * from './Event/EmailRequestedEventPayload'
|
export * from './Event/EmailRequestedEventPayload'
|
||||||
|
export * from './Event/EmailSentEvent'
|
||||||
|
export * from './Event/EmailSentEventPayload'
|
||||||
export * from './Event/EmailSubscriptionUnsubscribedEvent'
|
export * from './Event/EmailSubscriptionUnsubscribedEvent'
|
||||||
export * from './Event/EmailSubscriptionUnsubscribedEventPayload'
|
export * from './Event/EmailSubscriptionUnsubscribedEventPayload'
|
||||||
export * from './Event/ExitDiscountAppliedEvent'
|
export * from './Event/ExitDiscountAppliedEvent'
|
||||||
@@ -52,8 +54,6 @@ export * from './Event/RefundProcessedEvent'
|
|||||||
export * from './Event/RefundProcessedEventPayload'
|
export * from './Event/RefundProcessedEventPayload'
|
||||||
export * from './Event/RevisionsCopyRequestedEvent'
|
export * from './Event/RevisionsCopyRequestedEvent'
|
||||||
export * from './Event/RevisionsCopyRequestedEventPayload'
|
export * from './Event/RevisionsCopyRequestedEventPayload'
|
||||||
export * from './Event/RevisionsOwnershipUpdateRequestedEvent'
|
|
||||||
export * from './Event/RevisionsOwnershipUpdateRequestedEventPayload'
|
|
||||||
export * from './Event/SharedSubscriptionInvitationCanceledEvent'
|
export * from './Event/SharedSubscriptionInvitationCanceledEvent'
|
||||||
export * from './Event/SharedSubscriptionInvitationCanceledEventPayload'
|
export * from './Event/SharedSubscriptionInvitationCanceledEventPayload'
|
||||||
export * from './Event/SharedSubscriptionInvitationCreatedEvent'
|
export * from './Event/SharedSubscriptionInvitationCreatedEvent'
|
||||||
@@ -78,8 +78,6 @@ export * from './Event/SubscriptionRevertRequestedEvent'
|
|||||||
export * from './Event/SubscriptionRevertRequestedEventPayload'
|
export * from './Event/SubscriptionRevertRequestedEventPayload'
|
||||||
export * from './Event/SubscriptionSyncRequestedEvent'
|
export * from './Event/SubscriptionSyncRequestedEvent'
|
||||||
export * from './Event/SubscriptionSyncRequestedEventPayload'
|
export * from './Event/SubscriptionSyncRequestedEventPayload'
|
||||||
export * from './Event/UserContentSizeRecalculationRequestedEvent'
|
|
||||||
export * from './Event/UserContentSizeRecalculationRequestedEventPayload'
|
|
||||||
export * from './Event/UserDisabledSessionUserAgentLoggingEvent'
|
export * from './Event/UserDisabledSessionUserAgentLoggingEvent'
|
||||||
export * from './Event/UserDisabledSessionUserAgentLoggingEventPayload'
|
export * from './Event/UserDisabledSessionUserAgentLoggingEventPayload'
|
||||||
export * from './Event/UserEmailChangedEvent'
|
export * from './Event/UserEmailChangedEvent'
|
||||||
|
|||||||
@@ -3,6 +3,22 @@
|
|||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||||
|
|
||||||
|
## [1.7.2](https://github.com/standardnotes/server/compare/@standardnotes/event-store@1.7.1...@standardnotes/event-store@1.7.2) (2023-02-21)
|
||||||
|
|
||||||
|
**Note:** Version bump only for package @standardnotes/event-store
|
||||||
|
|
||||||
|
## [1.7.1](https://github.com/standardnotes/server/compare/@standardnotes/event-store@1.7.0...@standardnotes/event-store@1.7.1) (2023-02-20)
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **event-store:** add handling of email sent events ([d023a27](https://github.com/standardnotes/server/commit/d023a2737772e01eca8dc2c848ddebe43bb58734))
|
||||||
|
|
||||||
|
# [1.7.0](https://github.com/standardnotes/server/compare/@standardnotes/event-store@1.6.68...@standardnotes/event-store@1.7.0) (2023-02-15)
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* optimize memory on server utilities ([881a696](https://github.com/standardnotes/server/commit/881a6967aca57d68795af0792114f848ddddf120))
|
||||||
|
|
||||||
## [1.6.68](https://github.com/standardnotes/server/compare/@standardnotes/event-store@1.6.67...@standardnotes/event-store@1.6.68) (2023-01-30)
|
## [1.6.68](https://github.com/standardnotes/server/compare/@standardnotes/event-store@1.6.67...@standardnotes/event-store@1.6.68) (2023-01-30)
|
||||||
|
|
||||||
### Bug Fixes
|
### Bug Fixes
|
||||||
|
|||||||
@@ -8,10 +8,10 @@ ENV NODE_ENV production
|
|||||||
|
|
||||||
RUN corepack enable
|
RUN corepack enable
|
||||||
|
|
||||||
WORKDIR /workspace
|
|
||||||
|
|
||||||
COPY ./ /workspace
|
COPY ./ /workspace
|
||||||
|
|
||||||
|
WORKDIR /workspace/packages/event-store
|
||||||
|
|
||||||
ENTRYPOINT [ "/workspace/packages/event-store/docker/entrypoint.sh" ]
|
ENTRYPOINT [ "/workspace/packages/event-store/docker/entrypoint.sh" ]
|
||||||
|
|
||||||
CMD [ "start-worker" ]
|
CMD [ "start-worker" ]
|
||||||
|
|||||||
@@ -0,0 +1,11 @@
|
|||||||
|
'use strict'
|
||||||
|
|
||||||
|
const path = require('path')
|
||||||
|
|
||||||
|
const pnp = require(path.normalize(path.resolve(__dirname, '../../..', '.pnp.cjs'))).setup()
|
||||||
|
|
||||||
|
const index = require(path.normalize(path.resolve(__dirname, '../dist/bin/worker.js')))
|
||||||
|
|
||||||
|
Object.defineProperty(exports, '__esModule', { value: true })
|
||||||
|
|
||||||
|
exports.default = index
|
||||||
@@ -6,7 +6,7 @@ COMMAND=$1 && shift 1
|
|||||||
case "$COMMAND" in
|
case "$COMMAND" in
|
||||||
'start-worker' )
|
'start-worker' )
|
||||||
echo "Starting Worker..."
|
echo "Starting Worker..."
|
||||||
yarn workspace @standardnotes/event-store worker
|
node docker/entrypoint-worker.js
|
||||||
;;
|
;;
|
||||||
|
|
||||||
* )
|
* )
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@standardnotes/event-store",
|
"name": "@standardnotes/event-store",
|
||||||
"version": "1.6.68",
|
"version": "1.7.2",
|
||||||
"description": "Event Store Service",
|
"description": "Event Store Service",
|
||||||
"private": true,
|
"private": true,
|
||||||
"main": "dist/src/index.js",
|
"main": "dist/src/index.js",
|
||||||
|
|||||||
@@ -81,6 +81,7 @@ export class ContainerConfigLoader {
|
|||||||
['LISTED_ACCOUNT_CREATED', container.get(TYPES.EventHandler)],
|
['LISTED_ACCOUNT_CREATED', container.get(TYPES.EventHandler)],
|
||||||
['LISTED_ACCOUNT_DELETED', container.get(TYPES.EventHandler)],
|
['LISTED_ACCOUNT_DELETED', container.get(TYPES.EventHandler)],
|
||||||
['EMAIL_REQUESTED', container.get(TYPES.EventHandler)],
|
['EMAIL_REQUESTED', container.get(TYPES.EventHandler)],
|
||||||
|
['EMAIL_SENT', container.get(TYPES.EventHandler)],
|
||||||
['SHARED_SUBSCRIPTION_INVITATION_CREATED', container.get(TYPES.EventHandler)],
|
['SHARED_SUBSCRIPTION_INVITATION_CREATED', container.get(TYPES.EventHandler)],
|
||||||
['EMAIL_BACKUP_REQUESTED', container.get(TYPES.EventHandler)],
|
['EMAIL_BACKUP_REQUESTED', container.get(TYPES.EventHandler)],
|
||||||
['PAYMENT_FAILED', container.get(TYPES.EventHandler)],
|
['PAYMENT_FAILED', container.get(TYPES.EventHandler)],
|
||||||
|
|||||||
@@ -3,6 +3,28 @@
|
|||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||||
|
|
||||||
|
## [1.10.3](https://github.com/standardnotes/files/compare/@standardnotes/files-server@1.10.2...@standardnotes/files-server@1.10.3) (2023-02-21)
|
||||||
|
|
||||||
|
**Note:** Version bump only for package @standardnotes/files-server
|
||||||
|
|
||||||
|
## [1.10.2](https://github.com/standardnotes/files/compare/@standardnotes/files-server@1.10.1...@standardnotes/files-server@1.10.2) (2023-02-20)
|
||||||
|
|
||||||
|
**Note:** Version bump only for package @standardnotes/files-server
|
||||||
|
|
||||||
|
## [1.10.1](https://github.com/standardnotes/files/compare/@standardnotes/files-server@1.10.0...@standardnotes/files-server@1.10.1) (2023-02-15)
|
||||||
|
|
||||||
|
**Note:** Version bump only for package @standardnotes/files-server
|
||||||
|
|
||||||
|
# [1.10.0](https://github.com/standardnotes/files/compare/@standardnotes/files-server@1.9.18...@standardnotes/files-server@1.10.0) (2023-02-15)
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* optimize memory usage ([#444](https://github.com/standardnotes/files/issues/444)) ([fdf4b29](https://github.com/standardnotes/files/commit/fdf4b29ae2717e9b5d1fba2722beb7621a7e5c37))
|
||||||
|
|
||||||
|
## [1.9.18](https://github.com/standardnotes/files/compare/@standardnotes/files-server@1.9.17...@standardnotes/files-server@1.9.18) (2023-02-14)
|
||||||
|
|
||||||
|
**Note:** Version bump only for package @standardnotes/files-server
|
||||||
|
|
||||||
## [1.9.17](https://github.com/standardnotes/files/compare/@standardnotes/files-server@1.9.16...@standardnotes/files-server@1.9.17) (2023-02-09)
|
## [1.9.17](https://github.com/standardnotes/files/compare/@standardnotes/files-server@1.9.16...@standardnotes/files-server@1.9.17) (2023-02-09)
|
||||||
|
|
||||||
### Bug Fixes
|
### Bug Fixes
|
||||||
|
|||||||
@@ -8,10 +8,10 @@ ENV NODE_ENV production
|
|||||||
|
|
||||||
RUN corepack enable
|
RUN corepack enable
|
||||||
|
|
||||||
WORKDIR /workspace
|
|
||||||
|
|
||||||
COPY ./ /workspace
|
COPY ./ /workspace
|
||||||
|
|
||||||
|
WORKDIR /workspace/packages/files
|
||||||
|
|
||||||
ENTRYPOINT [ "/workspace/packages/files/docker/entrypoint.sh" ]
|
ENTRYPOINT [ "/workspace/packages/files/docker/entrypoint.sh" ]
|
||||||
|
|
||||||
CMD [ "start-web" ]
|
CMD [ "start-web" ]
|
||||||
|
|||||||
@@ -0,0 +1,11 @@
|
|||||||
|
'use strict'
|
||||||
|
|
||||||
|
const path = require('path')
|
||||||
|
|
||||||
|
const pnp = require(path.normalize(path.resolve(__dirname, '../../..', '.pnp.cjs'))).setup()
|
||||||
|
|
||||||
|
const index = require(path.normalize(path.resolve(__dirname, '../dist/bin/server.js')))
|
||||||
|
|
||||||
|
Object.defineProperty(exports, '__esModule', { value: true })
|
||||||
|
|
||||||
|
exports.default = index
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
'use strict'
|
||||||
|
|
||||||
|
const path = require('path')
|
||||||
|
|
||||||
|
const pnp = require(path.normalize(path.resolve(__dirname, '../../..', '.pnp.cjs'))).setup()
|
||||||
|
|
||||||
|
const index = require(path.normalize(path.resolve(__dirname, '../dist/bin/worker.js')))
|
||||||
|
|
||||||
|
Object.defineProperty(exports, '__esModule', { value: true })
|
||||||
|
|
||||||
|
exports.default = index
|
||||||
@@ -4,19 +4,14 @@ set -e
|
|||||||
COMMAND=$1 && shift 1
|
COMMAND=$1 && shift 1
|
||||||
|
|
||||||
case "$COMMAND" in
|
case "$COMMAND" in
|
||||||
'start-local')
|
|
||||||
echo "Starting Web in Local Mode..."
|
|
||||||
yarn workspace @standardnotes/files-server start:local
|
|
||||||
;;
|
|
||||||
|
|
||||||
'start-web' )
|
'start-web' )
|
||||||
echo "Starting Web..."
|
echo "Starting Web..."
|
||||||
yarn workspace @standardnotes/files-server start
|
node docker/entrypoint-server.js
|
||||||
;;
|
;;
|
||||||
|
|
||||||
'start-worker' )
|
'start-worker' )
|
||||||
echo "Starting Worker..."
|
echo "Starting Worker..."
|
||||||
yarn workspace @standardnotes/files-server worker
|
node docker/entrypoint-worker.js
|
||||||
;;
|
;;
|
||||||
|
|
||||||
* )
|
* )
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@standardnotes/files-server",
|
"name": "@standardnotes/files-server",
|
||||||
"version": "1.9.17",
|
"version": "1.10.3",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=18.0.0 <19.0.0"
|
"node": ">=18.0.0 <19.0.0"
|
||||||
},
|
},
|
||||||
@@ -20,12 +20,8 @@
|
|||||||
"lint": "eslint . --ext .ts",
|
"lint": "eslint . --ext .ts",
|
||||||
"pretest": "yarn lint && yarn build",
|
"pretest": "yarn lint && yarn build",
|
||||||
"test": "jest --coverage --config=./jest.config.js --maxWorkers=50%",
|
"test": "jest --coverage --config=./jest.config.js --maxWorkers=50%",
|
||||||
"wait-for:auth": "docker/wait-for.sh localhost $AUTH_SERVER_PORT",
|
|
||||||
"wait-for:files": "docker/wait-for.sh localhost $FILES_SERVER_PORT",
|
|
||||||
"start": "yarn node dist/bin/server.js",
|
"start": "yarn node dist/bin/server.js",
|
||||||
"supervisor:start": "yarn wait-for:auth && yarn node dist/bin/server.js",
|
|
||||||
"worker": "yarn node dist/bin/worker.js",
|
"worker": "yarn node dist/bin/worker.js",
|
||||||
"supervisor:worker": "yarn wait-for:files && yarn node dist/bin/worker.js",
|
|
||||||
"upgrade:snjs": "yarn ncu -u '@standardnotes/*'"
|
"upgrade:snjs": "yarn ncu -u '@standardnotes/*'"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|||||||
+7
@@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
sh supervisor/wait-for.sh $DB_HOST $DB_PORT
|
||||||
|
sh supervisor/wait-for.sh $REDIS_HOST $REDIS_PORT
|
||||||
|
node docker/entrypoint-server.js
|
||||||
+6
@@ -0,0 +1,6 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
sh supervisor/wait-for.sh localhost $SYNCING_SERVER_PORT
|
||||||
|
node docker/entrypoint-worker.js
|
||||||
@@ -3,6 +3,34 @@
|
|||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||||
|
|
||||||
|
## [1.12.4](https://github.com/standardnotes/server/compare/@standardnotes/revisions-server@1.12.3...@standardnotes/revisions-server@1.12.4) (2023-02-21)
|
||||||
|
|
||||||
|
**Note:** Version bump only for package @standardnotes/revisions-server
|
||||||
|
|
||||||
|
## [1.12.3](https://github.com/standardnotes/server/compare/@standardnotes/revisions-server@1.12.2...@standardnotes/revisions-server@1.12.3) (2023-02-20)
|
||||||
|
|
||||||
|
**Note:** Version bump only for package @standardnotes/revisions-server
|
||||||
|
|
||||||
|
## [1.12.2](https://github.com/standardnotes/server/compare/@standardnotes/revisions-server@1.12.1...@standardnotes/revisions-server@1.12.2) (2023-02-17)
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **revisions:** initial migration to check if user_uuid exists on table ([85d0c12](https://github.com/standardnotes/server/commit/85d0c12dadffe3ed7b8c0717725813e168e20b6c))
|
||||||
|
|
||||||
|
## [1.12.1](https://github.com/standardnotes/server/compare/@standardnotes/revisions-server@1.12.0...@standardnotes/revisions-server@1.12.1) (2023-02-15)
|
||||||
|
|
||||||
|
**Note:** Version bump only for package @standardnotes/revisions-server
|
||||||
|
|
||||||
|
# [1.12.0](https://github.com/standardnotes/server/compare/@standardnotes/revisions-server@1.11.6...@standardnotes/revisions-server@1.12.0) (2023-02-15)
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* optimize memory usage ([#444](https://github.com/standardnotes/server/issues/444)) ([fdf4b29](https://github.com/standardnotes/server/commit/fdf4b29ae2717e9b5d1fba2722beb7621a7e5c37))
|
||||||
|
|
||||||
|
## [1.11.6](https://github.com/standardnotes/server/compare/@standardnotes/revisions-server@1.11.5...@standardnotes/revisions-server@1.11.6) (2023-02-14)
|
||||||
|
|
||||||
|
**Note:** Version bump only for package @standardnotes/revisions-server
|
||||||
|
|
||||||
## [1.11.5](https://github.com/standardnotes/server/compare/@standardnotes/revisions-server@1.11.4...@standardnotes/revisions-server@1.11.5) (2023-02-13)
|
## [1.11.5](https://github.com/standardnotes/server/compare/@standardnotes/revisions-server@1.11.4...@standardnotes/revisions-server@1.11.5) (2023-02-13)
|
||||||
|
|
||||||
### Bug Fixes
|
### Bug Fixes
|
||||||
|
|||||||
@@ -8,10 +8,10 @@ ENV NODE_ENV production
|
|||||||
|
|
||||||
RUN corepack enable
|
RUN corepack enable
|
||||||
|
|
||||||
WORKDIR /workspace
|
|
||||||
|
|
||||||
COPY ./ /workspace
|
COPY ./ /workspace
|
||||||
|
|
||||||
|
WORKDIR /workspace/packages/revisions
|
||||||
|
|
||||||
ENTRYPOINT [ "/workspace/packages/revisions/docker/entrypoint.sh" ]
|
ENTRYPOINT [ "/workspace/packages/revisions/docker/entrypoint.sh" ]
|
||||||
|
|
||||||
CMD [ "start-web" ]
|
CMD [ "start-web" ]
|
||||||
|
|||||||
@@ -0,0 +1,11 @@
|
|||||||
|
'use strict'
|
||||||
|
|
||||||
|
const path = require('path')
|
||||||
|
|
||||||
|
const pnp = require(path.normalize(path.resolve(__dirname, '../../..', '.pnp.cjs'))).setup()
|
||||||
|
|
||||||
|
const index = require(path.normalize(path.resolve(__dirname, '../dist/bin/server.js')))
|
||||||
|
|
||||||
|
Object.defineProperty(exports, '__esModule', { value: true })
|
||||||
|
|
||||||
|
exports.default = index
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
'use strict'
|
||||||
|
|
||||||
|
const path = require('path')
|
||||||
|
|
||||||
|
const pnp = require(path.normalize(path.resolve(__dirname, '../../..', '.pnp.cjs'))).setup()
|
||||||
|
|
||||||
|
const index = require(path.normalize(path.resolve(__dirname, '../dist/bin/worker.js')))
|
||||||
|
|
||||||
|
Object.defineProperty(exports, '__esModule', { value: true })
|
||||||
|
|
||||||
|
exports.default = index
|
||||||
@@ -6,12 +6,12 @@ COMMAND=$1 && shift 1
|
|||||||
case "$COMMAND" in
|
case "$COMMAND" in
|
||||||
'start-web' )
|
'start-web' )
|
||||||
echo "Starting Web..."
|
echo "Starting Web..."
|
||||||
yarn workspace @standardnotes/revisions-server start
|
node docker/entrypoint-server.js
|
||||||
;;
|
;;
|
||||||
|
|
||||||
'start-worker' )
|
'start-worker' )
|
||||||
echo "Starting Worker..."
|
echo "Starting Worker..."
|
||||||
yarn workspace @standardnotes/revisions-server worker
|
node docker/entrypoint-worker.js
|
||||||
;;
|
;;
|
||||||
|
|
||||||
* )
|
* )
|
||||||
|
|||||||
@@ -28,6 +28,14 @@ export class init1669113322388 implements MigrationInterface {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const revisionsTableHasUserUuidColumnQueryResult = await queryRunner.manager.query(
|
||||||
|
'SELECT COUNT(*) as count FROM information_schema.columns WHERE table_schema = DATABASE() AND table_name = "revisions" AND column_name = "user_uuid"',
|
||||||
|
)
|
||||||
|
const revisionsTableHasUserUuidColumn = revisionsTableHasUserUuidColumnQueryResult[0].count === 1
|
||||||
|
if (revisionsTableHasUserUuidColumn) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
await queryRunner.query('ALTER TABLE `revisions` ADD COLUMN `user_uuid` varchar(36) NULL')
|
await queryRunner.query('ALTER TABLE `revisions` ADD COLUMN `user_uuid` varchar(36) NULL')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@standardnotes/revisions-server",
|
"name": "@standardnotes/revisions-server",
|
||||||
"version": "1.11.5",
|
"version": "1.12.4",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=18.0.0 <19.0.0"
|
"node": ">=18.0.0 <19.0.0"
|
||||||
},
|
},
|
||||||
@@ -19,11 +19,7 @@
|
|||||||
"lint:fix": "eslint . --ext .ts --fix",
|
"lint:fix": "eslint . --ext .ts --fix",
|
||||||
"pretest": "yarn lint && yarn build",
|
"pretest": "yarn lint && yarn build",
|
||||||
"test": "jest --coverage --config=./jest.config.js --maxWorkers=50%",
|
"test": "jest --coverage --config=./jest.config.js --maxWorkers=50%",
|
||||||
"wait-for:files": "docker/wait-for.sh localhost $FILES_SERVER_PORT",
|
|
||||||
"wait-for:revisions": "docker/wait-for.sh localhost $REVISIONS_SERVER_PORT",
|
|
||||||
"start": "yarn node dist/bin/server.js",
|
"start": "yarn node dist/bin/server.js",
|
||||||
"supervisor:start": "yarn wait-for:files && yarn node dist/bin/server.js",
|
|
||||||
"supervisor:worker": "yarn wait-for:revisions && yarn node dist/bin/worker.js",
|
|
||||||
"worker": "yarn node dist/bin/worker.js"
|
"worker": "yarn node dist/bin/worker.js"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|||||||
@@ -36,7 +36,6 @@ const TYPES = {
|
|||||||
ItemDumpedEventHandler: Symbol.for('ItemDumpedEventHandler'),
|
ItemDumpedEventHandler: Symbol.for('ItemDumpedEventHandler'),
|
||||||
AccountDeletionRequestedEventHandler: Symbol.for('AccountDeletionRequestedEventHandler'),
|
AccountDeletionRequestedEventHandler: Symbol.for('AccountDeletionRequestedEventHandler'),
|
||||||
RevisionsCopyRequestedEventHandler: Symbol.for('RevisionsCopyRequestedEventHandler'),
|
RevisionsCopyRequestedEventHandler: Symbol.for('RevisionsCopyRequestedEventHandler'),
|
||||||
RevisionsOwnershipUpdateRequestedEventHandler: Symbol.for('RevisionsOwnershipUpdateRequestedEventHandler'),
|
|
||||||
// Services
|
// Services
|
||||||
CrossServiceTokenDecoder: Symbol.for('CrossServiceTokenDecoder'),
|
CrossServiceTokenDecoder: Symbol.for('CrossServiceTokenDecoder'),
|
||||||
DomainEventSubscriberFactory: Symbol.for('DomainEventSubscriberFactory'),
|
DomainEventSubscriberFactory: Symbol.for('DomainEventSubscriberFactory'),
|
||||||
|
|||||||
@@ -23,7 +23,6 @@ import { FSDumpRepository } from '../Infra/FS/FSDumpRepository'
|
|||||||
import { AccountDeletionRequestedEventHandler } from '../Domain/Handler/AccountDeletionRequestedEventHandler'
|
import { AccountDeletionRequestedEventHandler } from '../Domain/Handler/AccountDeletionRequestedEventHandler'
|
||||||
import { RevisionsCopyRequestedEventHandler } from '../Domain/Handler/RevisionsCopyRequestedEventHandler'
|
import { RevisionsCopyRequestedEventHandler } from '../Domain/Handler/RevisionsCopyRequestedEventHandler'
|
||||||
import { CopyRevisions } from '../Domain/UseCase/CopyRevisions/CopyRevisions'
|
import { CopyRevisions } from '../Domain/UseCase/CopyRevisions/CopyRevisions'
|
||||||
import { RevisionsOwnershipUpdateRequestedEventHandler } from '../Domain/Handler/RevisionsOwnershipUpdateRequestedEventHandler'
|
|
||||||
import { CommonContainerConfigLoader } from './CommonContainerConfigLoader'
|
import { CommonContainerConfigLoader } from './CommonContainerConfigLoader'
|
||||||
import { Env } from './Env'
|
import { Env } from './Env'
|
||||||
|
|
||||||
@@ -120,11 +119,6 @@ export class WorkerContainerConfigLoader extends CommonContainerConfigLoader {
|
|||||||
context.container.get(TYPES.Logger),
|
context.container.get(TYPES.Logger),
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
container
|
|
||||||
.bind<RevisionsOwnershipUpdateRequestedEventHandler>(TYPES.RevisionsOwnershipUpdateRequestedEventHandler)
|
|
||||||
.toDynamicValue((context: interfaces.Context) => {
|
|
||||||
return new RevisionsOwnershipUpdateRequestedEventHandler(context.container.get(TYPES.RevisionRepository))
|
|
||||||
})
|
|
||||||
|
|
||||||
container
|
container
|
||||||
.bind<DomainEventMessageHandlerInterface>(TYPES.DomainEventMessageHandler)
|
.bind<DomainEventMessageHandlerInterface>(TYPES.DomainEventMessageHandler)
|
||||||
@@ -135,10 +129,6 @@ export class WorkerContainerConfigLoader extends CommonContainerConfigLoader {
|
|||||||
['ITEM_DUMPED', context.container.get(TYPES.ItemDumpedEventHandler)],
|
['ITEM_DUMPED', context.container.get(TYPES.ItemDumpedEventHandler)],
|
||||||
['ACCOUNT_DELETION_REQUESTED', context.container.get(TYPES.AccountDeletionRequestedEventHandler)],
|
['ACCOUNT_DELETION_REQUESTED', context.container.get(TYPES.AccountDeletionRequestedEventHandler)],
|
||||||
['REVISIONS_COPY_REQUESTED', context.container.get(TYPES.RevisionsCopyRequestedEventHandler)],
|
['REVISIONS_COPY_REQUESTED', context.container.get(TYPES.RevisionsCopyRequestedEventHandler)],
|
||||||
[
|
|
||||||
'REVISIONS_OWNERSHIP_UPDATE_REQUESTED',
|
|
||||||
context.container.get(TYPES.RevisionsOwnershipUpdateRequestedEventHandler),
|
|
||||||
],
|
|
||||||
])
|
])
|
||||||
|
|
||||||
const handler =
|
const handler =
|
||||||
|
|||||||
-25
@@ -1,25 +0,0 @@
|
|||||||
/* istanbul ignore file */
|
|
||||||
|
|
||||||
import { Uuid } from '@standardnotes/domain-core'
|
|
||||||
import { DomainEventHandlerInterface, RevisionsOwnershipUpdateRequestedEvent } from '@standardnotes/domain-events'
|
|
||||||
import { RevisionRepositoryInterface } from '../Revision/RevisionRepositoryInterface'
|
|
||||||
|
|
||||||
export class RevisionsOwnershipUpdateRequestedEventHandler implements DomainEventHandlerInterface {
|
|
||||||
constructor(private revisionRepository: RevisionRepositoryInterface) {}
|
|
||||||
|
|
||||||
async handle(event: RevisionsOwnershipUpdateRequestedEvent): Promise<void> {
|
|
||||||
const userUuidOrError = Uuid.create(event.payload.userUuid)
|
|
||||||
if (userUuidOrError.isFailed()) {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
const userUuid = userUuidOrError.getValue()
|
|
||||||
|
|
||||||
const itemUuidOrError = Uuid.create(event.payload.itemUuid)
|
|
||||||
if (itemUuidOrError.isFailed()) {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
const itemUuid = itemUuidOrError.getValue()
|
|
||||||
|
|
||||||
await this.revisionRepository.updateUserUuid(itemUuid, userUuid)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+7
@@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
sh supervisor/wait-for.sh $DB_HOST $DB_PORT
|
||||||
|
sh supervisor/wait-for.sh $REDIS_HOST $REDIS_PORT
|
||||||
|
node docker/entrypoint-server.js
|
||||||
+6
@@ -0,0 +1,6 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
sh supervisor/wait-for.sh localhost $SYNCING_SERVER_PORT
|
||||||
|
node docker/entrypoint-worker.js
|
||||||
@@ -3,6 +3,24 @@
|
|||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||||
|
|
||||||
|
## [1.17.3](https://github.com/standardnotes/server/compare/@standardnotes/scheduler-server@1.17.2...@standardnotes/scheduler-server@1.17.3) (2023-02-21)
|
||||||
|
|
||||||
|
**Note:** Version bump only for package @standardnotes/scheduler-server
|
||||||
|
|
||||||
|
## [1.17.2](https://github.com/standardnotes/server/compare/@standardnotes/scheduler-server@1.17.1...@standardnotes/scheduler-server@1.17.2) (2023-02-20)
|
||||||
|
|
||||||
|
**Note:** Version bump only for package @standardnotes/scheduler-server
|
||||||
|
|
||||||
|
## [1.17.1](https://github.com/standardnotes/server/compare/@standardnotes/scheduler-server@1.17.0...@standardnotes/scheduler-server@1.17.1) (2023-02-15)
|
||||||
|
|
||||||
|
**Note:** Version bump only for package @standardnotes/scheduler-server
|
||||||
|
|
||||||
|
# [1.17.0](https://github.com/standardnotes/server/compare/@standardnotes/scheduler-server@1.16.19...@standardnotes/scheduler-server@1.17.0) (2023-02-15)
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* optimize memory on server utilities ([881a696](https://github.com/standardnotes/server/commit/881a6967aca57d68795af0792114f848ddddf120))
|
||||||
|
|
||||||
## [1.16.19](https://github.com/standardnotes/server/compare/@standardnotes/scheduler-server@1.16.18...@standardnotes/scheduler-server@1.16.19) (2023-02-06)
|
## [1.16.19](https://github.com/standardnotes/server/compare/@standardnotes/scheduler-server@1.16.18...@standardnotes/scheduler-server@1.16.19) (2023-02-06)
|
||||||
|
|
||||||
**Note:** Version bump only for package @standardnotes/scheduler-server
|
**Note:** Version bump only for package @standardnotes/scheduler-server
|
||||||
|
|||||||
@@ -8,10 +8,10 @@ ENV NODE_ENV production
|
|||||||
|
|
||||||
RUN corepack enable
|
RUN corepack enable
|
||||||
|
|
||||||
WORKDIR /workspace
|
|
||||||
|
|
||||||
COPY ./ /workspace
|
COPY ./ /workspace
|
||||||
|
|
||||||
|
WORKDIR /workspace/packages/scheduler
|
||||||
|
|
||||||
ENTRYPOINT [ "/workspace/packages/scheduler/docker/entrypoint.sh" ]
|
ENTRYPOINT [ "/workspace/packages/scheduler/docker/entrypoint.sh" ]
|
||||||
|
|
||||||
CMD [ "start-worker" ]
|
CMD [ "start-worker" ]
|
||||||
|
|||||||
@@ -0,0 +1,11 @@
|
|||||||
|
'use strict'
|
||||||
|
|
||||||
|
const path = require('path')
|
||||||
|
|
||||||
|
const pnp = require(path.normalize(path.resolve(__dirname, '../../..', '.pnp.cjs'))).setup()
|
||||||
|
|
||||||
|
const index = require(path.normalize(path.resolve(__dirname, '../dist/bin/verify.js')))
|
||||||
|
|
||||||
|
Object.defineProperty(exports, '__esModule', { value: true })
|
||||||
|
|
||||||
|
exports.default = index
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
'use strict'
|
||||||
|
|
||||||
|
const path = require('path')
|
||||||
|
|
||||||
|
const pnp = require(path.normalize(path.resolve(__dirname, '../../..', '.pnp.cjs'))).setup()
|
||||||
|
|
||||||
|
const index = require(path.normalize(path.resolve(__dirname, '../dist/bin/worker.js')))
|
||||||
|
|
||||||
|
Object.defineProperty(exports, '__esModule', { value: true })
|
||||||
|
|
||||||
|
exports.default = index
|
||||||
@@ -6,12 +6,12 @@ COMMAND=$1 && shift 1
|
|||||||
case "$COMMAND" in
|
case "$COMMAND" in
|
||||||
'start-worker' )
|
'start-worker' )
|
||||||
echo "Starting Worker..."
|
echo "Starting Worker..."
|
||||||
yarn workspace @standardnotes/scheduler-server worker
|
node docker/entrypoint-worker.js
|
||||||
;;
|
;;
|
||||||
|
|
||||||
'verify-jobs' )
|
'verify-jobs' )
|
||||||
echo "Starting jobs verification..."
|
echo "Starting jobs verification..."
|
||||||
yarn workspace @standardnotes/scheduler-server verify:jobs
|
node docker/entrypoint-verify.js
|
||||||
;;
|
;;
|
||||||
|
|
||||||
* )
|
* )
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@standardnotes/scheduler-server",
|
"name": "@standardnotes/scheduler-server",
|
||||||
"version": "1.16.19",
|
"version": "1.17.3",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=18.0.0 <19.0.0"
|
"node": ">=18.0.0 <19.0.0"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -3,6 +3,28 @@
|
|||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||||
|
|
||||||
|
## [1.31.3](https://github.com/standardnotes/syncing-server-js/compare/@standardnotes/syncing-server@1.31.2...@standardnotes/syncing-server@1.31.3) (2023-02-21)
|
||||||
|
|
||||||
|
**Note:** Version bump only for package @standardnotes/syncing-server
|
||||||
|
|
||||||
|
## [1.31.2](https://github.com/standardnotes/syncing-server-js/compare/@standardnotes/syncing-server@1.31.1...@standardnotes/syncing-server@1.31.2) (2023-02-20)
|
||||||
|
|
||||||
|
**Note:** Version bump only for package @standardnotes/syncing-server
|
||||||
|
|
||||||
|
## [1.31.1](https://github.com/standardnotes/syncing-server-js/compare/@standardnotes/syncing-server@1.31.0...@standardnotes/syncing-server@1.31.1) (2023-02-15)
|
||||||
|
|
||||||
|
**Note:** Version bump only for package @standardnotes/syncing-server
|
||||||
|
|
||||||
|
# [1.31.0](https://github.com/standardnotes/syncing-server-js/compare/@standardnotes/syncing-server@1.30.2...@standardnotes/syncing-server@1.31.0) (2023-02-15)
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* optimize memory usage ([#444](https://github.com/standardnotes/syncing-server-js/issues/444)) ([fdf4b29](https://github.com/standardnotes/syncing-server-js/commit/fdf4b29ae2717e9b5d1fba2722beb7621a7e5c37))
|
||||||
|
|
||||||
|
## [1.30.2](https://github.com/standardnotes/syncing-server-js/compare/@standardnotes/syncing-server@1.30.1...@standardnotes/syncing-server@1.30.2) (2023-02-14)
|
||||||
|
|
||||||
|
**Note:** Version bump only for package @standardnotes/syncing-server
|
||||||
|
|
||||||
## [1.30.1](https://github.com/standardnotes/syncing-server-js/compare/@standardnotes/syncing-server@1.30.0...@standardnotes/syncing-server@1.30.1) (2023-02-13)
|
## [1.30.1](https://github.com/standardnotes/syncing-server-js/compare/@standardnotes/syncing-server@1.30.0...@standardnotes/syncing-server@1.30.1) (2023-02-13)
|
||||||
|
|
||||||
### Bug Fixes
|
### Bug Fixes
|
||||||
|
|||||||
@@ -8,10 +8,10 @@ ENV NODE_ENV production
|
|||||||
|
|
||||||
RUN corepack enable
|
RUN corepack enable
|
||||||
|
|
||||||
WORKDIR /workspace
|
|
||||||
|
|
||||||
COPY ./ /workspace
|
COPY ./ /workspace
|
||||||
|
|
||||||
|
WORKDIR /workspace/packages/syncing-server
|
||||||
|
|
||||||
ENTRYPOINT [ "/workspace/packages/syncing-server/docker/entrypoint.sh" ]
|
ENTRYPOINT [ "/workspace/packages/syncing-server/docker/entrypoint.sh" ]
|
||||||
|
|
||||||
CMD [ "start-web" ]
|
CMD [ "start-web" ]
|
||||||
|
|||||||
@@ -1,52 +0,0 @@
|
|||||||
import 'reflect-metadata'
|
|
||||||
|
|
||||||
import 'newrelic'
|
|
||||||
|
|
||||||
import { Logger } from 'winston'
|
|
||||||
|
|
||||||
import TYPES from '../src/Bootstrap/Types'
|
|
||||||
import { Env } from '../src/Bootstrap/Env'
|
|
||||||
import { DomainEventFactoryInterface } from '../src/Domain/Event/DomainEventFactoryInterface'
|
|
||||||
import { DomainEventPublisherInterface } from '@standardnotes/domain-events'
|
|
||||||
import { WorkerContainerConfigLoader } from '../src/Bootstrap/WorkerContainerConfigLoader'
|
|
||||||
|
|
||||||
const inputArgs = process.argv.slice(2)
|
|
||||||
const userUuid = inputArgs[0]
|
|
||||||
|
|
||||||
const fixContentSize = async (
|
|
||||||
domainEventFactory: DomainEventFactoryInterface,
|
|
||||||
domainEventPublisher: DomainEventPublisherInterface,
|
|
||||||
): Promise<void> => {
|
|
||||||
await domainEventPublisher.publish(domainEventFactory.createUserContentSizeRecalculationRequestedEvent(userUuid))
|
|
||||||
}
|
|
||||||
|
|
||||||
const container = new WorkerContainerConfigLoader()
|
|
||||||
void container.load().then((container) => {
|
|
||||||
const env: Env = new Env()
|
|
||||||
env.load()
|
|
||||||
|
|
||||||
const logger: Logger = container.get(TYPES.Logger)
|
|
||||||
|
|
||||||
logger.info(`Starting content size fixing for user ${userUuid} ...`)
|
|
||||||
|
|
||||||
if (!userUuid) {
|
|
||||||
logger.error('No user uuid passed as argument. Skipped.')
|
|
||||||
|
|
||||||
process.exit(1)
|
|
||||||
}
|
|
||||||
|
|
||||||
const domainEventFactory: DomainEventFactoryInterface = container.get(TYPES.DomainEventFactory)
|
|
||||||
const domainEventPublisher: DomainEventPublisherInterface = container.get(TYPES.DomainEventPublisher)
|
|
||||||
|
|
||||||
Promise.resolve(fixContentSize(domainEventFactory, domainEventPublisher))
|
|
||||||
.then(() => {
|
|
||||||
logger.info('Content size fix complete.')
|
|
||||||
|
|
||||||
process.exit(0)
|
|
||||||
})
|
|
||||||
.catch((error) => {
|
|
||||||
logger.error(`Could not finish content size fix: ${error.message}`)
|
|
||||||
|
|
||||||
process.exit(1)
|
|
||||||
})
|
|
||||||
})
|
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
'use strict'
|
||||||
|
|
||||||
|
const path = require('path')
|
||||||
|
|
||||||
|
const pnp = require(path.normalize(path.resolve(__dirname, '../../..', '.pnp.cjs'))).setup()
|
||||||
|
|
||||||
|
const index = require(path.normalize(path.resolve(__dirname, '../dist/bin/server.js')))
|
||||||
|
|
||||||
|
Object.defineProperty(exports, '__esModule', { value: true })
|
||||||
|
|
||||||
|
exports.default = index
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
'use strict'
|
||||||
|
|
||||||
|
const path = require('path')
|
||||||
|
|
||||||
|
const pnp = require(path.normalize(path.resolve(__dirname, '../../..', '.pnp.cjs'))).setup()
|
||||||
|
|
||||||
|
const index = require(path.normalize(path.resolve(__dirname, '../dist/bin/worker.js')))
|
||||||
|
|
||||||
|
Object.defineProperty(exports, '__esModule', { value: true })
|
||||||
|
|
||||||
|
exports.default = index
|
||||||
@@ -4,25 +4,14 @@ set -e
|
|||||||
COMMAND=$1 && shift 1
|
COMMAND=$1 && shift 1
|
||||||
|
|
||||||
case "$COMMAND" in
|
case "$COMMAND" in
|
||||||
'start-local')
|
|
||||||
echo "[Docker] Starting Web in Local Mode..."
|
|
||||||
yarn workspace @standardnotes/syncing-server start:local
|
|
||||||
;;
|
|
||||||
|
|
||||||
'start-web' )
|
'start-web' )
|
||||||
echo "[Docker] Starting Web..."
|
echo "[Docker] Starting Web..."
|
||||||
yarn workspace @standardnotes/syncing-server start
|
node docker/entrypoint-server.js
|
||||||
;;
|
;;
|
||||||
|
|
||||||
'start-worker' )
|
'start-worker' )
|
||||||
echo "[Docker] Starting Worker..."
|
echo "[Docker] Starting Worker..."
|
||||||
yarn workspace @standardnotes/syncing-server worker
|
node docker/entrypoint-worker.js
|
||||||
;;
|
|
||||||
|
|
||||||
'content-size-recalculate' )
|
|
||||||
echo "[Docker] Starting Content Size Recalculation..."
|
|
||||||
USER_UUID=$1 && shift 1
|
|
||||||
yarn workspace @standardnotes/syncing-server content-size $USER_UUID
|
|
||||||
;;
|
;;
|
||||||
|
|
||||||
* )
|
* )
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@standardnotes/syncing-server",
|
"name": "@standardnotes/syncing-server",
|
||||||
"version": "1.30.1",
|
"version": "1.31.3",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=18.0.0 <19.0.0"
|
"node": ">=18.0.0 <19.0.0"
|
||||||
},
|
},
|
||||||
@@ -19,14 +19,8 @@
|
|||||||
"lint:fix": "eslint . --ext .ts --fix",
|
"lint:fix": "eslint . --ext .ts --fix",
|
||||||
"pretest": "yarn lint && yarn build",
|
"pretest": "yarn lint && yarn build",
|
||||||
"test": "jest --coverage --config=./jest.config.js --maxWorkers=50%",
|
"test": "jest --coverage --config=./jest.config.js --maxWorkers=50%",
|
||||||
"wait-for:db": "docker/wait-for.sh $DB_HOST $DB_PORT",
|
|
||||||
"wait-for:cache": "docker/wait-for.sh $REDIS_HOST $REDIS_PORT",
|
|
||||||
"wait-for:infra": "yarn wait-for:db && yarn wait-for:cache",
|
|
||||||
"wait-for:syncing-server": "docker/wait-for.sh localhost $SYNCING_SERVER_PORT",
|
|
||||||
"start": "yarn node dist/bin/server.js",
|
"start": "yarn node dist/bin/server.js",
|
||||||
"supervisor:start": "yarn wait-for:infra && yarn node dist/bin/server.js",
|
|
||||||
"worker": "yarn node dist/bin/worker.js",
|
"worker": "yarn node dist/bin/worker.js",
|
||||||
"supervisor:worker": "yarn wait-for:syncing-server && yarn node dist/bin/worker.js",
|
|
||||||
"content-size": "yarn node dist/bin/content.js",
|
"content-size": "yarn node dist/bin/content.js",
|
||||||
"upgrade:snjs": "yarn ncu -u '@standardnotes/*'"
|
"upgrade:snjs": "yarn ncu -u '@standardnotes/*'"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ import {
|
|||||||
ItemDumpedEvent,
|
ItemDumpedEvent,
|
||||||
ItemRevisionCreationRequestedEvent,
|
ItemRevisionCreationRequestedEvent,
|
||||||
RevisionsCopyRequestedEvent,
|
RevisionsCopyRequestedEvent,
|
||||||
UserContentSizeRecalculationRequestedEvent,
|
|
||||||
} from '@standardnotes/domain-events'
|
} from '@standardnotes/domain-events'
|
||||||
import { TimerInterface } from '@standardnotes/time'
|
import { TimerInterface } from '@standardnotes/time'
|
||||||
import { DomainEventFactoryInterface } from './DomainEventFactoryInterface'
|
import { DomainEventFactoryInterface } from './DomainEventFactoryInterface'
|
||||||
@@ -69,23 +68,6 @@ export class DomainEventFactory implements DomainEventFactoryInterface {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
createUserContentSizeRecalculationRequestedEvent(userUuid: string): UserContentSizeRecalculationRequestedEvent {
|
|
||||||
return {
|
|
||||||
type: 'USER_CONTENT_SIZE_RECALCULATION_REQUESTED',
|
|
||||||
createdAt: this.timer.getUTCDate(),
|
|
||||||
meta: {
|
|
||||||
correlation: {
|
|
||||||
userIdentifier: userUuid,
|
|
||||||
userIdentifierType: 'uuid',
|
|
||||||
},
|
|
||||||
origin: DomainEventService.SyncingServer,
|
|
||||||
},
|
|
||||||
payload: {
|
|
||||||
userUuid,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
createDuplicateItemSyncedEvent(itemUuid: string, userUuid: string): DuplicateItemSyncedEvent {
|
createDuplicateItemSyncedEvent(itemUuid: string, userUuid: string): DuplicateItemSyncedEvent {
|
||||||
return {
|
return {
|
||||||
type: 'DUPLICATE_ITEM_SYNCED',
|
type: 'DUPLICATE_ITEM_SYNCED',
|
||||||
|
|||||||
@@ -4,11 +4,9 @@ import {
|
|||||||
ItemDumpedEvent,
|
ItemDumpedEvent,
|
||||||
ItemRevisionCreationRequestedEvent,
|
ItemRevisionCreationRequestedEvent,
|
||||||
RevisionsCopyRequestedEvent,
|
RevisionsCopyRequestedEvent,
|
||||||
UserContentSizeRecalculationRequestedEvent,
|
|
||||||
} from '@standardnotes/domain-events'
|
} from '@standardnotes/domain-events'
|
||||||
|
|
||||||
export interface DomainEventFactoryInterface {
|
export interface DomainEventFactoryInterface {
|
||||||
createUserContentSizeRecalculationRequestedEvent(userUuid: string): UserContentSizeRecalculationRequestedEvent
|
|
||||||
createEmailRequestedEvent(dto: {
|
createEmailRequestedEvent(dto: {
|
||||||
userEmail: string
|
userEmail: string
|
||||||
messageIdentifier: string
|
messageIdentifier: string
|
||||||
|
|||||||
@@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
sh supervisor/wait-for.sh $DB_HOST $DB_PORT
|
||||||
|
sh supervisor/wait-for.sh $REDIS_HOST $REDIS_PORT
|
||||||
|
node docker/entrypoint-server.js
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
sh supervisor/wait-for.sh localhost $SYNCING_SERVER_PORT
|
||||||
|
node docker/entrypoint-worker.js
|
||||||
@@ -3,6 +3,24 @@
|
|||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||||
|
|
||||||
|
## [1.6.3](https://github.com/standardnotes/server/compare/@standardnotes/websockets-server@1.6.2...@standardnotes/websockets-server@1.6.3) (2023-02-21)
|
||||||
|
|
||||||
|
**Note:** Version bump only for package @standardnotes/websockets-server
|
||||||
|
|
||||||
|
## [1.6.2](https://github.com/standardnotes/server/compare/@standardnotes/websockets-server@1.6.1...@standardnotes/websockets-server@1.6.2) (2023-02-20)
|
||||||
|
|
||||||
|
**Note:** Version bump only for package @standardnotes/websockets-server
|
||||||
|
|
||||||
|
## [1.6.1](https://github.com/standardnotes/server/compare/@standardnotes/websockets-server@1.6.0...@standardnotes/websockets-server@1.6.1) (2023-02-15)
|
||||||
|
|
||||||
|
**Note:** Version bump only for package @standardnotes/websockets-server
|
||||||
|
|
||||||
|
# [1.6.0](https://github.com/standardnotes/server/compare/@standardnotes/websockets-server@1.5.20...@standardnotes/websockets-server@1.6.0) (2023-02-15)
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* optimize memory on server utilities ([881a696](https://github.com/standardnotes/server/commit/881a6967aca57d68795af0792114f848ddddf120))
|
||||||
|
|
||||||
## [1.5.20](https://github.com/standardnotes/server/compare/@standardnotes/websockets-server@1.5.19...@standardnotes/websockets-server@1.5.20) (2023-02-06)
|
## [1.5.20](https://github.com/standardnotes/server/compare/@standardnotes/websockets-server@1.5.19...@standardnotes/websockets-server@1.5.20) (2023-02-06)
|
||||||
|
|
||||||
**Note:** Version bump only for package @standardnotes/websockets-server
|
**Note:** Version bump only for package @standardnotes/websockets-server
|
||||||
|
|||||||
@@ -8,10 +8,10 @@ ENV NODE_ENV production
|
|||||||
|
|
||||||
RUN corepack enable
|
RUN corepack enable
|
||||||
|
|
||||||
WORKDIR /workspace
|
|
||||||
|
|
||||||
COPY ./ /workspace
|
COPY ./ /workspace
|
||||||
|
|
||||||
|
WORKDIR /workspace/packages/websockets
|
||||||
|
|
||||||
ENTRYPOINT [ "/workspace/packages/websockets/docker/entrypoint.sh" ]
|
ENTRYPOINT [ "/workspace/packages/websockets/docker/entrypoint.sh" ]
|
||||||
|
|
||||||
CMD [ "start-web" ]
|
CMD [ "start-web" ]
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user