19 files changed
+2327
-4268
No files matched your search
Generated
+994
-522
File diff suppressed because it is too large.
Load diff
+1
-1
@@ -35,7 +35,7 @@
|
||||
"@superalgos/events-client": "0.0.2",
|
||||
"@superalgos/key-vault-client": "0.0.32",
|
||||
"@superalgos/logs-client": "0.0.1",
|
||||
"@superalgos/operations-client": "0.0.34",
|
||||
"@superalgos/operations-client": "0.0.38",
|
||||
"@superalgos/strategizer-client": "0.0.18",
|
||||
"@superalgos/teams-client": "0.0.40",
|
||||
"@superalgos/users-client": "0.0.27",
|
||||
|
||||
@@ -82,7 +82,7 @@ services:
|
||||
- mongo
|
||||
|
||||
saweb-api:
|
||||
image: superalgos/saweb:0.1.0
|
||||
image: superalgos/saweb-api:0.1.0
|
||||
restart: always
|
||||
env_file: ./env/saweb-api.env
|
||||
command: node .
|
||||
@@ -114,7 +114,7 @@ services:
|
||||
- mongo-express
|
||||
|
||||
cockpit-api:
|
||||
image: superalgos/cockpit-api:1.0.0
|
||||
image: superalgos/cockpit-api:0.1.0
|
||||
restart: always
|
||||
env_file: ./env/cockpit-api.env
|
||||
command: npm start
|
||||
@@ -127,7 +127,7 @@ services:
|
||||
image: superalgos/strategizer-api:0.1.0
|
||||
restart: always
|
||||
env_file: ./env/strategizer-api.env
|
||||
command: npm start
|
||||
command: node .
|
||||
networks:
|
||||
- superalgos_net
|
||||
depends_on:
|
||||
@@ -147,7 +147,7 @@ services:
|
||||
image: superalgos/users-api:0.1.0
|
||||
restart: always
|
||||
env_file: ./env/users-api.env
|
||||
command: npm start
|
||||
command: node .
|
||||
ports:
|
||||
- "4000:4000"
|
||||
networks:
|
||||
@@ -212,7 +212,7 @@ services:
|
||||
image: superalgos/master-app-api:0.1.0
|
||||
restart: always
|
||||
env_file: ./env/master-app-api.env
|
||||
command: npm start
|
||||
command: node .
|
||||
ports:
|
||||
- "4100:4100"
|
||||
networks:
|
||||
|
||||
@@ -82,7 +82,7 @@ services:
|
||||
- mongo
|
||||
|
||||
saweb-api:
|
||||
image: superalgos/saweb:0.1.0
|
||||
image: superalgos/saweb-api:0.1.0
|
||||
restart: always
|
||||
env_file: ./env/saweb-api.env
|
||||
command: node .
|
||||
@@ -114,7 +114,7 @@ services:
|
||||
- mongo-express
|
||||
|
||||
cockpit-api:
|
||||
image: superalgos/cockpit-api:1.0.0
|
||||
image: superalgos/cockpit-api:0.1.0
|
||||
restart: always
|
||||
env_file: ./env/cockpit-api.env
|
||||
command: npm start
|
||||
@@ -127,7 +127,7 @@ services:
|
||||
image: superalgos/strategizer-api:0.1.0
|
||||
restart: always
|
||||
env_file: ./env/strategizer-api.env
|
||||
command: npm start
|
||||
command: node .
|
||||
networks:
|
||||
- superalgos_net
|
||||
depends_on:
|
||||
@@ -147,7 +147,7 @@ services:
|
||||
image: superalgos/users-api:0.1.0
|
||||
restart: always
|
||||
env_file: ./env/users-api.env
|
||||
command: npm start
|
||||
command: node .
|
||||
ports:
|
||||
- "4000:4000"
|
||||
networks:
|
||||
@@ -212,7 +212,7 @@ services:
|
||||
image: superalgos/master-app-api:0.1.0
|
||||
restart: always
|
||||
env_file: ./env/master-app-api.env
|
||||
command: npm start
|
||||
command: node .
|
||||
ports:
|
||||
- "4100:4100"
|
||||
networks:
|
||||
|
||||
+8
-4
@@ -83,7 +83,7 @@ services:
|
||||
- mongo
|
||||
|
||||
saweb-api:
|
||||
image: superalgos/saweb:0.1.0
|
||||
image: superalgos/saweb-api:0.1.0
|
||||
restart: always
|
||||
build: ../saweb-api
|
||||
env_file: ./env/saweb-api.env
|
||||
@@ -101,6 +101,8 @@ services:
|
||||
build: ../LogsServerModule
|
||||
env_file: ./env/logs-api.env
|
||||
command: npm start
|
||||
ports:
|
||||
- "4007:4007"
|
||||
networks:
|
||||
- superalgos_net
|
||||
depends_on:
|
||||
@@ -137,7 +139,7 @@ services:
|
||||
restart: always
|
||||
build: ../StrategizerServerModule
|
||||
env_file: ./env/strategizer-api.env
|
||||
command: npm start
|
||||
command: node .
|
||||
ports:
|
||||
- "4008:4008"
|
||||
networks:
|
||||
@@ -163,7 +165,7 @@ services:
|
||||
restart: always
|
||||
build: ../UsersModule/server
|
||||
env_file: ./env/users-api.env
|
||||
command: npm start
|
||||
command: node .
|
||||
ports:
|
||||
- "4000:4000"
|
||||
networks:
|
||||
@@ -203,6 +205,8 @@ services:
|
||||
build: ../NotificationsModule/server
|
||||
env_file: ./env/notifications-api.env
|
||||
command: npm start
|
||||
ports:
|
||||
- "4006:4006"
|
||||
networks:
|
||||
- superalgos_net
|
||||
depends_on:
|
||||
@@ -235,7 +239,7 @@ services:
|
||||
restart: always
|
||||
build: ./server
|
||||
env_file: ./env/master-app-api.env
|
||||
command: npm start
|
||||
command: node .
|
||||
ports:
|
||||
- "4100:4100"
|
||||
networks:
|
||||
|
||||
Vendored
+5
-4
@@ -14,13 +14,14 @@ DEFAULT_BALANCE_ASSET_B=0.001
|
||||
|
||||
# Kubernetes configuration
|
||||
GATEWAY_ENDPOINT_K8S=http://localhost:4100/graphql
|
||||
CLONE_EXECUTOR_IMAGE=superalgos/clone-executor:1.0.25
|
||||
CLUSTER_NAME=docker-for-desktop-cluster
|
||||
CLUSTER_SERVER=https://kubernetes:6445
|
||||
CLONE_EXECUTOR_IMAGE=superalgos/clone-executor:1.0.30
|
||||
|
||||
CLUSTER_NAME=docker-for-desktop-cluster
|
||||
# CERTIFICATE_AUTHORITY_DATA=
|
||||
INSECURE_SKIP_TLS_VERIFY=true
|
||||
CONTEXT_NAME=docker-for-desktop
|
||||
USER_NAME=docker-for-desktop
|
||||
# USER_PASSWORD=
|
||||
CLIENT_CERTIFICATE_DATA=LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUM5RENDQWR5Z0F3SUJBZ0lJU2doRTQ5cFpBdEV3RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB4T1RBME1Ua3hOVE13TXpOYUZ3MHlNREExTURJeE5ETXhNVFJhTURZeApGekFWQmdOVkJBb1REbk41YzNSbGJUcHRZWE4wWlhKek1Sc3dHUVlEVlFRREV4SmtiMk5yWlhJdFptOXlMV1JsCmMydDBiM0F3Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRQ3VERGppbnl5V3l4aVUKbVlzelIxUXhCdzAxZUltVTRnMU1VQVRIN3FCazFVdWdVVHAzWVUzWVJ1NitGdnpwbHVoY2lWVFByeDdDamRvcwo2ODBsM0pVWTdTZzdIYjNQTlRhQm9PdnlxSGVXYmd4TDBsQitXeG1lVEJ4QnlBV09VR0Fmd0pHVnBRL2JTQnNwCndhYmJrdXpmMzRxcFFreHFrRVVwbDlHOUhaNFZrZ0Mvb280Tm1YTlBOMmlSMkowUXN0TjY4ZmZqcGNQSVJCdzAKR3h5ZVJPNzh6SUQralpDYi9hUGt3YnZpVmNEV1ZvSU9VbWlUQlFzd1dTMCtzWG5tamtjWW8rR2JjVmdsT3BLVApxN0lPOUZoaDVGZ1RLZk9SYmxLNXl3YXdETXN2TmpVbEFUZ2ZKODU5ZXFRaGo3RlFSRUpQRkY2MGVId0Q4RGhhClpqL3ZLbnlwQWdNQkFBR2pKekFsTUE0R0ExVWREd0VCL3dRRUF3SUZvREFUQmdOVkhTVUVEREFLQmdnckJnRUYKQlFjREFqQU5CZ2txaGtpRzl3MEJBUXNGQUFPQ0FRRUFHM05RT1VNclJ3bHZINDRLRjMvSFV2eGxxTi9SRlpyQQpHZWlWREJ6cUpDd2wwSFBNQkh4T0ZCVnEvQ1dTQVNjeDJlV0xQWG5PNXBJOWFJckN5R3c3Y3A5S290TUVkVW4vCmVpMmVPdE1NSkpTMGt6empqUGNtOHZ2OXNNN2pvQXhWQkF1cG5VaStJMDRmSVRIcDlpSkxET29uUzJoanBpYm0KZzVQNlVUTGFBanUrNUhqRTZHZkNROFh2WVRRbytjUlV3MjhZd1l0SG5Cam5KVVRtK2lXand6WTJtbG1odGZlbQpJSkkzNGhXeEYrZHl6eVR4NEQ1aTNyeGtiWm5vQ3JTK1A2YmNWUFMvSWkreUk2WjdjKzlvdVNjaWlHRmNSWGhRCkMwa0NvV1k2L2FEYlVZRzZvSVdZZVB3OXhQbWVsdCtyRHdJdHFyYU5TWE9MQVV4R1llZmZXQT09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
|
||||
CLIENT_KEY_DATA=LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcFFJQkFBS0NBUUVBcmd3NDRwOHNsc3NZbEptTE0wZFVNUWNOTlhpSmxPSU5URkFFeCs2Z1pOVkxvRkU2CmQyRk4yRWJ1dmhiODZaYm9YSWxVejY4ZXdvM2FMT3ZOSmR5VkdPMG9PeDI5enpVMmdhRHI4cWgzbG00TVM5SlEKZmxzWm5rd2NRY2dGamxCZ0g4Q1JsYVVQMjBnYktjR20yNUxzMzkrS3FVSk1hcEJGS1pmUnZSMmVGWklBdjZLTwpEWmx6VHpkb2tkaWRFTExUZXZIMzQ2WER5RVFjTkJzY25rVHUvTXlBL28yUW0vMmo1TUc3NGxYQTFsYUNEbEpvCmt3VUxNRmt0UHJGNTVvNUhHS1BobTNGWUpUcVNrNnV5RHZSWVllUllFeW56a1c1U3Vjc0dzQXpMTHpZMUpRRTQKSHlmT2ZYcWtJWSt4VUVSQ1R4UmV0SGg4QS9BNFdtWS83eXA4cVFJREFRQUJBb0lCQVFDWWpXZnk0dmV2T0ZiVQpNUHo4dGtHS001Y1ZUaEN4YWEya1BPTGo1em01QitlZ25uSHpuMXNlL1pWWEVra2Q2VUxEa1MvQVZjdE5WZzVzCm4wWVNNSlNTNDVRR3ROdmcyZEJyc0lQL0RrQzducnV5WGFabUNpMmJQVFRyUjRudkltNE9ocmhVaFBnd0NMU2UKVmZtTnJldG5rc1V6OUVPTWgrWEhQaVg5Y0E5VzhVOEM5UGNoU3ZxSjFGR3crc0paLysyeGltdnF0RnUzMEZ0egphUkxOaEFVTmpGN2xuUUZhZS9pS2xGcDJ2MWRteXRCMUp5eTRkRzl1TFJSWWN4Qy9pa1Q4VUUzZ1RVdGR2V2lNClE4QXlQaVEvVVl3THVmazMreFIyUGxLUEFMdEF4MHhzWVJKTWVmaFJpWFlJWXZoa2srRTZPdGZyc2ZzZW15REoKODdRNzM3bnhBb0dCQU5pNy9GdkhBbmdnc1V3VDMzM1hoNzk5OGhiNTRWSzU1Yzc5MEtnRm9yeUpUYnhIWU5PZQpvRkdWbWd5YU92d1hWbnVhZFpoNlpsRU9mMXJXbVNPcWFXRjlGNFhYdnB6NWZuajJJUU1xV2ZUOTViSC9yaGRTClMzQTd1RmxQL3RlcS9JMmlpbHhsSFhKa3lEemxKeDJlbDhWR1hHeXpxTjBBZ3RPdjdvMElhYU9WQW9HQkFNMlUKZFJSMG5mRnd3MGpjVHVvU0ZBalBIaytEQnorZVRwbVFQWWZIZTJpb21qM0hadEkyMm1adG9sV1l4UTNqRjlPbAp5RkFvY2RjK2trS1V4VVBkMng3Qm44VkE5Rkg5bkN2NEZ1VDRJNmRPbUZkeWZtc3R1MkRnSWQ3aThYeGdURlM5CklPL0lqTWhuRzIzaHBVSkZDTU5VOCtMRXBKeUZBR29YK2lvcnFtL0ZBb0dCQU1IL2txWDcvc1BVVDU4UGNzOUwKcXlERzlYbUhkaDc4Y3kzU2w0Q3VlcnBVRkpiaE5WUjIrbjNNY1RXeW4vV2lWakVSVXcySEVpcWYxWE5ULzRPagpOK3loY2ZyRjRNTFZ1RlZCeXM3d2k5RDFxekttOEFmRUMrNk1KamtibDdzb1BDUHpSL0hvT0hGNnNKbUJiSC9nCncyMDd5K01vOVkvTXMwNFVmbTBUQ0t2NUFvR0JBTWl6dlRJQlFBbHRHMXBRcTBKZDcrMUJ0OGZNbGhFSURwaGgKZDVETnNhL1ZtdS9oY29LY1J0QmxERzBndnBEMk9sYklyUzJFcnMrREtPdVRycHE1UjZsWlF4QWlmK1JrQWtueQo1UGNaUWtXZXQ1LzRDVys5c0FlK0NaTStZS0FhcTZxM0VpYkcxcHIzL3BGaUVDTUlucXVFanEyL2FTM2RzeS9nCnhMelM4SXc1QW9HQUNOR2hlOWZmVkVCTDREZ1B5YjViNDhLVmttT2loMnl5VkMxTkRtakdiYWVhTWhLQzNzekQKMEVqZU0zTmNjNnViVmNGTGVUV0JBc2hJTk1zSENCWmZISFpRZk9ybkQ3dHNBY1M3MGt5eFBxZzc0c25TSEZPcAoxMlRXQnVFNUU5V2l0aW1JZHRJZWhwdlVLZVZWUTd0NXgrSnNsS2N3MnZ4YjdWV1E2SWg1cURrPQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=
|
||||
CLIENT_CERTIFICATE_DATA=
|
||||
CLIENT_KEY_DATA=
|
||||
Vendored
+1
-1
@@ -15,7 +15,7 @@ TEAMS_API_URL=http://teams-api:4001/graphql
|
||||
USERS_API_URL=http://users-api:4000/graphql
|
||||
EVENTS_API_URL=http://events-api:4005/graphql
|
||||
KEYVAULT_API_URL=http://keyvault-api:4002/graphql
|
||||
NOTIFICATIONS_API_URL=http://notifications-api:4004/graphql
|
||||
NOTIFICATIONS_API_URL=http://notifications-api:4006/graphql
|
||||
OPERATIONS_API_URL=http://clones-api:4003/graphql
|
||||
LOGS_API_URL=http://logs-api:4007/graphql
|
||||
STRATEGIZER_API_URL=http://strategizer-api:4008/graphql
|
||||
|
||||
Vendored
+1
-1
@@ -1,5 +1,5 @@
|
||||
NODE_ENV=production
|
||||
PORT=4004
|
||||
PORT=4006
|
||||
|
||||
PRESHARED_GATEWAY_KEY=notifications_key
|
||||
GENERATE_SOURCEMAP=false
|
||||
|
||||
Vendored
+1
-1
@@ -9,7 +9,7 @@ GATEWAY_ENDPOINT=http://master-app-api:4100/graphql
|
||||
PRESHARED_GATEWAY_KEY=saweb_key
|
||||
|
||||
# The NODE_ENDPOINT is used at team creation and is where other components will search for the team
|
||||
NODE_ENDPOINT=http://host.docker.internal:4100/
|
||||
NODE_ENDPOINT=http://localhost:4100/
|
||||
|
||||
# Storage Configuration
|
||||
STORAGE_PROVIDER=Minio
|
||||
|
||||
Vendored
-4
@@ -6,10 +6,6 @@ MONGO_URL=mongodb://mongo/users
|
||||
GATEWAY_ENDPOINT=http://master-app-api:4100/graphql
|
||||
USERS_API_PRESHARED=users_key
|
||||
|
||||
GENERATE_SOURCEMAP=true
|
||||
ERROR_LOG=true
|
||||
INFO_LOG=true
|
||||
|
||||
AUTH0_DOMAIN=superalgos.eu.auth0.com
|
||||
AUTH0_AUDIENCE=https://auth-dev.superalgos.org
|
||||
AUTH0_ISSUER=https://superalgos.eu.auth0.com/
|
||||
|
||||
@@ -14,10 +14,11 @@ DEFAULT_BALANCE_ASSET_B=0.001
|
||||
|
||||
# Kubernetes configuration
|
||||
GATEWAY_ENDPOINT_K8S=http://localhost:4100/graphql
|
||||
CLONE_EXECUTOR_IMAGE=superalgos/clone-executor:1.0.25
|
||||
CLUSTER_NAME=microk8s-cluster
|
||||
CLONE_EXECUTOR_IMAGE=superalgos/clone-executor:1.0.30
|
||||
|
||||
CLUSTER_SERVER=https://kubernetes:16443
|
||||
CERTIFICATE_AUTHORITY_DATA=LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUMvakNDQWVhZ0F3SUJBZ0lKQU5LRmNnK2hiS0xpTUEwR0NTcUdTSWIzRFFFQkN3VUFNQlF4RWpBUUJnTlYKQkFNTUNURXlOeTR3TGpBdU1UQWVGdzB4T1RBMk1qQXhNak0yTURSYUZ3MDBOakV4TURVeE1qTTJNRFJhTUJReApFakFRQmdOVkJBTU1DVEV5Tnk0d0xqQXVNVENDQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUEFEQ0NBUW9DCmdnRUJBTXBTSFhlZjFZSTRJR1UyeUlNNVM4THRxWTMxNklQczVnNGxORVlCV0wrME1mMXhBRURHRU0vaW4reTAKMkZ0QUFKWnhybWZ3UEpSTVozQ2tMMysxTnJxVjFtQW1wRkE5cDcxZXlOYmpuMmk2N0Y0N2MyeldGNlBTc0ZlYwowVUlmRklWaE9wWmgvUTN0WUQvZlQveEJlOTE2Wmd2eVY0TThCL1BGY2xKbWUyM1VTMHB3RGZObFpmc2FsQzhpCkVCc2pQYURrMThucng2bDVZTWF4UENyNHRnSWc2WENvQm9wS1l5UzNpZUtSSzh2Qnhyb3drN1pHWWJMUm1udHUKZUU4b1Z5RXpsUGVrNkJYQm1JRVp3MmJMeTNKeG42b3IyWmlZMEcrekRZKzYwN2dsaFVyNnhEM0QxUHUzMnozNQo0SldlbkJTem5wVjMvTDk0aUVFMEpsdG9xS3NDQXdFQUFhTlRNRkV3SFFZRFZSME9CQllFRkRERzhjUG5iZmIyCnd2cXBXSzdEYzlpckt3RnpNQjhHQTFVZEl3UVlNQmFBRkRERzhjUG5iZmIyd3ZxcFdLN0RjOWlyS3dGek1BOEcKQTFVZEV3RUIvd1FGTUFNQkFmOHdEUVlKS29aSWh2Y05BUUVMQlFBRGdnRUJBS1Bwclp6bnhaZEtuUUc1U3duSgpwWDBsditNNFF0R04zMDZwamxycTFtbWY2WXEwRDl5bEZ2WFRmNUtTWXZ0VGNaenorV1lReGNrc1JtUkIvOERjCjZnQ2hLSHFsV1NIV3FHcU94T1RQVFYvYktOd0NmY1BmaS81YzlFd0NtdjBndlA1Y0MxaTdWMUMxSEoxN0UwY0EKSzVEdytJMFd0Ky9kRWJXdnVhRStmcDBKT3hsdllMUGdkZlBoTnliL2lScDYzdHJudEhjdy9MOTEyM2xpMHF1aQo2VUJUZzFFYnR1VDZSVitsK2d5NkIvaENERG9IaUJRdnM3VmNqVXNaN1ZNUlpkckdlY0U5R3Q5Nkx2N0tNZ2lNCmQ4eFZXVGg5MnArU2lEem1vNnY1WVFvTHNqU25jK1NMK09jN2JsODRVSTFTNk1CVExSa0tRb0d6L0tPLzNrRkUKT08wPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
|
||||
CLUSTER_NAME=microk8s-cluster
|
||||
CERTIFICATE_AUTHORITY_DATA=
|
||||
CONTEXT_NAME=microk8s-cluster
|
||||
USER_NAME=admin
|
||||
USER_PASSWORD=MGJmZDhZd3RnaGNyc3NqNGZZd3o1NzczazRJMnBtUWhuNGRvRXdIZXdvMD0K
|
||||
USER_PASSWORD=
|
||||
@@ -15,7 +15,7 @@ TEAMS_API_URL=http://teams-api:4001/graphql
|
||||
USERS_API_URL=http://users-api:4000/graphql
|
||||
EVENTS_API_URL=http://events-api:4005/graphql
|
||||
KEYVAULT_API_URL=http://keyvault-api:4002/graphql
|
||||
NOTIFICATIONS_API_URL=http://notifications-api:4004/graphql
|
||||
NOTIFICATIONS_API_URL=http://notifications-api:4006/graphql
|
||||
OPERATIONS_API_URL=http://clones-api:4003/graphql
|
||||
LOGS_API_URL=http://logs-api:4007/graphql
|
||||
STRATEGIZER_API_URL=http://strategizer-api:4008/graphql
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
NODE_ENV=production
|
||||
PORT=4004
|
||||
PORT=4006
|
||||
|
||||
PRESHARED_GATEWAY_KEY=notifications_key
|
||||
GENERATE_SOURCEMAP=false
|
||||
|
||||
@@ -6,10 +6,6 @@ MONGO_URL=mongodb://mongo/users
|
||||
GATEWAY_ENDPOINT=http://master-app-api:4100/graphql
|
||||
USERS_API_PRESHARED=users_key
|
||||
|
||||
GENERATE_SOURCEMAP=true
|
||||
ERROR_LOG=true
|
||||
INFO_LOG=true
|
||||
|
||||
AUTH0_DOMAIN=superalgos.eu.auth0.com
|
||||
AUTH0_AUDIENCE=https://auth-local.superalgos.org
|
||||
AUTH0_ISSUER=https://superalgos.eu.auth0.com/
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
{
|
||||
"presets": ["env", "stage-2"]
|
||||
}
|
||||
Generated
+1060
-3467
File diff suppressed because it is too large.
Load diff
+17
-19
@@ -12,32 +12,30 @@
|
||||
"url": "https://github.com/Superalgos/MasterApp/issues"
|
||||
},
|
||||
"homepage": "https://github.com/Superalgos/MasterApp#readme",
|
||||
"main": "index.js",
|
||||
"main": "src/index.js",
|
||||
"scripts": {
|
||||
"start": "nodemon --exec babel-node --presets env,stage-2 src/index.js",
|
||||
"start": "nodemon src/index.js",
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"babel-cli": "^6.26.0",
|
||||
"babel-preset-env": "^1.7.0",
|
||||
"babel-preset-stage-2": "^6.24.1",
|
||||
"nodemon": "^1.18.10"
|
||||
"nodemon": "1.19.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"apollo-link": "^1.2.3",
|
||||
"apollo-link-context": "^1.0.9",
|
||||
"apollo-link-http": "^1.5.5",
|
||||
"apollo-server-express": "^2.1.0",
|
||||
"apollo-link": "1.2.12",
|
||||
"apollo-link-context": "1.0.18",
|
||||
"apollo-link-http": "1.5.5",
|
||||
"apollo-server-express": "2.6.4",
|
||||
"axios": "0.19.0",
|
||||
"cors": "^2.8.4",
|
||||
"body-parser": "1.19.0",
|
||||
"dotenv": "8.0.0",
|
||||
"express": "^4.16.3",
|
||||
"express-jwt": "^5.3.1",
|
||||
"graphql": "^14.0.2",
|
||||
"graphql-tools": "^4.0.0",
|
||||
"jwks-rsa": "^1.3.0",
|
||||
"lodash.merge": "^4.6.1",
|
||||
"node-fetch": "^2.2.0",
|
||||
"winston": "^3.1.0"
|
||||
"esm": "3.2.25",
|
||||
"express": "4.17.1",
|
||||
"express-jwt": "5.3.1",
|
||||
"graphql": "14.3.1",
|
||||
"graphql-tools": "4.0.5",
|
||||
"jwks-rsa": "1.5.1",
|
||||
"lodash.merge": "4.6.1",
|
||||
"node-fetch": "2.6.0",
|
||||
"winston": "3.2.1"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,220 @@
|
||||
import express from 'express'
|
||||
import 'dotenv/config'
|
||||
import { ApolloServer, ForbiddenError } from 'apollo-server-express'
|
||||
import { mergeSchemas } from 'graphql-tools'
|
||||
import jwt from 'express-jwt'
|
||||
import jwksRsa from 'jwks-rsa'
|
||||
import axios from 'axios'
|
||||
|
||||
import { createTransformedRemoteSchema } from './createRemoteSchema'
|
||||
import { teams, events, operations } from './links'
|
||||
|
||||
import logger from './logger'
|
||||
import bodyParser from 'body-parser'
|
||||
|
||||
async function getUserId (authId) {
|
||||
try {
|
||||
|
||||
const userData = await axios({
|
||||
url: process.env.USERS_API_URL,
|
||||
method: 'post',
|
||||
headers: {
|
||||
preshared: process.env.USERS_API_PRESHARED
|
||||
},
|
||||
data: {
|
||||
query: `
|
||||
{
|
||||
userByAuthId(authId: "${authId}")
|
||||
{
|
||||
id
|
||||
}
|
||||
}
|
||||
`
|
||||
}
|
||||
})
|
||||
return userData.data.data.userByAuthId.id
|
||||
} catch (error) {
|
||||
return (error)
|
||||
}
|
||||
}
|
||||
|
||||
async function run () {
|
||||
const transformedKeyVaultSchema = await createTransformedRemoteSchema(
|
||||
'keyVault_',
|
||||
process.env.KEYVAULT_API_URL,
|
||||
process.env.KEYVAULT_API_PRESHARED)
|
||||
const transformedTeamsSchema = await createTransformedRemoteSchema(
|
||||
'teams_',
|
||||
process.env.TEAMS_API_URL,
|
||||
process.env.TEAMS_API_PRESHARED)
|
||||
const transformedUsersSchema = await createTransformedRemoteSchema(
|
||||
'users_',
|
||||
process.env.USERS_API_URL,
|
||||
process.env.USERS_API_PRESHARED)
|
||||
const transformedEventsSchema = await createTransformedRemoteSchema(
|
||||
'events_',
|
||||
process.env.EVENTS_API_URL,
|
||||
process.env.EVENTS_API_PRESHARED)
|
||||
const transformedOperationsSchema = await createTransformedRemoteSchema(
|
||||
'operations_',
|
||||
process.env.OPERATIONS_API_URL,
|
||||
process.env.OPERATIONS_API_PRESHARED)
|
||||
const transformedNotificationsSchema = await createTransformedRemoteSchema(
|
||||
'notifications_',
|
||||
process.env.NOTIFICATIONS_API_URL,
|
||||
process.env.NOTIFICATIONS_API_PRESHARED)
|
||||
const transformedLogsSchema = await createTransformedRemoteSchema(
|
||||
'logs_',
|
||||
process.env.LOGS_API_URL,
|
||||
process.env.LOGS_API_PRESHARED)
|
||||
const transformedStrategizerSchema = await createTransformedRemoteSchema(
|
||||
'strategizer_',
|
||||
process.env.STRATEGIZER_API_URL,
|
||||
process.env.STRATEGIZER_API_PRESHARED)
|
||||
const transformedCockpitSchema = await createTransformedRemoteSchema(
|
||||
'cockpit_',
|
||||
process.env.COCKPIT_API_URL,
|
||||
process.env.COCKPIT_API_PRESHARED)
|
||||
const transformedSAWeb = await createTransformedRemoteSchema(
|
||||
'web_',
|
||||
process.env.SAWEB_API_URL,
|
||||
process.env.SAWEB_API_PRESHARED)
|
||||
|
||||
var schemas = []
|
||||
var resolvers = {}
|
||||
|
||||
if (transformedTeamsSchema) {
|
||||
schemas.push(transformedTeamsSchema)
|
||||
if (transformedUsersSchema && transformedEventsSchema && transformedStrategizerSchema) {
|
||||
schemas.push(teams.linkSchemaDefs)
|
||||
resolvers = Object.assign(resolvers, teams.resolver(transformedUsersSchema, transformedEventsSchema, transformedStrategizerSchema))
|
||||
}
|
||||
}
|
||||
if (transformedUsersSchema) {
|
||||
schemas.push(transformedUsersSchema)
|
||||
}
|
||||
if (transformedEventsSchema) {
|
||||
schemas.push(transformedEventsSchema)
|
||||
if (transformedUsersSchema && transformedTeamsSchema && transformedOperationsSchema) {
|
||||
schemas.push(events.linkSchemaDefs)
|
||||
resolvers = Object.assign(resolvers, events.resolver(transformedUsersSchema, transformedTeamsSchema, transformedOperationsSchema))
|
||||
}
|
||||
}
|
||||
if (transformedKeyVaultSchema) {
|
||||
schemas.push(transformedKeyVaultSchema)
|
||||
}
|
||||
if (transformedOperationsSchema) {
|
||||
schemas.push(transformedOperationsSchema)
|
||||
if (transformedTeamsSchema && transformedCockpitSchema) {
|
||||
schemas.push(operations.linkSchemaDefs)
|
||||
resolvers = Object.assign(resolvers, operations.resolver(transformedTeamsSchema, transformedCockpitSchema))
|
||||
}
|
||||
}
|
||||
if (transformedNotificationsSchema) {
|
||||
schemas.push(transformedNotificationsSchema)
|
||||
}
|
||||
if (transformedLogsSchema) {
|
||||
schemas.push(transformedLogsSchema)
|
||||
}
|
||||
if (transformedStrategizerSchema) {
|
||||
schemas.push(transformedStrategizerSchema)
|
||||
}
|
||||
if (transformedCockpitSchema) {
|
||||
schemas.push(transformedCockpitSchema)
|
||||
}
|
||||
if (transformedSAWeb) {
|
||||
schemas.push(transformedSAWeb)
|
||||
}
|
||||
|
||||
const schema = mergeSchemas({
|
||||
schemas,
|
||||
resolvers
|
||||
})
|
||||
|
||||
const app = express()
|
||||
|
||||
app.use(bodyParser.json({limit: '50mb'}));
|
||||
app.use(bodyParser.urlencoded({limit: '50mb', extended: true}));
|
||||
|
||||
app.use('/graphql',
|
||||
jwt({
|
||||
secret: jwksRsa.expressJwtSecret({
|
||||
cache: true,
|
||||
rateLimit: true,
|
||||
jwksRequestsPerMinute: 1,
|
||||
jwksUri: `https://${process.env.AUTH0_DOMAIN}/.well-known/jwks.json`
|
||||
}),
|
||||
credentialsRequired: false,
|
||||
audience: process.env.AUTH0_AUDIENCE,
|
||||
issuer: process.env.AUTH0_ISSUER,
|
||||
algorithms: [`RS256`]
|
||||
}),
|
||||
function (err, req, res, next) {
|
||||
if (err.code === 'invalid_token') {
|
||||
res.locals.error = err.message
|
||||
}
|
||||
return next()
|
||||
}
|
||||
)
|
||||
|
||||
app.use('/graphql', (req, res, next) => {
|
||||
res.locals.userId = ''
|
||||
if (req.user) {
|
||||
getUserId(req.user.sub)
|
||||
.then(data => {
|
||||
res.locals.userId = data
|
||||
next()
|
||||
})
|
||||
.catch(err => {
|
||||
console.log(err)
|
||||
next()
|
||||
})
|
||||
} else {
|
||||
next()
|
||||
}
|
||||
})
|
||||
|
||||
const context = ({ req, res }) => {
|
||||
if (res.locals.error) {
|
||||
throw new ForbiddenError(res.locals.error)
|
||||
}
|
||||
const response = {
|
||||
headers: Object.assign(
|
||||
res.locals.userId ? { userId: res.locals.userId } : {},
|
||||
req.headers.authorization ? { authorization: req.headers.authorization } : {},
|
||||
req.headers.access_token ? { access_token: req.headers.access_token } : {}
|
||||
)
|
||||
}
|
||||
return response
|
||||
}
|
||||
|
||||
const server = new ApolloServer({
|
||||
schema,
|
||||
context,
|
||||
formatError: error => {
|
||||
logger.error('An error ocurred inside a module: %s', error.message)
|
||||
return error.message
|
||||
},
|
||||
formatResponse: response => {
|
||||
logger.debug('Response from Apollo Server: ' + response)
|
||||
return response
|
||||
},
|
||||
playground: {
|
||||
settings: {
|
||||
'editor.theme': 'dark',
|
||||
'editor.cursorShape': 'line'
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
server.applyMiddleware({ app, cors: { origin: true, credentials: true, methods:'GET,PUT,POST,DELETE,OPTIONS'}})
|
||||
|
||||
app.listen(4100)
|
||||
logger.info(`Server running. Open ${process.env.GRAPHQL_API_URL} to run queries.`)
|
||||
}
|
||||
|
||||
try {
|
||||
run()
|
||||
} catch (e) {
|
||||
logger.error(`An general error occured while running the app: ${e}, details: ${e.message}, stack: ${e.stack}`)
|
||||
}
|
||||
+2
-221
@@ -1,221 +1,2 @@
|
||||
import express from 'express'
|
||||
import cors from 'cors'
|
||||
import 'dotenv/config'
|
||||
import { ApolloServer, ForbiddenError } from 'apollo-server-express'
|
||||
import { mergeSchemas } from 'graphql-tools'
|
||||
import jwt from 'express-jwt'
|
||||
import jwksRsa from 'jwks-rsa'
|
||||
import axios from 'axios'
|
||||
|
||||
import { createTransformedRemoteSchema } from './createRemoteSchema'
|
||||
import { teams, events, operations } from './links'
|
||||
|
||||
import logger from './logger'
|
||||
import bodyParser from 'body-parser'
|
||||
|
||||
async function getUserId (authId) {
|
||||
try {
|
||||
|
||||
const userData = await axios({
|
||||
url: process.env.USERS_API_URL,
|
||||
method: 'post',
|
||||
headers: {
|
||||
preshared: process.env.USERS_API_PRESHARED
|
||||
},
|
||||
data: {
|
||||
query: `
|
||||
{
|
||||
userByAuthId(authId: "${authId}")
|
||||
{
|
||||
id
|
||||
}
|
||||
}
|
||||
`
|
||||
}
|
||||
})
|
||||
return userData.data.data.userByAuthId.id
|
||||
} catch (error) {
|
||||
return (error)
|
||||
}
|
||||
}
|
||||
|
||||
async function run () {
|
||||
const transformedKeyVaultSchema = await createTransformedRemoteSchema(
|
||||
'keyVault_',
|
||||
process.env.KEYVAULT_API_URL,
|
||||
process.env.KEYVAULT_API_PRESHARED)
|
||||
const transformedTeamsSchema = await createTransformedRemoteSchema(
|
||||
'teams_',
|
||||
process.env.TEAMS_API_URL,
|
||||
process.env.TEAMS_API_PRESHARED)
|
||||
const transformedUsersSchema = await createTransformedRemoteSchema(
|
||||
'users_',
|
||||
process.env.USERS_API_URL,
|
||||
process.env.USERS_API_PRESHARED)
|
||||
const transformedEventsSchema = await createTransformedRemoteSchema(
|
||||
'events_',
|
||||
process.env.EVENTS_API_URL,
|
||||
process.env.EVENTS_API_PRESHARED)
|
||||
const transformedOperationsSchema = await createTransformedRemoteSchema(
|
||||
'operations_',
|
||||
process.env.OPERATIONS_API_URL,
|
||||
process.env.OPERATIONS_API_PRESHARED)
|
||||
const transformedNotificationsSchema = await createTransformedRemoteSchema(
|
||||
'notifications_',
|
||||
process.env.NOTIFICATIONS_API_URL,
|
||||
process.env.NOTIFICATIONS_API_PRESHARED)
|
||||
const transformedLogsSchema = await createTransformedRemoteSchema(
|
||||
'logs_',
|
||||
process.env.LOGS_API_URL,
|
||||
process.env.LOGS_API_PRESHARED)
|
||||
const transformedStrategizerSchema = await createTransformedRemoteSchema(
|
||||
'strategizer_',
|
||||
process.env.STRATEGIZER_API_URL,
|
||||
process.env.STRATEGIZER_API_PRESHARED)
|
||||
const transformedCockpitSchema = await createTransformedRemoteSchema(
|
||||
'cockpit_',
|
||||
process.env.COCKPIT_API_URL,
|
||||
process.env.COCKPIT_API_PRESHARED)
|
||||
const transformedSAWeb = await createTransformedRemoteSchema(
|
||||
'web_',
|
||||
process.env.SAWEB_API_URL,
|
||||
process.env.SAWEB_API_PRESHARED)
|
||||
|
||||
var schemas = []
|
||||
var resolvers = {}
|
||||
|
||||
if (transformedTeamsSchema) {
|
||||
schemas.push(transformedTeamsSchema)
|
||||
if (transformedUsersSchema && transformedEventsSchema && transformedStrategizerSchema) {
|
||||
schemas.push(teams.linkSchemaDefs)
|
||||
resolvers = Object.assign(resolvers, teams.resolver(transformedUsersSchema, transformedEventsSchema, transformedStrategizerSchema))
|
||||
}
|
||||
}
|
||||
if (transformedUsersSchema) {
|
||||
schemas.push(transformedUsersSchema)
|
||||
}
|
||||
if (transformedEventsSchema) {
|
||||
schemas.push(transformedEventsSchema)
|
||||
if (transformedUsersSchema && transformedTeamsSchema && transformedOperationsSchema) {
|
||||
schemas.push(events.linkSchemaDefs)
|
||||
resolvers = Object.assign(resolvers, events.resolver(transformedUsersSchema, transformedTeamsSchema, transformedOperationsSchema))
|
||||
}
|
||||
}
|
||||
if (transformedKeyVaultSchema) {
|
||||
schemas.push(transformedKeyVaultSchema)
|
||||
}
|
||||
if (transformedOperationsSchema) {
|
||||
schemas.push(transformedOperationsSchema)
|
||||
if (transformedTeamsSchema && transformedCockpitSchema) {
|
||||
schemas.push(operations.linkSchemaDefs)
|
||||
resolvers = Object.assign(resolvers, operations.resolver(transformedTeamsSchema, transformedCockpitSchema))
|
||||
}
|
||||
}
|
||||
if (transformedNotificationsSchema) {
|
||||
schemas.push(transformedNotificationsSchema)
|
||||
}
|
||||
if (transformedLogsSchema) {
|
||||
schemas.push(transformedLogsSchema)
|
||||
}
|
||||
if (transformedStrategizerSchema) {
|
||||
schemas.push(transformedStrategizerSchema)
|
||||
}
|
||||
if (transformedCockpitSchema) {
|
||||
schemas.push(transformedCockpitSchema)
|
||||
}
|
||||
if (transformedSAWeb) {
|
||||
schemas.push(transformedSAWeb)
|
||||
}
|
||||
|
||||
const schema = mergeSchemas({
|
||||
schemas,
|
||||
resolvers
|
||||
})
|
||||
|
||||
const app = express()
|
||||
|
||||
app.use(bodyParser.json({limit: '50mb'}));
|
||||
app.use(bodyParser.urlencoded({limit: '50mb', extended: true}));
|
||||
|
||||
app.use('/graphql',
|
||||
jwt({
|
||||
secret: jwksRsa.expressJwtSecret({
|
||||
cache: true,
|
||||
rateLimit: true,
|
||||
jwksRequestsPerMinute: 1,
|
||||
jwksUri: `https://${process.env.AUTH0_DOMAIN}/.well-known/jwks.json`
|
||||
}),
|
||||
credentialsRequired: false,
|
||||
audience: process.env.AUTH0_AUDIENCE,
|
||||
issuer: process.env.AUTH0_ISSUER,
|
||||
algorithms: [`RS256`]
|
||||
}),
|
||||
function (err, req, res, next) {
|
||||
if (err.code === 'invalid_token') {
|
||||
res.locals.error = err.message
|
||||
}
|
||||
return next()
|
||||
}
|
||||
)
|
||||
|
||||
app.use('/graphql', (req, res, next) => {
|
||||
res.locals.userId = ''
|
||||
if (req.user) {
|
||||
getUserId(req.user.sub)
|
||||
.then(data => {
|
||||
res.locals.userId = data
|
||||
next()
|
||||
})
|
||||
.catch(err => {
|
||||
console.log(err)
|
||||
next()
|
||||
})
|
||||
} else {
|
||||
next()
|
||||
}
|
||||
})
|
||||
|
||||
const context = ({ req, res }) => {
|
||||
if (res.locals.error) {
|
||||
throw new ForbiddenError(res.locals.error)
|
||||
}
|
||||
const response = {
|
||||
headers: Object.assign(
|
||||
res.locals.userId ? { userId: res.locals.userId } : {},
|
||||
req.headers.authorization ? { authorization: req.headers.authorization } : {},
|
||||
req.headers.access_token ? { access_token: req.headers.access_token } : {}
|
||||
)
|
||||
}
|
||||
return response
|
||||
}
|
||||
|
||||
const server = new ApolloServer({
|
||||
schema,
|
||||
context,
|
||||
formatError: error => {
|
||||
logger.error('An error ocurred inside a module: %s', error.message)
|
||||
return error.message
|
||||
},
|
||||
formatResponse: response => {
|
||||
logger.debug('Response from Apollo Server: ' + response)
|
||||
return response
|
||||
},
|
||||
playground: {
|
||||
settings: {
|
||||
'editor.theme': 'dark',
|
||||
'editor.cursorShape': 'line'
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
server.applyMiddleware({ app, cors: { origin: true, credentials: true, methods:'GET,PUT,POST,DELETE,OPTIONS'}})
|
||||
|
||||
app.listen(4100)
|
||||
logger.info(`Server running. Open ${process.env.GRAPHQL_API_URL} to run queries.`)
|
||||
}
|
||||
|
||||
try {
|
||||
run()
|
||||
} catch (e) {
|
||||
logger.error(`An general error occured while running the app: ${e}, details: ${e.message}, stack: ${e.stack}`)
|
||||
}
|
||||
require = require('esm')(module)
|
||||
module.exports = require('./app.js')
|
||||
Reference in new issue
Block a user