Compare commits

..

45 Commits

Author SHA1 Message Date
standardci
145b4401af chore(release): publish new version
- @standardnotes/analytics@2.21.0
 - @standardnotes/api-gateway@1.49.1
 - @standardnotes/auth-server@1.89.0
 - @standardnotes/domain-events-infra@1.9.71
 - @standardnotes/domain-events@2.108.0
 - @standardnotes/event-store@1.7.3
 - @standardnotes/files-server@1.10.4
 - @standardnotes/revisions-server@1.12.5
 - @standardnotes/scheduler-server@1.17.4
 - @standardnotes/syncing-server@1.31.6
 - @standardnotes/time@1.14.2
 - @standardnotes/websockets-server@1.6.4
 - @standardnotes/workspace-server@1.20.4
2023-02-23 11:42:37 +00:00
Karol Sójko
17bd50c263 fix(auth): add safety buffer for session access token age ttl 2023-02-23 12:27:19 +01:00
Karol Sójko
4cb79de685 chore: add running e2e test suite on a schedule 2023-02-23 11:59:45 +01:00
Karol Sójko
28ab0b8e46 chore: fix server ci setup 2023-02-23 11:44:26 +01:00
Karol Sójko
6911802b87 feat(analytics): add listening on session created and refreshed events 2023-02-23 11:18:10 +01:00
Karol Sójko
5b98924561 feat(auth): add publishing session created and session refreshed events 2023-02-23 11:18:10 +01:00
Karol Sójko
f13944badc fix(auth): mark sessions that are longer than configured as expired 2023-02-23 11:18:10 +01:00
standardci
af41e6497d chore(release): publish new version
- @standardnotes/proxy-server@1.1.6
2023-02-23 09:14:53 +00:00
Karol Sójko
b1122a3da5 fix(proxy): make healthcheck endpoint accessible at all times 2023-02-23 10:00:08 +01:00
standardci
b17fddda63 chore(release): publish new version
- @standardnotes/proxy-server@1.1.5
2023-02-22 19:05:43 +00:00
Mo
20dc020596 refactor: proxy server 2023-02-22 12:51:23 -06:00
standardci
b53291650f chore(release): publish new version
- @standardnotes/proxy-server@1.1.4
2023-02-22 18:27:14 +00:00
Mo
b83d84e519 refactor: proxy lib 2023-02-22 12:11:12 -06:00
standardci
14794d1a5f chore(release): publish new version
- @standardnotes/proxy-server@1.1.3
2023-02-22 17:33:33 +00:00
Mo
6b130ef045 refactor: proxy improvements 2023-02-22 11:19:37 -06:00
standardci
25a6126ef4 chore(release): publish new version
- @standardnotes/proxy-server@1.1.2
2023-02-22 16:52:30 +00:00
Mo
a2df09fb5b refactor: proxy param 2023-02-22 10:38:18 -06:00
Mo
465b2741fb refactor: proxy server error handling 2023-02-22 10:35:33 -06:00
standardci
724dc5c86c chore(release): publish new version
- @standardnotes/proxy-server@1.1.1
2023-02-22 16:25:25 +00:00
Aman Harwara
f4208c19a7 refactor: proxy error response (#452) 2023-02-22 21:36:32 +05:30
Karol Sójko
6fed293716 chore: remove deploying worker workflow from proxy server 2023-02-22 13:40:30 +01:00
standardci
29ffaf04c4 chore(release): publish new version
- @standardnotes/api-gateway@1.49.0
 - @standardnotes/proxy-server@1.1.0
2023-02-22 12:33:59 +00:00
Karol Sójko
bc9182f214 fix(api-gateway): proxy endpoint for request passing 2023-02-22 13:19:17 +01:00
Karol Sójko
91c70a51a0 fix(proxy): prevent from passing auth tokens to proxy destination 2023-02-22 13:14:09 +01:00
Karol Sójko
dfe30d7f5e feat(proxy): add proxy server 2023-02-22 13:03:04 +01:00
mfridge
815d5460e7 Do not grant localstack access to host's docker.sock (#448)
* Do not grant localstack access to host's docker.sock

* Remove access to host's docker socket as requested by @karolsojko
2023-02-22 12:15:34 +01:00
standardci
8a63c6768b chore(release): publish new version
- @standardnotes/syncing-server@1.31.5
2023-02-22 11:06:01 +00:00
Karol Sójko
f7c29848f1 fix(syncing-server): numbering of the backup emails 2023-02-22 11:48:08 +01:00
standardci
78b9426c1c chore(release): publish new version
- @standardnotes/syncing-server@1.31.4
2023-02-21 11:08:01 +00:00
Karol Sójko
87b22ac684 fix(syncing-server): creating email backup attachment files 2023-02-21 11:45:54 +01:00
standardci
46c30d197a chore(release): publish new version
- @standardnotes/analytics@2.20.3
 - @standardnotes/api-gateway@1.48.3
 - @standardnotes/auth-server@1.88.3
 - @standardnotes/domain-events-infra@1.9.70
 - @standardnotes/domain-events@2.107.1
 - @standardnotes/event-store@1.7.2
 - @standardnotes/files-server@1.10.3
 - @standardnotes/revisions-server@1.12.4
 - @standardnotes/scheduler-server@1.17.3
 - @standardnotes/syncing-server@1.31.3
 - @standardnotes/websockets-server@1.6.3
 - @standardnotes/workspace-server@1.20.3
2023-02-21 10:03:46 +00:00
Karol Sójko
36b8354350 chore: remove unused revisions ownership event 2023-02-21 10:47:59 +01:00
Karol Sójko
b6702c7182 chore: remove unused content size recalculation event 2023-02-21 10:45:32 +01:00
standardci
09d7f608cd chore(release): publish new version
- @standardnotes/analytics@2.20.2
 - @standardnotes/api-gateway@1.48.2
 - @standardnotes/auth-server@1.88.2
 - @standardnotes/domain-events-infra@1.9.69
 - @standardnotes/domain-events@2.107.0
 - @standardnotes/event-store@1.7.1
 - @standardnotes/files-server@1.10.2
 - @standardnotes/revisions-server@1.12.3
 - @standardnotes/scheduler-server@1.17.2
 - @standardnotes/syncing-server@1.31.2
 - @standardnotes/websockets-server@1.6.2
 - @standardnotes/workspace-server@1.20.2
2023-02-20 06:31:30 +00:00
Karol Sójko
d023a27377 fix(event-store): add handling of email sent events 2023-02-20 07:14:24 +01:00
Karol Sójko
190595febf feat(domain-events): add email sent event 2023-02-20 07:13:23 +01:00
standardci
b25edec26c chore(release): publish new version
- @standardnotes/revisions-server@1.12.2
2023-02-17 10:18:28 +00:00
Karol Sójko
85d0c12dad fix(revisions): initial migration to check if user_uuid exists on table 2023-02-17 11:01:37 +01:00
Karol Sójko
25c98ef078 chore: fix path for syncing server revisions dumps 2023-02-16 15:17:00 +01:00
Karol Sójko
af51baea9a chore: fix upload volume path on example docker compose file 2023-02-16 15:06:31 +01:00
Karol Sójko
e97b16606c chore: fix db migrations path in self hosting setup 2023-02-16 13:26:51 +01:00
Karol Sójko
5ff9e43899 chore: fix default public files server url 2023-02-16 11:39:41 +01:00
Karol Sójko
d3a49e109c chore: change the localstack bootstrap path in the example docker compose file 2023-02-16 09:06:07 +01:00
Karol Sójko
e3dbff6996 chore: change the env file name in the example docker compose file 2023-02-16 09:04:18 +01:00
Karol Sójko
d9f5410afd chore: add mounted volume for file uploads 2023-02-15 17:37:25 +01:00
125 changed files with 1374 additions and 729 deletions

View File

@@ -8,7 +8,6 @@ DB_USERNAME=std_notes_user
DB_PASSWORD=changeme123
DB_DATABASE=standard_notes_db
DB_DEBUG_LEVEL=all
DB_MIGRATIONS_PATH=dist/migrations/*.js
#########
# CACHE #

View File

@@ -26,23 +26,6 @@ jobs:
image: standardnotes/snjs:${{ inputs.snjs_image_tag }}
ports:
- 9001:9001
mock-event-publisher:
image: standardnotes/mock-event-publisher
ports:
- 3124:3000
env:
LOG_LEVEL: debug
NODE_ENV: production
VERSION: snjs-test
SNS_TOPIC_ARN: arn:aws:sns:us-east-1:000000000000:payments-local-topic
SNS_ENDPOINT: http://localstack:4566
SNS_DISABLE_SSL: true
SNS_SECRET_ACCESS_KEY: x
SNS_ACCESS_KEY_ID: x
SNS_AWS_REGION: us-east-1
NEW_RELIC_ENABLED: false
options: >-
--name "mock-event-publisher"
steps:
- uses: actions/checkout@v3
@@ -59,8 +42,5 @@ jobs:
- name: Wait for server to start
run: docker/is-available.sh http://localhost:3123 $(pwd)/logs
- name: Connect external containers to self-hosted network
run: docker network connect --alias mock-event-publisher standardnotes_self_hosted mock-event-publisher
- name: Run E2E Test Suite
run: yarn dlx mocha-headless-chrome --timeout 1200000 -f http://localhost:9001/mocha/test.html

View File

@@ -1,6 +1,8 @@
name: E2E Test Suite On Self Hosted Server
on:
schedule:
- cron: '0 */12 * * *'
workflow_dispatch:
inputs:
snjs_image_tag:
@@ -13,5 +15,5 @@ jobs:
name: E2E
uses: standardnotes/server/.github/workflows/common-e2e.yml@main
with:
snjs_image_tag: ${{ inputs.snjs_image_tag }}
snjs_image_tag: ${{ inputs.snjs_image_tag || 'latest' }}
secrets: inherit

22
.github/workflows/proxy.yml vendored Normal file
View File

@@ -0,0 +1,22 @@
name: Proxy Server
concurrency:
group: proxy_server
cancel-in-progress: true
on:
push:
tags:
- '*standardnotes/proxy-server*'
workflow_dispatch:
jobs:
call_server_application_workflow:
name: Server Application
uses: standardnotes/server/.github/workflows/common-server-application.yml@main
with:
service_name: proxy
workspace_name: "@standardnotes/proxy-server"
deploy_worker: false
package_path: packages/proxy
secrets: inherit

28
.pnp.cjs generated
View File

@@ -53,6 +53,10 @@ const RAW_RUNTIME_STATE =
"name": "@standardnotes/predicates",\
"reference": "workspace:packages/predicates"\
},\
{\
"name": "@standardnotes/proxy-server",\
"reference": "workspace:packages/proxy"\
},\
{\
"name": "@standardnotes/revisions-server",\
"reference": "workspace:packages/revisions"\
@@ -103,6 +107,7 @@ const RAW_RUNTIME_STATE =
["@standardnotes/event-store", ["workspace:packages/event-store"]],\
["@standardnotes/files-server", ["workspace:packages/files"]],\
["@standardnotes/predicates", ["workspace:packages/predicates"]],\
["@standardnotes/proxy-server", ["workspace:packages/proxy"]],\
["@standardnotes/revisions-server", ["workspace:packages/revisions"]],\
["@standardnotes/scheduler-server", ["workspace:packages/scheduler"]],\
["@standardnotes/security", ["workspace:packages/security"]],\
@@ -4461,6 +4466,22 @@ const RAW_RUNTIME_STATE =
"linkType": "SOFT"\
}]\
]],\
["@standardnotes/proxy-server", [\
["workspace:packages/proxy", {\
"packageLocation": "./packages/proxy/",\
"packageDependencies": [\
["@standardnotes/proxy-server", "workspace:packages/proxy"],\
["@types/newrelic", "npm:9.4.0"],\
["@types/node", "npm:18.14.0"],\
["@typescript-eslint/eslint-plugin", "virtual:c66bf20e88479ada0172094776519a9f51acc4731d22079b60a295bcec7ea42d5545cbce58a77a50d932bf953298799135e99707486e343da6d99ba1d167bdbd#npm:5.48.2"],\
["eslint", "npm:8.32.0"],\
["eslint-plugin-prettier", "virtual:c66bf20e88479ada0172094776519a9f51acc4731d22079b60a295bcec7ea42d5545cbce58a77a50d932bf953298799135e99707486e343da6d99ba1d167bdbd#npm:4.2.1"],\
["newrelic", "npm:9.8.0"],\
["typescript", "patch:typescript@npm%3A4.8.4#optional!builtin<compat/typescript>::version=4.8.4&hash=701156"]\
],\
"linkType": "SOFT"\
}]\
]],\
["@standardnotes/responses", [\
["npm:1.13.4", {\
"packageLocation": "./.yarn/cache/@standardnotes-responses-npm-1.13.4-70cbd72561-4803ee14bd.zip/node_modules/@standardnotes/responses/",\
@@ -5251,6 +5272,13 @@ const RAW_RUNTIME_STATE =
["@types/node", "npm:18.11.9"]\
],\
"linkType": "HARD"\
}],\
["npm:18.14.0", {\
"packageLocation": "./.yarn/cache/@types-node-npm-18.14.0-ddc1a221d2-d17dff07c7.zip/node_modules/@types/node/",\
"packageDependencies": [\
["@types/node", "npm:18.14.0"]\
],\
"linkType": "HARD"\
}]\
]],\
["@types/nodemailer", [\

Binary file not shown.

View File

@@ -326,8 +326,8 @@ ifeq ($(strip $(foreach prefix,$(NO_LOAD),\
endif
quiet_cmd_regen_makefile = ACTION Regenerating $@
cmd_regen_makefile = cd $(srcdir); /Users/karolsojko/workspace/server/.yarn/unplugged/node-gyp-npm-9.0.0-0eccfca4d1/node_modules/node-gyp/gyp/gyp_main.py -fmake --ignore-environment "-Dlibrary=shared_library" "-Dvisibility=default" "-Dnode_root_dir=/Users/karolsojko/Library/Caches/node-gyp/18.13.0" "-Dnode_gyp_dir=/Users/karolsojko/workspace/server/.yarn/unplugged/node-gyp-npm-9.0.0-0eccfca4d1/node_modules/node-gyp" "-Dnode_lib_file=/Users/karolsojko/Library/Caches/node-gyp/18.13.0/<(target_arch)/node.lib" "-Dmodule_root_dir=/Users/karolsojko/workspace/server/.yarn/unplugged/@newrelic-native-metrics-npm-9.0.0-590d2e713a/node_modules/@newrelic/native-metrics" "-Dnode_engine=v8" "--depth=." "-Goutput_dir=." "--generator-output=build" -I/Users/karolsojko/workspace/server/.yarn/unplugged/@newrelic-native-metrics-npm-9.0.0-590d2e713a/node_modules/@newrelic/native-metrics/build/config.gypi -I/Users/karolsojko/workspace/server/.yarn/unplugged/node-gyp-npm-9.0.0-0eccfca4d1/node_modules/node-gyp/addon.gypi -I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/common.gypi "--toplevel-dir=." binding.gyp
Makefile: $(srcdir)/binding.gyp $(srcdir)/../../../../node-gyp-npm-9.0.0-0eccfca4d1/node_modules/node-gyp/addon.gypi $(srcdir)/build/config.gypi $(srcdir)/../../../../../../../../Library/Caches/node-gyp/18.13.0/include/node/common.gypi
cmd_regen_makefile = cd $(srcdir); /Users/mo/Desktop/sn/dev/server/.yarn/unplugged/node-gyp-npm-9.0.0-0eccfca4d1/node_modules/node-gyp/gyp/gyp_main.py -fmake --ignore-environment "-Dlibrary=shared_library" "-Dvisibility=default" "-Dnode_root_dir=/Users/mo/Library/Caches/node-gyp/18.13.0" "-Dnode_gyp_dir=/Users/mo/Desktop/sn/dev/server/.yarn/unplugged/node-gyp-npm-9.0.0-0eccfca4d1/node_modules/node-gyp" "-Dnode_lib_file=/Users/mo/Library/Caches/node-gyp/18.13.0/<(target_arch)/node.lib" "-Dmodule_root_dir=/Users/mo/Desktop/sn/dev/server/.yarn/unplugged/@newrelic-native-metrics-npm-9.0.0-590d2e713a/node_modules/@newrelic/native-metrics" "-Dnode_engine=v8" "--depth=." "-Goutput_dir=." "--generator-output=build" -I/Users/mo/Desktop/sn/dev/server/.yarn/unplugged/@newrelic-native-metrics-npm-9.0.0-590d2e713a/node_modules/@newrelic/native-metrics/build/config.gypi -I/Users/mo/Desktop/sn/dev/server/.yarn/unplugged/node-gyp-npm-9.0.0-0eccfca4d1/node_modules/node-gyp/addon.gypi -I/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/common.gypi "--toplevel-dir=." binding.gyp
Makefile: $(srcdir)/binding.gyp $(srcdir)/build/config.gypi $(srcdir)/../../../../node-gyp-npm-9.0.0-0eccfca4d1/node_modules/node-gyp/addon.gypi $(srcdir)/../../../../../../../../../../Library/Caches/node-gyp/18.13.0/include/node/common.gypi
$(call do_cmd,regen_makefile)
# "all" is a concatenation of the "all" targets from all the included

View File

@@ -1 +1 @@
cmd_Release/native_metrics.node := c++ -bundle -undefined dynamic_lookup -Wl,-search_paths_first -mmacosx-version-min=10.15 -arch x86_64 -L./Release -stdlib=libc++ -o Release/native_metrics.node Release/obj.target/native_metrics/src/native_metrics.o Release/obj.target/native_metrics/src/GCBinder.o Release/obj.target/native_metrics/src/LoopChecker.o
cmd_Release/native_metrics.node := c++ -bundle -undefined dynamic_lookup -Wl,-search_paths_first -mmacosx-version-min=10.15 -arch arm64 -L./Release -stdlib=libc++ -o Release/native_metrics.node Release/obj.target/native_metrics/src/native_metrics.o Release/obj.target/native_metrics/src/GCBinder.o Release/obj.target/native_metrics/src/LoopChecker.o

View File

@@ -1,65 +1,65 @@
cmd_Release/obj.target/native_metrics/src/GCBinder.o := c++ -o Release/obj.target/native_metrics/src/GCBinder.o ../src/GCBinder.cpp '-DNODE_GYP_MODULE_NAME=native_metrics' '-DUSING_UV_SHARED=1' '-DUSING_V8_SHARED=1' '-DV8_DEPRECATION_WARNINGS=1' '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-D_DARWIN_USE_64_BIT_INODE=1' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DNOMINMAX' '-DBUILDING_NODE_EXTENSION' -I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node -I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/src -I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/deps/openssl/config -I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/deps/openssl/openssl/include -I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/deps/uv/include -I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/deps/zlib -I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/deps/v8/include -I../src -I../../../../../nan-npm-2.16.0-cac314a230/node_modules/nan -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu++17 -stdlib=libc++ -fno-rtti -fno-exceptions -fno-strict-aliasing -MMD -MF ./Release/.deps/Release/obj.target/native_metrics/src/GCBinder.o.d.raw -c
cmd_Release/obj.target/native_metrics/src/GCBinder.o := c++ -o Release/obj.target/native_metrics/src/GCBinder.o ../src/GCBinder.cpp '-DNODE_GYP_MODULE_NAME=native_metrics' '-DUSING_UV_SHARED=1' '-DUSING_V8_SHARED=1' '-DV8_DEPRECATION_WARNINGS=1' '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-D_DARWIN_USE_64_BIT_INODE=1' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DNOMINMAX' '-DBUILDING_NODE_EXTENSION' -I/Users/mo/Library/Caches/node-gyp/18.13.0/include/node -I/Users/mo/Library/Caches/node-gyp/18.13.0/src -I/Users/mo/Library/Caches/node-gyp/18.13.0/deps/openssl/config -I/Users/mo/Library/Caches/node-gyp/18.13.0/deps/openssl/openssl/include -I/Users/mo/Library/Caches/node-gyp/18.13.0/deps/uv/include -I/Users/mo/Library/Caches/node-gyp/18.13.0/deps/zlib -I/Users/mo/Library/Caches/node-gyp/18.13.0/deps/v8/include -I../src -I../../../../../nan-npm-2.16.0-cac314a230/node_modules/nan -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch arm64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu++17 -stdlib=libc++ -fno-rtti -fno-exceptions -fno-strict-aliasing -MMD -MF ./Release/.deps/Release/obj.target/native_metrics/src/GCBinder.o.d.raw -c
Release/obj.target/native_metrics/src/GCBinder.o: ../src/GCBinder.cpp \
../src/GCBinder.hpp \
../../../../../nan-npm-2.16.0-cac314a230/node_modules/nan/nan.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/node_version.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv/errno.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv/version.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv/unix.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv/threadpool.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv/darwin.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/node.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/cppgc/common.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8config.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-array-buffer.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-local-handle.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-internal.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-version.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-object.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-maybe.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-persistent-handle.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-weak-callback-info.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-primitive.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-data.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-value.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-traced-handle.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-container.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-context.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-snapshot.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-date.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-debug.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-script.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-message.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-exception.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-extension.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-external.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-function.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-function-callback.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-template.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-memory-span.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-initialization.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-callbacks.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-isolate.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-embedder-heap.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-microtask.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-statistics.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-promise.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-unwinder.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-embedder-state-scope.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-platform.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-json.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-locker.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-microtask-queue.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-primitive-object.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-proxy.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-regexp.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-typed-array.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-value-serializer.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-wasm.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/node_buffer.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/node_object_wrap.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/node_version.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv/errno.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv/version.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv/unix.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv/threadpool.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv/darwin.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/node.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/cppgc/common.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8config.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-array-buffer.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-local-handle.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-internal.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-version.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-object.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-maybe.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-persistent-handle.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-weak-callback-info.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-primitive.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-data.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-value.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-traced-handle.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-container.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-context.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-snapshot.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-date.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-debug.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-script.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-message.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-exception.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-extension.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-external.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-function.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-function-callback.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-template.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-memory-span.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-initialization.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-callbacks.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-isolate.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-embedder-heap.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-microtask.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-statistics.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-promise.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-unwinder.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-embedder-state-scope.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-platform.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-json.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-locker.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-microtask-queue.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-primitive-object.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-proxy.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-regexp.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-typed-array.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-value-serializer.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-wasm.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/node_buffer.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/node_object_wrap.h \
../../../../../nan-npm-2.16.0-cac314a230/node_modules/nan/nan_callbacks.h \
../../../../../nan-npm-2.16.0-cac314a230/node_modules/nan/nan_callbacks_12_inl.h \
../../../../../nan-npm-2.16.0-cac314a230/node_modules/nan/nan_maybe_43_inl.h \
@@ -78,64 +78,64 @@ Release/obj.target/native_metrics/src/GCBinder.o: ../src/GCBinder.cpp \
../src/GCBinder.cpp:
../src/GCBinder.hpp:
../../../../../nan-npm-2.16.0-cac314a230/node_modules/nan/nan.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/node_version.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv/errno.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv/version.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv/unix.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv/threadpool.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv/darwin.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/node.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/cppgc/common.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8config.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-array-buffer.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-local-handle.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-internal.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-version.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-object.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-maybe.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-persistent-handle.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-weak-callback-info.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-primitive.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-data.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-value.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-traced-handle.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-container.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-context.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-snapshot.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-date.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-debug.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-script.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-message.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-exception.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-extension.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-external.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-function.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-function-callback.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-template.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-memory-span.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-initialization.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-callbacks.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-isolate.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-embedder-heap.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-microtask.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-statistics.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-promise.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-unwinder.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-embedder-state-scope.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-platform.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-json.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-locker.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-microtask-queue.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-primitive-object.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-proxy.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-regexp.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-typed-array.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-value-serializer.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-wasm.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/node_buffer.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/node_object_wrap.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/node_version.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv/errno.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv/version.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv/unix.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv/threadpool.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv/darwin.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/node.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/cppgc/common.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8config.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-array-buffer.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-local-handle.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-internal.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-version.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-object.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-maybe.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-persistent-handle.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-weak-callback-info.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-primitive.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-data.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-value.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-traced-handle.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-container.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-context.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-snapshot.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-date.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-debug.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-script.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-message.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-exception.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-extension.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-external.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-function.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-function-callback.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-template.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-memory-span.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-initialization.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-callbacks.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-isolate.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-embedder-heap.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-microtask.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-statistics.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-promise.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-unwinder.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-embedder-state-scope.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-platform.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-json.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-locker.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-microtask-queue.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-primitive-object.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-proxy.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-regexp.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-typed-array.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-value-serializer.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-wasm.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/node_buffer.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/node_object_wrap.h:
../../../../../nan-npm-2.16.0-cac314a230/node_modules/nan/nan_callbacks.h:
../../../../../nan-npm-2.16.0-cac314a230/node_modules/nan/nan_callbacks_12_inl.h:
../../../../../nan-npm-2.16.0-cac314a230/node_modules/nan/nan_maybe_43_inl.h:

View File

@@ -1,66 +1,66 @@
cmd_Release/obj.target/native_metrics/src/LoopChecker.o := c++ -o Release/obj.target/native_metrics/src/LoopChecker.o ../src/LoopChecker.cpp '-DNODE_GYP_MODULE_NAME=native_metrics' '-DUSING_UV_SHARED=1' '-DUSING_V8_SHARED=1' '-DV8_DEPRECATION_WARNINGS=1' '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-D_DARWIN_USE_64_BIT_INODE=1' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DNOMINMAX' '-DBUILDING_NODE_EXTENSION' -I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node -I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/src -I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/deps/openssl/config -I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/deps/openssl/openssl/include -I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/deps/uv/include -I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/deps/zlib -I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/deps/v8/include -I../src -I../../../../../nan-npm-2.16.0-cac314a230/node_modules/nan -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu++17 -stdlib=libc++ -fno-rtti -fno-exceptions -fno-strict-aliasing -MMD -MF ./Release/.deps/Release/obj.target/native_metrics/src/LoopChecker.o.d.raw -c
cmd_Release/obj.target/native_metrics/src/LoopChecker.o := c++ -o Release/obj.target/native_metrics/src/LoopChecker.o ../src/LoopChecker.cpp '-DNODE_GYP_MODULE_NAME=native_metrics' '-DUSING_UV_SHARED=1' '-DUSING_V8_SHARED=1' '-DV8_DEPRECATION_WARNINGS=1' '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-D_DARWIN_USE_64_BIT_INODE=1' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DNOMINMAX' '-DBUILDING_NODE_EXTENSION' -I/Users/mo/Library/Caches/node-gyp/18.13.0/include/node -I/Users/mo/Library/Caches/node-gyp/18.13.0/src -I/Users/mo/Library/Caches/node-gyp/18.13.0/deps/openssl/config -I/Users/mo/Library/Caches/node-gyp/18.13.0/deps/openssl/openssl/include -I/Users/mo/Library/Caches/node-gyp/18.13.0/deps/uv/include -I/Users/mo/Library/Caches/node-gyp/18.13.0/deps/zlib -I/Users/mo/Library/Caches/node-gyp/18.13.0/deps/v8/include -I../src -I../../../../../nan-npm-2.16.0-cac314a230/node_modules/nan -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch arm64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu++17 -stdlib=libc++ -fno-rtti -fno-exceptions -fno-strict-aliasing -MMD -MF ./Release/.deps/Release/obj.target/native_metrics/src/LoopChecker.o.d.raw -c
Release/obj.target/native_metrics/src/LoopChecker.o: \
../src/LoopChecker.cpp \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv/errno.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv/version.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv/unix.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv/threadpool.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv/darwin.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv/errno.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv/version.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv/unix.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv/threadpool.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv/darwin.h \
../src/LoopChecker.hpp \
../../../../../nan-npm-2.16.0-cac314a230/node_modules/nan/nan.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/node_version.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/node.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/cppgc/common.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8config.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-array-buffer.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-local-handle.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-internal.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-version.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-object.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-maybe.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-persistent-handle.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-weak-callback-info.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-primitive.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-data.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-value.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-traced-handle.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-container.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-context.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-snapshot.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-date.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-debug.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-script.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-message.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-exception.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-extension.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-external.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-function.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-function-callback.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-template.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-memory-span.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-initialization.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-callbacks.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-isolate.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-embedder-heap.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-microtask.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-statistics.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-promise.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-unwinder.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-embedder-state-scope.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-platform.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-json.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-locker.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-microtask-queue.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-primitive-object.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-proxy.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-regexp.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-typed-array.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-value-serializer.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-wasm.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/node_buffer.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/node_object_wrap.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/node_version.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/node.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/cppgc/common.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8config.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-array-buffer.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-local-handle.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-internal.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-version.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-object.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-maybe.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-persistent-handle.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-weak-callback-info.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-primitive.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-data.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-value.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-traced-handle.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-container.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-context.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-snapshot.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-date.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-debug.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-script.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-message.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-exception.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-extension.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-external.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-function.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-function-callback.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-template.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-memory-span.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-initialization.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-callbacks.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-isolate.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-embedder-heap.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-microtask.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-statistics.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-promise.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-unwinder.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-embedder-state-scope.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-platform.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-json.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-locker.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-microtask-queue.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-primitive-object.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-proxy.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-regexp.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-typed-array.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-value-serializer.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-wasm.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/node_buffer.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/node_object_wrap.h \
../../../../../nan-npm-2.16.0-cac314a230/node_modules/nan/nan_callbacks.h \
../../../../../nan-npm-2.16.0-cac314a230/node_modules/nan/nan_callbacks_12_inl.h \
../../../../../nan-npm-2.16.0-cac314a230/node_modules/nan/nan_maybe_43_inl.h \
@@ -77,66 +77,66 @@ Release/obj.target/native_metrics/src/LoopChecker.o: \
../../../../../nan-npm-2.16.0-cac314a230/node_modules/nan/nan_scriptorigin.h \
../src/Metric.hpp
../src/LoopChecker.cpp:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv/errno.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv/version.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv/unix.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv/threadpool.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv/darwin.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv/errno.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv/version.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv/unix.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv/threadpool.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv/darwin.h:
../src/LoopChecker.hpp:
../../../../../nan-npm-2.16.0-cac314a230/node_modules/nan/nan.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/node_version.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/node.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/cppgc/common.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8config.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-array-buffer.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-local-handle.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-internal.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-version.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-object.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-maybe.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-persistent-handle.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-weak-callback-info.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-primitive.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-data.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-value.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-traced-handle.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-container.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-context.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-snapshot.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-date.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-debug.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-script.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-message.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-exception.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-extension.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-external.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-function.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-function-callback.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-template.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-memory-span.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-initialization.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-callbacks.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-isolate.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-embedder-heap.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-microtask.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-statistics.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-promise.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-unwinder.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-embedder-state-scope.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-platform.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-json.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-locker.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-microtask-queue.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-primitive-object.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-proxy.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-regexp.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-typed-array.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-value-serializer.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-wasm.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/node_buffer.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/node_object_wrap.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/node_version.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/node.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/cppgc/common.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8config.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-array-buffer.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-local-handle.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-internal.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-version.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-object.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-maybe.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-persistent-handle.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-weak-callback-info.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-primitive.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-data.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-value.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-traced-handle.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-container.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-context.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-snapshot.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-date.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-debug.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-script.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-message.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-exception.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-extension.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-external.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-function.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-function-callback.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-template.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-memory-span.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-initialization.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-callbacks.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-isolate.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-embedder-heap.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-microtask.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-statistics.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-promise.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-unwinder.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-embedder-state-scope.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-platform.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-json.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-locker.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-microtask-queue.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-primitive-object.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-proxy.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-regexp.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-typed-array.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-value-serializer.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-wasm.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/node_buffer.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/node_object_wrap.h:
../../../../../nan-npm-2.16.0-cac314a230/node_modules/nan/nan_callbacks.h:
../../../../../nan-npm-2.16.0-cac314a230/node_modules/nan/nan_callbacks_12_inl.h:
../../../../../nan-npm-2.16.0-cac314a230/node_modules/nan/nan_maybe_43_inl.h:

View File

@@ -1,65 +1,65 @@
cmd_Release/obj.target/native_metrics/src/native_metrics.o := c++ -o Release/obj.target/native_metrics/src/native_metrics.o ../src/native_metrics.cpp '-DNODE_GYP_MODULE_NAME=native_metrics' '-DUSING_UV_SHARED=1' '-DUSING_V8_SHARED=1' '-DV8_DEPRECATION_WARNINGS=1' '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-D_DARWIN_USE_64_BIT_INODE=1' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DNOMINMAX' '-DBUILDING_NODE_EXTENSION' -I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node -I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/src -I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/deps/openssl/config -I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/deps/openssl/openssl/include -I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/deps/uv/include -I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/deps/zlib -I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/deps/v8/include -I../src -I../../../../../nan-npm-2.16.0-cac314a230/node_modules/nan -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu++17 -stdlib=libc++ -fno-rtti -fno-exceptions -fno-strict-aliasing -MMD -MF ./Release/.deps/Release/obj.target/native_metrics/src/native_metrics.o.d.raw -c
cmd_Release/obj.target/native_metrics/src/native_metrics.o := c++ -o Release/obj.target/native_metrics/src/native_metrics.o ../src/native_metrics.cpp '-DNODE_GYP_MODULE_NAME=native_metrics' '-DUSING_UV_SHARED=1' '-DUSING_V8_SHARED=1' '-DV8_DEPRECATION_WARNINGS=1' '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-D_DARWIN_USE_64_BIT_INODE=1' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DNOMINMAX' '-DBUILDING_NODE_EXTENSION' -I/Users/mo/Library/Caches/node-gyp/18.13.0/include/node -I/Users/mo/Library/Caches/node-gyp/18.13.0/src -I/Users/mo/Library/Caches/node-gyp/18.13.0/deps/openssl/config -I/Users/mo/Library/Caches/node-gyp/18.13.0/deps/openssl/openssl/include -I/Users/mo/Library/Caches/node-gyp/18.13.0/deps/uv/include -I/Users/mo/Library/Caches/node-gyp/18.13.0/deps/zlib -I/Users/mo/Library/Caches/node-gyp/18.13.0/deps/v8/include -I../src -I../../../../../nan-npm-2.16.0-cac314a230/node_modules/nan -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch arm64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu++17 -stdlib=libc++ -fno-rtti -fno-exceptions -fno-strict-aliasing -MMD -MF ./Release/.deps/Release/obj.target/native_metrics/src/native_metrics.o.d.raw -c
Release/obj.target/native_metrics/src/native_metrics.o: \
../src/native_metrics.cpp \
../../../../../nan-npm-2.16.0-cac314a230/node_modules/nan/nan.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/node_version.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv/errno.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv/version.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv/unix.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv/threadpool.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv/darwin.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/node.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/cppgc/common.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8config.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-array-buffer.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-local-handle.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-internal.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-version.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-object.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-maybe.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-persistent-handle.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-weak-callback-info.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-primitive.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-data.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-value.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-traced-handle.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-container.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-context.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-snapshot.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-date.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-debug.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-script.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-message.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-exception.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-extension.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-external.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-function.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-function-callback.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-template.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-memory-span.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-initialization.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-callbacks.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-isolate.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-embedder-heap.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-microtask.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-statistics.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-promise.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-unwinder.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-embedder-state-scope.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-platform.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-json.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-locker.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-microtask-queue.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-primitive-object.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-proxy.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-regexp.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-typed-array.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-value-serializer.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-wasm.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/node_buffer.h \
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/node_object_wrap.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/node_version.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv/errno.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv/version.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv/unix.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv/threadpool.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv/darwin.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/node.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/cppgc/common.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8config.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-array-buffer.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-local-handle.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-internal.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-version.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-object.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-maybe.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-persistent-handle.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-weak-callback-info.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-primitive.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-data.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-value.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-traced-handle.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-container.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-context.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-snapshot.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-date.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-debug.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-script.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-message.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-exception.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-extension.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-external.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-function.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-function-callback.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-template.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-memory-span.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-initialization.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-callbacks.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-isolate.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-embedder-heap.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-microtask.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-statistics.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-promise.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-unwinder.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-embedder-state-scope.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-platform.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-json.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-locker.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-microtask-queue.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-primitive-object.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-proxy.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-regexp.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-typed-array.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-value-serializer.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-wasm.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/node_buffer.h \
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/node_object_wrap.h \
../../../../../nan-npm-2.16.0-cac314a230/node_modules/nan/nan_callbacks.h \
../../../../../nan-npm-2.16.0-cac314a230/node_modules/nan/nan_callbacks_12_inl.h \
../../../../../nan-npm-2.16.0-cac314a230/node_modules/nan/nan_maybe_43_inl.h \
@@ -77,64 +77,64 @@ Release/obj.target/native_metrics/src/native_metrics.o: \
../src/GCBinder.hpp ../src/Metric.hpp ../src/LoopChecker.hpp
../src/native_metrics.cpp:
../../../../../nan-npm-2.16.0-cac314a230/node_modules/nan/nan.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/node_version.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv/errno.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv/version.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv/unix.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv/threadpool.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/uv/darwin.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/node.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/cppgc/common.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8config.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-array-buffer.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-local-handle.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-internal.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-version.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-object.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-maybe.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-persistent-handle.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-weak-callback-info.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-primitive.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-data.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-value.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-traced-handle.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-container.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-context.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-snapshot.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-date.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-debug.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-script.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-message.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-exception.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-extension.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-external.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-function.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-function-callback.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-template.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-memory-span.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-initialization.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-callbacks.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-isolate.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-embedder-heap.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-microtask.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-statistics.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-promise.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-unwinder.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-embedder-state-scope.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-platform.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-json.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-locker.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-microtask-queue.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-primitive-object.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-proxy.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-regexp.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-typed-array.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-value-serializer.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/v8-wasm.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/node_buffer.h:
/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node/node_object_wrap.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/node_version.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv/errno.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv/version.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv/unix.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv/threadpool.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/uv/darwin.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/node.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/cppgc/common.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8config.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-array-buffer.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-local-handle.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-internal.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-version.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-object.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-maybe.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-persistent-handle.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-weak-callback-info.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-primitive.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-data.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-value.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-traced-handle.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-container.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-context.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-snapshot.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-date.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-debug.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-script.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-message.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-exception.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-extension.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-external.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-function.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-function-callback.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-template.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-memory-span.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-initialization.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-callbacks.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-isolate.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-embedder-heap.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-microtask.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-statistics.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-promise.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-unwinder.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-embedder-state-scope.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-platform.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-json.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-locker.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-microtask-queue.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-primitive-object.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-proxy.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-regexp.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-typed-array.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-value-serializer.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/v8-wasm.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/node_buffer.h:
/Users/mo/Library/Caches/node-gyp/18.13.0/include/node/node_object_wrap.h:
../../../../../nan-npm-2.16.0-cac314a230/node_modules/nan/nan_callbacks.h:
../../../../../nan-npm-2.16.0-cac314a230/node_modules/nan/nan_callbacks_12_inl.h:
../../../../../nan-npm-2.16.0-cac314a230/node_modules/nan/nan_maybe_43_inl.h:

View File

@@ -5,9 +5,12 @@
"default_configuration": "Release",
"defines": [],
"include_dirs": [],
"libraries": []
"libraries": [],
"msvs_configuration_platform": "ARM64",
"xcode_configuration_platform": "arm64"
},
"variables": {
"arm_fpu": "neon",
"asan": 0,
"coverage": "false",
"dcheck_always_on": 0,
@@ -18,7 +21,7 @@
"enable_pgo_use": "false",
"error_on_warn": "false",
"force_dynamic_crt": 0,
"host_arch": "x64",
"host_arch": "arm64",
"icu_data_in": "../../deps/icu-tmp/icudt72l.dat",
"icu_endianness": "l",
"icu_gyp_path": "tools/icu/icu-generic.gyp",
@@ -27,7 +30,7 @@
"icu_ver_major": "72",
"is_debug": 0,
"libdir": "lib",
"llvm_version": "11.0",
"llvm_version": "12.0",
"napi_build_version": "8",
"node_builtin_shareable_builtins": [
"deps/cjs-module-lexer/lexer.js",
@@ -371,7 +374,7 @@
"openssl_quic": "true",
"ossfuzz": "false",
"shlib_suffix": "108.dylib",
"target_arch": "x64",
"target_arch": "arm64",
"v8_enable_31bit_smis_on_64bit_arch": 0,
"v8_enable_gdbjit": 0,
"v8_enable_hugepage": 0,
@@ -382,7 +385,6 @@
"v8_enable_object_print": 1,
"v8_enable_pointer_compression": 0,
"v8_enable_shared_ro_heap": 1,
"v8_enable_short_builtin_calls": 1,
"v8_enable_webassembly": 1,
"v8_no_strict_aliasing": 1,
"v8_optimized_debug": 1,
@@ -391,9 +393,9 @@
"v8_trace_maps": 0,
"v8_use_siphash": 1,
"want_separate_host_toolset": 0,
"xcode_version": "11.0",
"nodedir": "/Users/karolsojko/Library/Caches/node-gyp/18.13.0",
"xcode_version": "12.0",
"nodedir": "/Users/mo/Library/Caches/node-gyp/18.13.0",
"standalone_static_library": 1,
"user_agent": "yarn/4.0.0-rc.25 npm/? node/v18.13.0 darwin x64"
"user_agent": "yarn/4.0.0-rc.25 npm/? node/v18.13.0 darwin arm64"
}
}

View File

@@ -26,7 +26,7 @@ CFLAGS_Debug := \
-O0 \
-gdwarf-2 \
-mmacosx-version-min=10.15 \
-arch x86_64 \
-arch arm64 \
-Wall \
-Wendif-labels \
-W \
@@ -51,13 +51,13 @@ CFLAGS_OBJC_Debug :=
CFLAGS_OBJCC_Debug :=
INCS_Debug := \
-I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node \
-I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/src \
-I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/deps/openssl/config \
-I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/deps/openssl/openssl/include \
-I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/deps/uv/include \
-I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/deps/zlib \
-I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/deps/v8/include \
-I/Users/mo/Library/Caches/node-gyp/18.13.0/include/node \
-I/Users/mo/Library/Caches/node-gyp/18.13.0/src \
-I/Users/mo/Library/Caches/node-gyp/18.13.0/deps/openssl/config \
-I/Users/mo/Library/Caches/node-gyp/18.13.0/deps/openssl/openssl/include \
-I/Users/mo/Library/Caches/node-gyp/18.13.0/deps/uv/include \
-I/Users/mo/Library/Caches/node-gyp/18.13.0/deps/zlib \
-I/Users/mo/Library/Caches/node-gyp/18.13.0/deps/v8/include \
-I$(srcdir)/src \
-I$(srcdir)/../../../../nan-npm-2.16.0-cac314a230/node_modules/nan
@@ -82,7 +82,7 @@ CFLAGS_Release := \
-O3 \
-gdwarf-2 \
-mmacosx-version-min=10.15 \
-arch x86_64 \
-arch arm64 \
-Wall \
-Wendif-labels \
-W \
@@ -107,13 +107,13 @@ CFLAGS_OBJC_Release :=
CFLAGS_OBJCC_Release :=
INCS_Release := \
-I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/include/node \
-I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/src \
-I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/deps/openssl/config \
-I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/deps/openssl/openssl/include \
-I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/deps/uv/include \
-I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/deps/zlib \
-I/Users/karolsojko/Library/Caches/node-gyp/18.13.0/deps/v8/include \
-I/Users/mo/Library/Caches/node-gyp/18.13.0/include/node \
-I/Users/mo/Library/Caches/node-gyp/18.13.0/src \
-I/Users/mo/Library/Caches/node-gyp/18.13.0/deps/openssl/config \
-I/Users/mo/Library/Caches/node-gyp/18.13.0/deps/openssl/openssl/include \
-I/Users/mo/Library/Caches/node-gyp/18.13.0/deps/uv/include \
-I/Users/mo/Library/Caches/node-gyp/18.13.0/deps/zlib \
-I/Users/mo/Library/Caches/node-gyp/18.13.0/deps/v8/include \
-I$(srcdir)/src \
-I$(srcdir)/../../../../nan-npm-2.16.0-cac314a230/node_modules/nan
@@ -152,7 +152,7 @@ LDFLAGS_Debug := \
-undefined dynamic_lookup \
-Wl,-search_paths_first \
-mmacosx-version-min=10.15 \
-arch x86_64 \
-arch arm64 \
-L$(builddir) \
-stdlib=libc++
@@ -164,7 +164,7 @@ LDFLAGS_Release := \
-undefined dynamic_lookup \
-Wl,-search_paths_first \
-mmacosx-version-min=10.15 \
-arch x86_64 \
-arch arm64 \
-L$(builddir) \
-stdlib=libc++

View File

@@ -31,7 +31,8 @@ RUN mkdir -p \
/opt/bundled/auth \
/opt/bundled/files \
/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/auth-server bundle --no-compress --output-directory /opt/bundled/auth

View File

@@ -1,4 +1,22 @@
services:
mock-event-publisher:
image: standardnotes/mock-event-publisher
ports:
- 3124:3000
environment:
LOG_LEVEL: debug
NODE_ENV: production
VERSION: snjs-test
SNS_TOPIC_ARN: arn:aws:sns:us-east-1:000000000000:payments-local-topic
SNS_ENDPOINT: http://localstack:4566
SNS_DISABLE_SSL: true
SNS_SECRET_ACCESS_KEY: x
SNS_ACCESS_KEY_ID: x
SNS_AWS_REGION: us-east-1
NEW_RELIC_ENABLED: false
networks:
- standardnotes_self_hosted
server:
build: .
env_file: .github/ci.env
@@ -19,12 +37,10 @@ services:
restart: unless-stopped
environment:
- SERVICES=sns,sqs
- DOCKER_HOST=unix:///var/run/docker.sock
- HOSTNAME_EXTERNAL=localstack
- LS_LOG=warn
volumes:
- ./docker/localstack_bootstrap.sh:/etc/localstack/init/ready.d/localstack_bootstrap.sh
- /var/run/docker.sock:/var/run/docker.sock
networks:
- standardnotes_self_hosted

View File

@@ -1,13 +1,14 @@
services:
server:
image: standardnotes/server
env_file: .env.sample
env_file: .env
container_name: server_self_hosted
ports:
- 3000:3000
- 3125:3104
volumes:
- ./logs:/var/lib/server/logs
- ./uploads:/opt/bundled/files/packages/files/dist/uploads
networks:
- standardnotes_self_hosted
@@ -19,12 +20,10 @@ services:
restart: unless-stopped
environment:
- SERVICES=sns,sqs
- DOCKER_HOST=unix:///var/run/docker.sock
- HOSTNAME_EXTERNAL=localstack
- LS_LOG=warn
volumes:
- ./docker/localstack_bootstrap.sh:/etc/localstack/init/ready.d/localstack_bootstrap.sh
- /var/run/docker.sock:/var/run/docker.sock
- ./localstack_bootstrap.sh:/etc/localstack/init/ready.d/localstack_bootstrap.sh
networks:
- standardnotes_self_hosted

View File

@@ -44,9 +44,7 @@ fi
if [ -z "$DB_DEBUG_LEVEL" ]; then
export DB_DEBUG_LEVEL="all"
fi
if [ -z "$DB_MIGRATIONS_PATH" ]; then
export DB_MIGRATIONS_PATH="dist/migrations/*.js"
fi
export DB_MIGRATIONS_PATH="dist/migrations/*.js"
#########
# 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_NO_CONFIG_FILE=true
if [ -z "$SYNCING_SERVER_FILE_UPLOAD_PATH" ]; then
export SYNCING_SERVER_FILE_UPLOAD_PATH="data/uploads"
fi
export SYNCING_SERVER_FILE_UPLOAD_PATH="/opt/shared/uploads"
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_REVISIONS_SERVER_URL=http://localhost:3005
if [ -z "$PUBLIC_FILES_SERVER_URL" ]; then
export API_GATEWAY_FILES_SERVER_URL=http://localhost:$FILES_SERVER_PORT
else
export API_GATEWAY_FILES_SERVER_URL=$PUBLIC_FILES_SERVER_URL
export PUBLIC_FILES_SERVER_URL=http://localhost:3125
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

View File

@@ -3,6 +3,20 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
# [2.21.0](https://github.com/standardnotes/server/compare/@standardnotes/analytics@2.20.3...@standardnotes/analytics@2.21.0) (2023-02-23)
### Features
* **analytics:** add listening on session created and refreshed events ([6911802](https://github.com/standardnotes/server/commit/6911802b8743d5d21fe1dcc3006e1d8d699fa94d))
## [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

View File

@@ -1,6 +1,6 @@
{
"name": "@standardnotes/analytics",
"version": "2.20.1",
"version": "2.21.0",
"engines": {
"node": ">=18.0.0 <19.0.0"
},

View File

@@ -55,6 +55,8 @@ import { StatisticMeasureRepositoryInterface } from '../Domain/Statistics/Statis
import { StatisticPersistenceRequestedEventHandler } from '../Domain/Handler/StatisticPersistenceRequestedEventHandler'
import { SNSClient, SNSClientConfig } from '@aws-sdk/client-sns'
import { SQSClient, SQSClientConfig } from '@aws-sdk/client-sqs'
import { SessionCreatedEventHandler } from '../Domain/Handler/SessionCreatedEventHandler'
import { SessionRefreshedEventHandler } from '../Domain/Handler/SessionRefreshedEventHandler'
// eslint-disable-next-line @typescript-eslint/no-var-requires
const newrelicFormatter = require('@newrelic/winston-enricher')
@@ -186,6 +188,8 @@ export class ContainerConfigLoader {
.to(AccountDeletionRequestedEventHandler)
container.bind<PaymentFailedEventHandler>(TYPES.PaymentFailedEventHandler).to(PaymentFailedEventHandler)
container.bind<PaymentSuccessEventHandler>(TYPES.PaymentSuccessEventHandler).to(PaymentSuccessEventHandler)
container.bind<SessionCreatedEventHandler>(TYPES.SessionCreatedEventHandler).to(SessionCreatedEventHandler)
container.bind<SessionRefreshedEventHandler>(TYPES.SessionRefreshedEventHandler).to(SessionRefreshedEventHandler)
container
.bind<SubscriptionCancelledEventHandler>(TYPES.SubscriptionCancelledEventHandler)
.to(SubscriptionCancelledEventHandler)
@@ -234,6 +238,8 @@ export class ContainerConfigLoader {
['SUBSCRIPTION_REACTIVATED', container.get(TYPES.SubscriptionReactivatedEventHandler)],
['REFUND_PROCESSED', container.get(TYPES.RefundProcessedEventHandler)],
['STATISTIC_PERSISTENCE_REQUESTED', container.get(TYPES.StatisticPersistenceRequestedEventHandler)],
['SESSION_CREATED', container.get(TYPES.SessionCreatedEventHandler)],
['SESSION_REFRESHED', container.get(TYPES.SessionRefreshedEventHandler)],
])
container

View File

@@ -37,6 +37,8 @@ const TYPES = {
SubscriptionReactivatedEventHandler: Symbol.for('SubscriptionReactivatedEventHandler'),
RefundProcessedEventHandler: Symbol.for('RefundProcessedEventHandler'),
StatisticPersistenceRequestedEventHandler: Symbol.for('StatisticPersistenceRequestedEventHandler'),
SessionCreatedEventHandler: Symbol.for('SessionCreatedEventHandler'),
SessionRefreshedEventHandler: Symbol.for('SessionRefreshedEventHandler'),
// Maps
RevenueModificationMap: Symbol.for('RevenueModificationMap'),
// Services

View File

@@ -0,0 +1,24 @@
import { SessionCreatedEvent, DomainEventHandlerInterface } from '@standardnotes/domain-events'
import { inject, injectable, optional } from 'inversify'
import { Mixpanel } from 'mixpanel'
import TYPES from '../../Bootstrap/Types'
import { GetUserAnalyticsId } from '../UseCase/GetUserAnalyticsId/GetUserAnalyticsId'
@injectable()
export class SessionCreatedEventHandler implements DomainEventHandlerInterface {
constructor(
@inject(TYPES.GetUserAnalyticsId) private getUserAnalyticsId: GetUserAnalyticsId,
@inject(TYPES.MixpanelClient) @optional() private mixpanelClient: Mixpanel | null,
) {}
async handle(event: SessionCreatedEvent): Promise<void> {
const { analyticsId } = await this.getUserAnalyticsId.execute({ userUuid: event.payload.userUuid })
if (this.mixpanelClient !== null) {
this.mixpanelClient.track(event.type, {
distinct_id: analyticsId.toString(),
})
}
}
}

View File

@@ -0,0 +1,24 @@
import { SessionRefreshedEvent, DomainEventHandlerInterface } from '@standardnotes/domain-events'
import { inject, injectable, optional } from 'inversify'
import { Mixpanel } from 'mixpanel'
import TYPES from '../../Bootstrap/Types'
import { GetUserAnalyticsId } from '../UseCase/GetUserAnalyticsId/GetUserAnalyticsId'
@injectable()
export class SessionRefreshedEventHandler implements DomainEventHandlerInterface {
constructor(
@inject(TYPES.GetUserAnalyticsId) private getUserAnalyticsId: GetUserAnalyticsId,
@inject(TYPES.MixpanelClient) @optional() private mixpanelClient: Mixpanel | null,
) {}
async handle(event: SessionRefreshedEvent): Promise<void> {
const { analyticsId } = await this.getUserAnalyticsId.execute({ userUuid: event.payload.userUuid })
if (this.mixpanelClient !== null) {
this.mixpanelClient.track(event.type, {
distinct_id: analyticsId.toString(),
})
}
}
}

View File

@@ -3,6 +3,28 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.49.1](https://github.com/standardnotes/api-gateway/compare/@standardnotes/api-gateway@1.49.0...@standardnotes/api-gateway@1.49.1) (2023-02-23)
**Note:** Version bump only for package @standardnotes/api-gateway
# [1.49.0](https://github.com/standardnotes/api-gateway/compare/@standardnotes/api-gateway@1.48.3...@standardnotes/api-gateway@1.49.0) (2023-02-22)
### Bug Fixes
* **api-gateway:** proxy endpoint for request passing ([bc9182f](https://github.com/standardnotes/api-gateway/commit/bc9182f214c5386c5f1dd0bcbafbce34d413b6e8))
### Features
* **proxy:** add proxy server ([dfe30d7](https://github.com/standardnotes/api-gateway/commit/dfe30d7f5e8598ec1886db0e061b7d593cc27e29))
## [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

View File

@@ -22,6 +22,7 @@ import '../src/Controller/v1/SubscriptionInvitesController'
import '../src/Controller/v1/WorkspacesController'
import '../src/Controller/v1/InvitesController'
import '../src/Controller/v1/AuthenticatorsController'
import '../src/Controller/v1/ProxyController'
import '../src/Controller/v2/PaymentsControllerV2'
import '../src/Controller/v2/ActionsControllerV2'

View File

@@ -1,6 +1,6 @@
{
"name": "@standardnotes/api-gateway",
"version": "1.48.1",
"version": "1.49.1",
"engines": {
"node": ">=18.0.0 <19.0.0"
},

View File

@@ -61,6 +61,7 @@ export class ContainerConfigLoader {
container.bind(TYPES.AUTH_JWT_SECRET).toConstantValue(env.get('AUTH_JWT_SECRET'))
container.bind(TYPES.WORKSPACE_SERVER_URL).toConstantValue(env.get('WORKSPACE_SERVER_URL', true))
container.bind(TYPES.WEB_SOCKET_SERVER_URL).toConstantValue(env.get('WEB_SOCKET_SERVER_URL', true))
container.bind(TYPES.PROXY_SERVER_URL).toConstantValue(env.get('PROXY_SERVER_URL', true))
container
.bind(TYPES.HTTP_CALL_TIMEOUT)
.toConstantValue(env.get('HTTP_CALL_TIMEOUT', true) ? +env.get('HTTP_CALL_TIMEOUT', true) : 60_000)

View File

@@ -11,6 +11,7 @@ const TYPES = {
EMAIL_SERVER_URL: Symbol.for('EMAIL_SERVER_URL'),
WORKSPACE_SERVER_URL: Symbol.for('WORKSPACE_SERVER_URL'),
WEB_SOCKET_SERVER_URL: Symbol.for('WEB_SOCKET_SERVER_URL'),
PROXY_SERVER_URL: Symbol.for('PROXY_SERVER_URL'),
AUTH_JWT_SECRET: Symbol.for('AUTH_JWT_SECRET'),
HTTP_CALL_TIMEOUT: Symbol.for('HTTP_CALL_TIMEOUT'),
VERSION: Symbol.for('VERSION'),

View File

@@ -0,0 +1,18 @@
import { Request, Response } from 'express'
import { inject } from 'inversify'
import { all, BaseHttpController, controller } from 'inversify-express-utils'
import TYPES from '../../Bootstrap/Types'
import { HttpServiceInterface } from '../../Service/Http/HttpServiceInterface'
@controller('/v1/proxy')
export class ProxyController extends BaseHttpController {
constructor(@inject(TYPES.HTTPService) private httpService: HttpServiceInterface) {
super()
}
@all('*', TYPES.AuthMiddleware)
async createToken(request: Request, response: Response): Promise<void> {
await this.httpService.callProxyServer(request, response, request.path.replace('/v1/proxy', ''), request.body)
}
}

View File

@@ -20,6 +20,7 @@ export class HttpService implements HttpServiceInterface {
@inject(TYPES.WEB_SOCKET_SERVER_URL) private webSocketServerUrl: string,
@inject(TYPES.REVISIONS_SERVER_URL) private revisionsServerUrl: string,
@inject(TYPES.EMAIL_SERVER_URL) private emailServerUrl: string,
@inject(TYPES.PROXY_SERVER_URL) private proxyServerUrl: string,
@inject(TYPES.HTTP_CALL_TIMEOUT) private httpCallTimeout: number,
@inject(TYPES.CrossServiceTokenCache) private crossServiceTokenCache: CrossServiceTokenCacheInterface,
@inject(TYPES.Logger) private logger: Logger,
@@ -111,6 +112,21 @@ export class HttpService implements HttpServiceInterface {
await this.callServer(this.webSocketServerUrl, request, response, endpoint, payload)
}
async callProxyServer(
request: Request,
response: Response,
endpoint: string,
payload?: Record<string, unknown> | string,
): Promise<void> {
if (!this.proxyServerUrl) {
this.logger.debug('Proxy Server URL not defined. Skipped request to Proxy.')
return
}
await this.callServer(this.proxyServerUrl, request, response, endpoint, payload)
}
async callPaymentsServer(
request: Request,
response: Response,

View File

@@ -55,4 +55,10 @@ export interface HttpServiceInterface {
endpoint: string,
payload?: Record<string, unknown> | string,
): Promise<void>
callProxyServer(
request: Request,
response: Response,
endpoint: string,
payload?: Record<string, unknown> | string,
): Promise<void>
}

View File

@@ -3,6 +3,25 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
# [1.89.0](https://github.com/standardnotes/server/compare/@standardnotes/auth-server@1.88.3...@standardnotes/auth-server@1.89.0) (2023-02-23)
### Bug Fixes
* **auth:** add safety buffer for session access token age ttl ([17bd50c](https://github.com/standardnotes/server/commit/17bd50c263520c4936bf674070e46f0ea0b5cfb1))
* **auth:** mark sessions that are longer than configured as expired ([f13944b](https://github.com/standardnotes/server/commit/f13944badc0e04f153626d0d6ace6f8f6d57e533))
### Features
* **auth:** add publishing session created and session refreshed events ([5b98924](https://github.com/standardnotes/server/commit/5b9892456158819831f1f2dcf349ac861d699a94))
## [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

View File

@@ -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)
})
})

View File

@@ -1,11 +0,0 @@
'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/content.js')))
Object.defineProperty(exports, '__esModule', { value: true })
exports.default = index

View File

@@ -55,11 +55,6 @@ case "$COMMAND" in
node docker/entrypoint-backup.js one_drive daily
;;
'content-recalculation' )
echo "[Docker] Starting Content Size Recalculation..."
node docker/entrypoint-content.js
;;
* )
echo "[Docker] Unknown command"
;;

View File

@@ -1,6 +1,6 @@
{
"name": "@standardnotes/auth-server",
"version": "1.88.1",
"version": "1.89.0",
"engines": {
"node": ">=18.0.0 <19.0.0"
},

View File

@@ -9,6 +9,8 @@ import { SessionServiceInterface } from '../Session/SessionServiceInterface'
import { KeyParamsFactoryInterface } from '../User/KeyParamsFactoryInterface'
import { User } from '../User/User'
import { AuthResponseFactory20200115 } from './AuthResponseFactory20200115'
import { DomainEventPublisherInterface } from '@standardnotes/domain-events'
import { DomainEventFactoryInterface } from '../Event/DomainEventFactoryInterface'
describe('AuthResponseFactory20200115', () => {
let sessionService: SessionServiceInterface
@@ -18,13 +20,24 @@ describe('AuthResponseFactory20200115', () => {
let sessionPayload: SessionBody
let logger: Logger
let tokenEncoder: TokenEncoderInterface<SessionTokenData>
let domainEventFactory: DomainEventFactoryInterface
let domainEventPublisher: DomainEventPublisherInterface
const createFactory = () =>
new AuthResponseFactory20200115(sessionService, keyParamsFactory, userProjector, tokenEncoder, logger)
new AuthResponseFactory20200115(
sessionService,
keyParamsFactory,
userProjector,
tokenEncoder,
domainEventFactory,
domainEventPublisher,
logger,
)
beforeEach(() => {
logger = {} as jest.Mocked<Logger>
logger.debug = jest.fn()
logger.error = jest.fn()
sessionPayload = {
access_token: 'access_token',
@@ -52,6 +65,12 @@ describe('AuthResponseFactory20200115', () => {
tokenEncoder = {} as jest.Mocked<TokenEncoderInterface<SessionTokenData>>
tokenEncoder.encodeToken = jest.fn().mockReturnValue('foobar')
domainEventFactory = {} as jest.Mocked<DomainEventFactoryInterface>
domainEventFactory.createSessionCreatedEvent = jest.fn().mockReturnValue({})
domainEventPublisher = {} as jest.Mocked<DomainEventPublisherInterface>
domainEventPublisher.publish = jest.fn()
})
it('should create a 20161215 auth response if user does not support sessions', async () => {
@@ -82,6 +101,37 @@ describe('AuthResponseFactory20200115', () => {
readonlyAccess: false,
})
expect(response).toEqual({
key_params: {
key1: 'value1',
key2: 'value2',
},
session: {
access_token: 'access_token',
refresh_token: 'refresh_token',
access_expiration: 123,
refresh_expiration: 234,
readonly_access: false,
},
user: {
foo: 'bar',
},
})
expect(domainEventPublisher.publish).toHaveBeenCalled()
})
it('should create a 20200115 auth response even if publishing the domain event fails', async () => {
domainEventPublisher.publish = jest.fn().mockRejectedValue(new Error('test'))
user.supportsSessions = jest.fn().mockReturnValue(true)
const response = await createFactory().createResponse({
user,
apiVersion: '20200115',
userAgent: 'Google Chrome',
ephemeralSession: false,
readonlyAccess: false,
})
expect(response).toEqual({
key_params: {
key1: 'value1',

View File

@@ -3,18 +3,22 @@ import {
SessionTokenData,
TokenEncoderInterface,
} from '@standardnotes/security'
import { DomainEventPublisherInterface } from '@standardnotes/domain-events'
import { ProtocolVersion } from '@standardnotes/common'
import { SessionBody } from '@standardnotes/responses'
import { inject, injectable } from 'inversify'
import { Logger } from 'winston'
import TYPES from '../../Bootstrap/Types'
import { ProjectorInterface } from '../../Projection/ProjectorInterface'
import { SessionServiceInterface } from '../Session/SessionServiceInterface'
import { KeyParamsFactoryInterface } from '../User/KeyParamsFactoryInterface'
import { User } from '../User/User'
import { AuthResponseFactory20190520 } from './AuthResponseFactory20190520'
import { DomainEventFactoryInterface } from '../Event/DomainEventFactoryInterface'
import { AuthResponse20161215 } from './AuthResponse20161215'
import { AuthResponse20200115 } from './AuthResponse20200115'
import { AuthResponseFactory20190520 } from './AuthResponseFactory20190520'
@injectable()
export class AuthResponseFactory20200115 extends AuthResponseFactory20190520 {
@@ -23,6 +27,8 @@ export class AuthResponseFactory20200115 extends AuthResponseFactory20190520 {
@inject(TYPES.KeyParamsFactory) private keyParamsFactory: KeyParamsFactoryInterface,
@inject(TYPES.UserProjector) userProjector: ProjectorInterface<User>,
@inject(TYPES.SessionTokenEncoder) protected override tokenEncoder: TokenEncoderInterface<SessionTokenData>,
@inject(TYPES.DomainEventFactory) private domainEventFactory: DomainEventFactoryInterface,
@inject(TYPES.DomainEventPublisher) private domainEventPublisher: DomainEventPublisherInterface,
@inject(TYPES.Logger) logger: Logger,
) {
super(userProjector, tokenEncoder, logger)
@@ -67,6 +73,16 @@ export class AuthResponseFactory20200115 extends AuthResponseFactory20190520 {
return this.sessionService.createNewEphemeralSessionForUser(dto)
}
return this.sessionService.createNewSessionForUser(dto)
const session = this.sessionService.createNewSessionForUser(dto)
try {
await this.domainEventPublisher.publish(
this.domainEventFactory.createSessionCreatedEvent({ userUuid: dto.user.uuid }),
)
} catch (error) {
this.logger.error(`Failed to publish session created event: ${(error as Error).message}`)
}
return session
}
}

View File

@@ -16,10 +16,11 @@ import {
DomainEventService,
WebSocketMessageRequestedEvent,
ExitDiscountApplyRequestedEvent,
UserContentSizeRecalculationRequestedEvent,
MuteEmailsSettingChangedEvent,
EmailRequestedEvent,
StatisticPersistenceRequestedEvent,
SessionCreatedEvent,
SessionRefreshedEvent,
} from '@standardnotes/domain-events'
import { Predicate, PredicateVerificationResult } from '@standardnotes/predicates'
import { TimerInterface } from '@standardnotes/time'
@@ -32,6 +33,36 @@ import { DomainEventFactoryInterface } from './DomainEventFactoryInterface'
export class DomainEventFactory implements DomainEventFactoryInterface {
constructor(@inject(TYPES.Timer) private timer: TimerInterface) {}
createSessionCreatedEvent(dto: { userUuid: string }): SessionCreatedEvent {
return {
type: 'SESSION_CREATED',
createdAt: this.timer.getUTCDate(),
meta: {
correlation: {
userIdentifier: dto.userUuid,
userIdentifierType: 'uuid',
},
origin: DomainEventService.Auth,
},
payload: dto,
}
}
createSessionRefreshedEvent(dto: { userUuid: string }): SessionRefreshedEvent {
return {
type: 'SESSION_REFRESHED',
createdAt: this.timer.getUTCDate(),
meta: {
correlation: {
userIdentifier: dto.userUuid,
userIdentifierType: 'uuid',
},
origin: DomainEventService.Auth,
},
payload: dto,
}
}
createStatisticPersistenceRequestedEvent(dto: {
statisticMeasureName: string
value: number
@@ -70,23 +101,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: {
userEmail: string
discountCode: string

View File

@@ -14,15 +14,15 @@ import {
PredicateVerifiedEvent,
WebSocketMessageRequestedEvent,
ExitDiscountApplyRequestedEvent,
UserContentSizeRecalculationRequestedEvent,
MuteEmailsSettingChangedEvent,
EmailRequestedEvent,
StatisticPersistenceRequestedEvent,
SessionCreatedEvent,
SessionRefreshedEvent,
} from '@standardnotes/domain-events'
import { InviteeIdentifierType } from '../SharedSubscription/InviteeIdentifierType'
export interface DomainEventFactoryInterface {
createUserContentSizeRecalculationRequestedEvent(userUuid: string): UserContentSizeRecalculationRequestedEvent
createWebSocketMessageRequestedEvent(dto: { userUuid: string; message: JSONString }): WebSocketMessageRequestedEvent
createEmailRequestedEvent(dto: {
userEmail: string
@@ -94,4 +94,6 @@ export interface DomainEventFactoryInterface {
value: number
date: number
}): StatisticPersistenceRequestedEvent
createSessionCreatedEvent(dto: { userUuid: string }): SessionCreatedEvent
createSessionRefreshedEvent(dto: { userUuid: string }): SessionRefreshedEvent
}

View File

@@ -1,5 +1,4 @@
import 'reflect-metadata'
import * as dayjs from 'dayjs'
import { Session } from '../Session/Session'
@@ -7,28 +6,35 @@ import { User } from '../User/User'
import { AuthenticateUser } from './AuthenticateUser'
import { RevokedSession } from '../Session/RevokedSession'
import { AuthenticationMethodResolverInterface } from '../Auth/AuthenticationMethodResolverInterface'
import { TimerInterface } from '@standardnotes/time'
describe('AuthenticateUser', () => {
let user: User
let session: Session
let revokedSession: RevokedSession
let authenticationMethodResolver: AuthenticationMethodResolverInterface
let timer: TimerInterface
const accessTokenAge = 3600
const createUseCase = () => new AuthenticateUser(authenticationMethodResolver)
const createUseCase = () => new AuthenticateUser(authenticationMethodResolver, timer, accessTokenAge)
beforeEach(() => {
user = {} as jest.Mocked<User>
user.supportsSessions = jest.fn().mockReturnValue(false)
session = {} as jest.Mocked<Session>
session.accessExpiration = dayjs.utc().add(1, 'day').toDate()
session.refreshExpiration = dayjs.utc().add(1, 'day').toDate()
session.accessExpiration = new Date(123)
session.refreshExpiration = new Date(234)
revokedSession = {} as jest.Mocked<RevokedSession>
revokedSession.uuid = '1-2-3'
authenticationMethodResolver = {} as jest.Mocked<AuthenticationMethodResolverInterface>
authenticationMethodResolver.resolve = jest.fn()
timer = {} as jest.Mocked<TimerInterface>
timer.getUTCDate = jest.fn().mockReturnValue(new Date(100))
timer.getUTCDateNSecondsAhead = jest.fn().mockReturnValue(new Date(100 + accessTokenAge))
})
it('should authenticate a user based on a JWT token', async () => {
@@ -107,7 +113,22 @@ describe('AuthenticateUser', () => {
})
it('should not authenticate a user from a session token if session is expired', async () => {
session.accessExpiration = dayjs.utc().subtract(1, 'day').toDate()
timer.getUTCDate = jest.fn().mockReturnValue(new Date(200))
user.supportsSessions = jest.fn().mockReturnValue(true)
authenticationMethodResolver.resolve = jest.fn().mockReturnValue({
type: 'session_token',
session,
user,
})
const response = await createUseCase().execute({ token: 'test' })
expect(response.success).toBeFalsy()
})
it('should not authenticate a user from a session token if session is longer than configured', async () => {
timer.getUTCDateNSecondsAhead = jest.fn().mockReturnValue(new Date(20))
user.supportsSessions = jest.fn().mockReturnValue(true)
authenticationMethodResolver.resolve = jest.fn().mockReturnValue({
@@ -122,7 +143,7 @@ describe('AuthenticateUser', () => {
})
it('should not authenticate a user from a session token if refresh token is expired', async () => {
session.refreshExpiration = dayjs.utc().subtract(1, 'day').toDate()
timer.getUTCDate = jest.fn().mockReturnValue(new Date(500))
user.supportsSessions = jest.fn().mockReturnValue(true)
authenticationMethodResolver.resolve = jest.fn().mockReturnValue({

View File

@@ -1,9 +1,10 @@
import { TimerInterface } from '@standardnotes/time'
import * as crypto from 'crypto'
import * as dayjs from 'dayjs'
import { inject, injectable } from 'inversify'
import TYPES from '../../Bootstrap/Types'
import { AuthenticationMethodResolverInterface } from '../Auth/AuthenticationMethodResolverInterface'
import { Session } from '../Session/Session'
import { AuthenticateUserDTO } from './AuthenticateUserDTO'
import { AuthenticateUserResponse } from './AuthenticateUserResponse'
@@ -14,6 +15,8 @@ export class AuthenticateUser implements UseCaseInterface {
constructor(
@inject(TYPES.AuthenticationMethodResolver)
private authenticationMethodResolver: AuthenticationMethodResolverInterface,
@inject(TYPES.Timer) private timer: TimerInterface,
@inject(TYPES.ACCESS_TOKEN_AGE) private accessTokenAge: number,
) {}
async execute(dto: AuthenticateUserDTO): Promise<AuthenticateUserResponse> {
@@ -69,14 +72,14 @@ export class AuthenticateUser implements UseCaseInterface {
}
}
if (session.refreshExpiration < dayjs.utc().toDate()) {
if (session.refreshExpiration < this.timer.getUTCDate()) {
return {
success: false,
failureType: 'INVALID_AUTH',
}
}
if (session.accessExpiration < dayjs.utc().toDate()) {
if (this.sessionIsExpired(session)) {
return {
success: false,
failureType: 'EXPIRED_TOKEN',
@@ -93,4 +96,17 @@ export class AuthenticateUser implements UseCaseInterface {
session: authenticationMethod.session,
}
}
private sessionIsExpired(session: Session): boolean {
const sessionIsExpired = session.accessExpiration < this.timer.getUTCDate()
const freshlyCreatedSessionSafetyBufferSeconds = 10
const currentConfigurationAccessTokenExpiration = this.timer.getUTCDateNSecondsAhead(
this.accessTokenAge + freshlyCreatedSessionSafetyBufferSeconds,
)
const sessionIsLongerThanCurrentConfiguration = session.accessExpiration > currentConfigurationAccessTokenExpiration
return sessionIsExpired || sessionIsLongerThanCurrentConfiguration
}
}

View File

@@ -1,20 +1,28 @@
import 'reflect-metadata'
import * as dayjs from 'dayjs'
import { Session } from '../Session/Session'
import { SessionServiceInterface } from '../Session/SessionServiceInterface'
import { RefreshSessionToken } from './RefreshSessionToken'
import { DomainEventPublisherInterface } from '@standardnotes/domain-events'
import { TimerInterface } from '@standardnotes/time'
import { Logger } from 'winston'
import { DomainEventFactoryInterface } from '../Event/DomainEventFactoryInterface'
describe('RefreshSessionToken', () => {
let sessionService: SessionServiceInterface
let session: Session
let domainEventFactory: DomainEventFactoryInterface
let domainEventPublisher: DomainEventPublisherInterface
let timer: TimerInterface
let logger: Logger
const createUseCase = () => new RefreshSessionToken(sessionService)
const createUseCase = () =>
new RefreshSessionToken(sessionService, domainEventFactory, domainEventPublisher, timer, logger)
beforeEach(() => {
session = {} as jest.Mocked<Session>
session.uuid = '1-2-3'
session.refreshExpiration = dayjs.utc().add(1, 'day').toDate()
session.refreshExpiration = new Date(123)
sessionService = {} as jest.Mocked<SessionServiceInterface>
sessionService.isRefreshTokenValid = jest.fn().mockReturnValue(true)
@@ -25,6 +33,18 @@ describe('RefreshSessionToken', () => {
access_expiration: 123,
refresh_expiration: 234,
})
domainEventFactory = {} as jest.Mocked<DomainEventFactoryInterface>
domainEventFactory.createSessionRefreshedEvent = jest.fn().mockReturnValue({})
domainEventPublisher = {} as jest.Mocked<DomainEventPublisherInterface>
domainEventPublisher.publish = jest.fn()
timer = {} as jest.Mocked<TimerInterface>
timer.getUTCDate = jest.fn().mockReturnValue(new Date(100))
logger = {} as jest.Mocked<Logger>
logger.error = jest.fn()
})
it('should refresh session token', async () => {
@@ -44,6 +64,29 @@ describe('RefreshSessionToken', () => {
refresh_expiration: 234,
},
})
expect(domainEventPublisher.publish).toHaveBeenCalled()
})
it('should refresh a session token even if publishing domain event fails', async () => {
domainEventPublisher.publish = jest.fn().mockRejectedValue(new Error('test'))
const result = await createUseCase().execute({
accessToken: '123',
refreshToken: '234',
})
expect(sessionService.refreshTokens).toHaveBeenCalledWith(session)
expect(result).toEqual({
success: true,
sessionPayload: {
access_token: 'token1',
refresh_token: 'token2',
access_expiration: 123,
refresh_expiration: 234,
},
})
})
it('should not refresh a session token if session is not found', async () => {
@@ -77,7 +120,7 @@ describe('RefreshSessionToken', () => {
})
it('should not refresh a session token if refresh token is expired', async () => {
session.refreshExpiration = dayjs.utc().subtract(1, 'day').toDate()
timer.getUTCDate = jest.fn().mockReturnValue(new Date(200))
const result = await createUseCase().execute({
accessToken: '123',

View File

@@ -1,14 +1,24 @@
import * as dayjs from 'dayjs'
import { inject, injectable } from 'inversify'
import { DomainEventPublisherInterface } from '@standardnotes/domain-events'
import { TimerInterface } from '@standardnotes/time'
import { Logger } from 'winston'
import TYPES from '../../Bootstrap/Types'
import { SessionServiceInterface } from '../Session/SessionServiceInterface'
import { DomainEventFactoryInterface } from '../Event/DomainEventFactoryInterface'
import { RefreshSessionTokenResponse } from './RefreshSessionTokenResponse'
import { RefreshSessionTokenDTO } from './RefreshSessionTokenDTO'
@injectable()
export class RefreshSessionToken {
constructor(@inject(TYPES.SessionService) private sessionService: SessionServiceInterface) {}
constructor(
@inject(TYPES.SessionService) private sessionService: SessionServiceInterface,
@inject(TYPES.DomainEventFactory) private domainEventFactory: DomainEventFactoryInterface,
@inject(TYPES.DomainEventPublisher) private domainEventPublisher: DomainEventPublisherInterface,
@inject(TYPES.Timer) private timer: TimerInterface,
@inject(TYPES.Logger) private logger: Logger,
) {}
async execute(dto: RefreshSessionTokenDTO): Promise<RefreshSessionTokenResponse> {
const session = await this.sessionService.getSessionFromToken(dto.accessToken)
@@ -28,7 +38,7 @@ export class RefreshSessionToken {
}
}
if (session.refreshExpiration < dayjs.utc().toDate()) {
if (session.refreshExpiration < this.timer.getUTCDate()) {
return {
success: false,
errorTag: 'expired-refresh-token',
@@ -38,6 +48,14 @@ export class RefreshSessionToken {
const sessionPayload = await this.sessionService.refreshTokens(session)
try {
await this.domainEventPublisher.publish(
this.domainEventFactory.createSessionRefreshedEvent({ userUuid: session.userUuid }),
)
} catch (error) {
this.logger.error(`Failed to publish session refreshed event: ${(error as Error).message}`)
}
return {
success: true,
sessionPayload,

View File

@@ -3,6 +3,18 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.9.71](https://github.com/standardnotes/server/compare/@standardnotes/domain-events-infra@1.9.70...@standardnotes/domain-events-infra@1.9.71) (2023-02-23)
**Note:** Version bump only for package @standardnotes/domain-events-infra
## [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)
**Note:** Version bump only for package @standardnotes/domain-events-infra

View File

@@ -1,6 +1,6 @@
{
"name": "@standardnotes/domain-events-infra",
"version": "1.9.68",
"version": "1.9.71",
"engines": {
"node": ">=18.0.0 <19.0.0"
},

View File

@@ -3,6 +3,22 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
# [2.108.0](https://github.com/standardnotes/server/compare/@standardnotes/domain-events@2.107.1...@standardnotes/domain-events@2.108.0) (2023-02-23)
### Features
* **auth:** add publishing session created and session refreshed events ([5b98924](https://github.com/standardnotes/server/commit/5b9892456158819831f1f2dcf349ac861d699a94))
## [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)
### Reverts

View File

@@ -1,6 +1,6 @@
{
"name": "@standardnotes/domain-events",
"version": "2.106.2",
"version": "2.108.0",
"engines": {
"node": ">=18.0.0 <19.0.0"
},

View File

@@ -0,0 +1,7 @@
import { DomainEventInterface } from './DomainEventInterface'
import { EmailSentEventPayload } from './EmailSentEventPayload'
export interface EmailSentEvent extends DomainEventInterface {
type: 'EMAIL_SENT'
payload: EmailSentEventPayload
}

View File

@@ -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
}>
}

View File

@@ -1,7 +0,0 @@
import { DomainEventInterface } from './DomainEventInterface'
import { RevisionsOwnershipUpdateRequestedEventPayload } from './RevisionsOwnershipUpdateRequestedEventPayload'
export interface RevisionsOwnershipUpdateRequestedEvent extends DomainEventInterface {
type: 'REVISIONS_OWNERSHIP_UPDATE_REQUESTED'
payload: RevisionsOwnershipUpdateRequestedEventPayload
}

View File

@@ -1,4 +0,0 @@
export interface RevisionsOwnershipUpdateRequestedEventPayload {
itemUuid: string
userUuid: string
}

View File

@@ -0,0 +1,7 @@
import { DomainEventInterface } from './DomainEventInterface'
import { SessionCreatedEventPayload } from './SessionCreatedEventPayload'
export interface SessionCreatedEvent extends DomainEventInterface {
type: 'SESSION_CREATED'
payload: SessionCreatedEventPayload
}

View File

@@ -0,0 +1,3 @@
export interface SessionCreatedEventPayload {
userUuid: string
}

View File

@@ -0,0 +1,7 @@
import { DomainEventInterface } from './DomainEventInterface'
import { SessionRefreshedEventPayload } from './SessionRefreshedEventPayload'
export interface SessionRefreshedEvent extends DomainEventInterface {
type: 'SESSION_REFRESHED'
payload: SessionRefreshedEventPayload
}

View File

@@ -0,0 +1,3 @@
export interface SessionRefreshedEventPayload {
userUuid: string
}

View File

@@ -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
}

View File

@@ -1,3 +0,0 @@
export interface UserContentSizeRecalculationRequestedEventPayload {
userUuid: string
}

View File

@@ -14,6 +14,8 @@ export * from './Event/EmailBackupRequestedEvent'
export * from './Event/EmailBackupRequestedEventPayload'
export * from './Event/EmailRequestedEvent'
export * from './Event/EmailRequestedEventPayload'
export * from './Event/EmailSentEvent'
export * from './Event/EmailSentEventPayload'
export * from './Event/EmailSubscriptionUnsubscribedEvent'
export * from './Event/EmailSubscriptionUnsubscribedEventPayload'
export * from './Event/ExitDiscountAppliedEvent'
@@ -52,8 +54,10 @@ export * from './Event/RefundProcessedEvent'
export * from './Event/RefundProcessedEventPayload'
export * from './Event/RevisionsCopyRequestedEvent'
export * from './Event/RevisionsCopyRequestedEventPayload'
export * from './Event/RevisionsOwnershipUpdateRequestedEvent'
export * from './Event/RevisionsOwnershipUpdateRequestedEventPayload'
export * from './Event/SessionCreatedEvent'
export * from './Event/SessionCreatedEventPayload'
export * from './Event/SessionRefreshedEvent'
export * from './Event/SessionRefreshedEventPayload'
export * from './Event/SharedSubscriptionInvitationCanceledEvent'
export * from './Event/SharedSubscriptionInvitationCanceledEventPayload'
export * from './Event/SharedSubscriptionInvitationCreatedEvent'
@@ -78,8 +82,6 @@ export * from './Event/SubscriptionRevertRequestedEvent'
export * from './Event/SubscriptionRevertRequestedEventPayload'
export * from './Event/SubscriptionSyncRequestedEvent'
export * from './Event/SubscriptionSyncRequestedEventPayload'
export * from './Event/UserContentSizeRecalculationRequestedEvent'
export * from './Event/UserContentSizeRecalculationRequestedEventPayload'
export * from './Event/UserDisabledSessionUserAgentLoggingEvent'
export * from './Event/UserDisabledSessionUserAgentLoggingEventPayload'
export * from './Event/UserEmailChangedEvent'

View File

@@ -3,6 +3,20 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.7.3](https://github.com/standardnotes/server/compare/@standardnotes/event-store@1.7.2...@standardnotes/event-store@1.7.3) (2023-02-23)
**Note:** Version bump only for package @standardnotes/event-store
## [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

View File

@@ -1,6 +1,6 @@
{
"name": "@standardnotes/event-store",
"version": "1.7.0",
"version": "1.7.3",
"description": "Event Store Service",
"private": true,
"main": "dist/src/index.js",

View File

@@ -81,6 +81,7 @@ export class ContainerConfigLoader {
['LISTED_ACCOUNT_CREATED', container.get(TYPES.EventHandler)],
['LISTED_ACCOUNT_DELETED', container.get(TYPES.EventHandler)],
['EMAIL_REQUESTED', container.get(TYPES.EventHandler)],
['EMAIL_SENT', container.get(TYPES.EventHandler)],
['SHARED_SUBSCRIPTION_INVITATION_CREATED', container.get(TYPES.EventHandler)],
['EMAIL_BACKUP_REQUESTED', container.get(TYPES.EventHandler)],
['PAYMENT_FAILED', container.get(TYPES.EventHandler)],

View File

@@ -3,6 +3,18 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.10.4](https://github.com/standardnotes/files/compare/@standardnotes/files-server@1.10.3...@standardnotes/files-server@1.10.4) (2023-02-23)
**Note:** Version bump only for package @standardnotes/files-server
## [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

View File

@@ -1,6 +1,6 @@
{
"name": "@standardnotes/files-server",
"version": "1.10.1",
"version": "1.10.4",
"engines": {
"node": ">=18.0.0 <19.0.0"
},

View File

@@ -0,0 +1 @@
dist

6
packages/proxy/.eslintrc Normal file
View File

@@ -0,0 +1,6 @@
{
"extends": "../../.eslintrc",
"parserOptions": {
"project": "./linter.tsconfig.json"
}
}

View File

@@ -0,0 +1,40 @@
# Change Log
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.1.6](https://github.com/standardnotes/server/compare/@standardnotes/proxy-server@1.1.5...@standardnotes/proxy-server@1.1.6) (2023-02-23)
### Bug Fixes
* **proxy:** make healthcheck endpoint accessible at all times ([b1122a3](https://github.com/standardnotes/server/commit/b1122a3da5d0fe02b80b91da5e96cffbad994ce2))
## [1.1.5](https://github.com/standardnotes/server/compare/@standardnotes/proxy-server@1.1.4...@standardnotes/proxy-server@1.1.5) (2023-02-22)
**Note:** Version bump only for package @standardnotes/proxy-server
## [1.1.4](https://github.com/standardnotes/server/compare/@standardnotes/proxy-server@1.1.3...@standardnotes/proxy-server@1.1.4) (2023-02-22)
**Note:** Version bump only for package @standardnotes/proxy-server
## [1.1.3](https://github.com/standardnotes/server/compare/@standardnotes/proxy-server@1.1.2...@standardnotes/proxy-server@1.1.3) (2023-02-22)
**Note:** Version bump only for package @standardnotes/proxy-server
## [1.1.2](https://github.com/standardnotes/server/compare/@standardnotes/proxy-server@1.1.1...@standardnotes/proxy-server@1.1.2) (2023-02-22)
**Note:** Version bump only for package @standardnotes/proxy-server
## [1.1.1](https://github.com/standardnotes/server/compare/@standardnotes/proxy-server@1.1.0...@standardnotes/proxy-server@1.1.1) (2023-02-22)
**Note:** Version bump only for package @standardnotes/proxy-server
# 1.1.0 (2023-02-22)
### Bug Fixes
* **proxy:** prevent from passing auth tokens to proxy destination ([91c70a5](https://github.com/standardnotes/server/commit/91c70a51a067c606afc3570764367a6d60910ce3))
### Features
* **proxy:** add proxy server ([dfe30d7](https://github.com/standardnotes/server/commit/dfe30d7f5e8598ec1886db0e061b7d593cc27e29))

17
packages/proxy/Dockerfile Normal file
View File

@@ -0,0 +1,17 @@
FROM node:18.13.0-alpine
RUN apk add --update \
curl \
&& rm -rf /var/cache/apk/*
ENV NODE_ENV production
RUN corepack enable
COPY ./ /workspace
WORKDIR /workspace/packages/proxy
ENTRYPOINT [ "/workspace/packages/proxy/docker/entrypoint.sh" ]
CMD [ "start-web" ]

View File

@@ -0,0 +1,91 @@
import * as http from 'http'
import * as https from 'https'
import * as path from 'path'
const MAX_IMAGE_SIZE = 10 * 1024 * 1024
const ENABLED = false
http
.createServer((req, res) => {
if (req.url === '/healthcheck') {
res.writeHead(200)
res.end()
return
}
if (!ENABLED) {
res.writeHead(404)
res.end()
return
}
res.setHeader('Access-Control-Allow-Origin', '*')
res.setHeader('Access-Control-Request-Method', '*')
res.setHeader('Access-Control-Allow-Methods', 'OPTIONS, GET')
res.setHeader('Access-Control-Allow-Headers', '*')
if (req.method === 'OPTIONS') {
res.writeHead(200)
res.end()
return
}
delete req.headers.authorization
delete req.headers['x-auth-token']
delete req.headers['x-auth-offline-token']
/** Remove / or // prefixes */
const target = (req.url as string).replace(/^\/+/, '')
try {
const url = new URL(target)
if (url.protocol !== 'http:' && url.protocol !== 'https:') {
throw new Error('Invalid URL protocol')
}
if (url.hostname === '') {
throw new Error('Invalid URL hostname')
}
const ext = path.extname(url.pathname)
if (!['.jpg', '.jpeg', '.png', '.gif'].includes(ext)) {
res.writeHead(400)
res.end('Only image files can be proxied')
return
}
const library = url.protocol === 'http:' ? http : https
const proxyRequest = library
.get(url.href, (targetRes) => {
let totalSize = 0
targetRes.on('data', (chunk) => {
totalSize += chunk.length
if (totalSize > MAX_IMAGE_SIZE) {
proxyRequest.destroy(new Error('Image size exceeds the limit.'))
}
})
targetRes.on('end', () => {
const contentType = targetRes.headers['content-type']
if (!contentType || !contentType.startsWith('image/')) {
res.writeHead(400, { 'Content-Type': 'text/plain' })
res.end(`Invalid content type: ${contentType}`)
return
}
res.writeHead(targetRes.statusCode as number, targetRes.headers)
targetRes.pipe(res)
})
})
.on('error', (error) => {
res.writeHead(500)
res.end(`Error: ${error.message}`)
})
} catch (error) {
res.writeHead(500)
res.end(`Invalid URL: ${target} Error: ${error}`)
}
})
.listen(3000)

View File

@@ -4,7 +4,7 @@ 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/content.js')))
const index = require(path.normalize(path.resolve(__dirname, '../dist/bin/server.js')))
Object.defineProperty(exports, '__esModule', { value: true })

View File

@@ -0,0 +1,17 @@
#!/bin/sh
set -e
COMMAND=$1 && shift 1
case "$COMMAND" in
'start-web' )
echo "[Docker] Starting Web..."
node docker/entrypoint-server.js
;;
* )
echo "Unknown command"
;;
esac
exec "$@"

View File

@@ -0,0 +1,4 @@
{
"extends": "./tsconfig.json",
"exclude": ["dist"]
}

View File

@@ -0,0 +1,32 @@
{
"name": "@standardnotes/proxy-server",
"version": "1.1.6",
"engines": {
"node": ">=18.0.0 <19.0.0"
},
"private": true,
"description": "Proxy Server",
"main": "dist/src/index.js",
"typings": "dist/src/index.d.ts",
"repository": "git@github.com:standardnotes/server.git",
"author": "Karol Sójko <karolsojko@standardnotes.com>",
"license": "AGPL-3.0-or-later",
"scripts": {
"clean": "rm -fr dist",
"build": "tsc --build",
"lint": "eslint . --ext .ts",
"lint:fix": "eslint . --ext .ts --fix",
"start": "yarn node dist/bin/server.js"
},
"dependencies": {
"newrelic": "^9.8.0"
},
"devDependencies": {
"@types/newrelic": "^9.4.0",
"@types/node": "^18.14.0",
"@typescript-eslint/eslint-plugin": "^5.48.2",
"eslint": "^8.32.0",
"eslint-plugin-prettier": "^4.0.0",
"typescript": "^4.8.4"
}
}

View File

@@ -0,0 +1,11 @@
{
"extends": "../../tsconfig.json",
"compilerOptions": {
"composite": true,
"outDir": "./dist",
},
"include": [
"bin/**/*",
],
"references": []
}

View File

@@ -3,6 +3,24 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.12.5](https://github.com/standardnotes/server/compare/@standardnotes/revisions-server@1.12.4...@standardnotes/revisions-server@1.12.5) (2023-02-23)
**Note:** Version bump only for package @standardnotes/revisions-server
## [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

View File

@@ -28,6 +28,14 @@ export class init1669113322388 implements MigrationInterface {
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')
}
}

View File

@@ -1,6 +1,6 @@
{
"name": "@standardnotes/revisions-server",
"version": "1.12.1",
"version": "1.12.5",
"engines": {
"node": ">=18.0.0 <19.0.0"
},

View File

@@ -36,7 +36,6 @@ const TYPES = {
ItemDumpedEventHandler: Symbol.for('ItemDumpedEventHandler'),
AccountDeletionRequestedEventHandler: Symbol.for('AccountDeletionRequestedEventHandler'),
RevisionsCopyRequestedEventHandler: Symbol.for('RevisionsCopyRequestedEventHandler'),
RevisionsOwnershipUpdateRequestedEventHandler: Symbol.for('RevisionsOwnershipUpdateRequestedEventHandler'),
// Services
CrossServiceTokenDecoder: Symbol.for('CrossServiceTokenDecoder'),
DomainEventSubscriberFactory: Symbol.for('DomainEventSubscriberFactory'),

View File

@@ -23,7 +23,6 @@ import { FSDumpRepository } from '../Infra/FS/FSDumpRepository'
import { AccountDeletionRequestedEventHandler } from '../Domain/Handler/AccountDeletionRequestedEventHandler'
import { RevisionsCopyRequestedEventHandler } from '../Domain/Handler/RevisionsCopyRequestedEventHandler'
import { CopyRevisions } from '../Domain/UseCase/CopyRevisions/CopyRevisions'
import { RevisionsOwnershipUpdateRequestedEventHandler } from '../Domain/Handler/RevisionsOwnershipUpdateRequestedEventHandler'
import { CommonContainerConfigLoader } from './CommonContainerConfigLoader'
import { Env } from './Env'
@@ -120,11 +119,6 @@ export class WorkerContainerConfigLoader extends CommonContainerConfigLoader {
context.container.get(TYPES.Logger),
)
})
container
.bind<RevisionsOwnershipUpdateRequestedEventHandler>(TYPES.RevisionsOwnershipUpdateRequestedEventHandler)
.toDynamicValue((context: interfaces.Context) => {
return new RevisionsOwnershipUpdateRequestedEventHandler(context.container.get(TYPES.RevisionRepository))
})
container
.bind<DomainEventMessageHandlerInterface>(TYPES.DomainEventMessageHandler)
@@ -135,10 +129,6 @@ export class WorkerContainerConfigLoader extends CommonContainerConfigLoader {
['ITEM_DUMPED', context.container.get(TYPES.ItemDumpedEventHandler)],
['ACCOUNT_DELETION_REQUESTED', context.container.get(TYPES.AccountDeletionRequestedEventHandler)],
['REVISIONS_COPY_REQUESTED', context.container.get(TYPES.RevisionsCopyRequestedEventHandler)],
[
'REVISIONS_OWNERSHIP_UPDATE_REQUESTED',
context.container.get(TYPES.RevisionsOwnershipUpdateRequestedEventHandler),
],
])
const handler =

View File

@@ -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)
}
}

View File

@@ -3,6 +3,18 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.17.4](https://github.com/standardnotes/server/compare/@standardnotes/scheduler-server@1.17.3...@standardnotes/scheduler-server@1.17.4) (2023-02-23)
**Note:** Version bump only for package @standardnotes/scheduler-server
## [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

Some files were not shown because too many files have changed in this diff Show More