Merge pull request #249 from AAVikings/master

ESM Modules and service dependency fix
This commit is contained in:
benme authored and GitHub committed 2019-07-04 19:21:10 -03:00
commit 2a2a4862c3
8 files changed
+242 -231

No files matched your search

+65 -64
View File
@@ -104,7 +104,7 @@ let lock = new Auth0Lock(
)
class Auth {
constructor (cb, apolloClient) {
constructor(cb, apolloClient) {
this.handleAuthentication()
// binds functions to keep this context
this.apolloClient = apolloClient
@@ -116,13 +116,13 @@ class Auth {
this.checkSession = this.checkSession.bind(this)
}
login () {
login() {
// Call the show method to display the widget.
Log.info('logging in')
lock.show()
}
async loginInvite (jwt) {
async loginInvite(jwt) {
let email
let team
try {
@@ -151,7 +151,7 @@ class Auth {
lockInvite.show()
}
handleAuthentication () {
handleAuthentication() {
// Add a callback for Lock's `authenticated` event
lock.on('authenticated', this.setSession.bind(this))
// Add a callback for Lock's `authorization_error` event
@@ -161,7 +161,7 @@ class Auth {
})
}
checkSession () {
checkSession() {
return new Promise((resolve, reject) => {
// Add a callback for Lock's `authenticated` event
lock.checkSession(
@@ -183,15 +183,12 @@ class Auth {
})
}
setSession (authResult) {
async setSession(authResult) {
if (authResult && authResult.accessToken && authResult.idToken) {
// Set the time that the access token will expire at
let expiresAt = JSON.stringify(
authResult.expiresIn * 1000 + new Date().getTime()
)
setItem('access_token', authResult.accessToken)
setItem('id_token', authResult.idToken)
setItem('expires_at', expiresAt)
const data = {
status: `success`,
accessToken: authResult.accessToken,
@@ -201,65 +198,69 @@ class Auth {
Log.info('setSession idTokenPayload:')
Log.info(authResult.idTokenPayload)
this.signinOrCreateAccount({ ...data })
this.cb(data)
const user = {
authId: authResult.idTokenPayload.sub,
alias: authResult.idTokenPayload.nickname
}
setItem('user', JSON.stringify(user))
return true
}
}
async signinOrCreateAccount ({ accessToken, idToken, expiresAt }) {
try {
const response = await client.mutate({
mutation: AUTHENTICATE,
variables: { idToken }
})
Log.info('auth.signinOrCreateAccount data:')
Log.info(response)
const user = {
authId: response.data.users_Authenticate.authId,
alias: response.data.users_Authenticate.alias
}
if (validObject(user, 'alias')) {
Log.info(user.alias)
const existingTeam = await client.query({
query: GET_TEAMS_BY_OWNER
})
Log.info(existingTeam)
Log.info(existingTeam.data.teams_TeamsByOwner)
if (validObject(existingTeam.data, 'teams_TeamsByOwner') && isEmpty(existingTeam.data.teams_TeamsByOwner)) {
const slug = slugify(user.alias)
const newTeam = await client.mutate({
mutation: CREATE_TEAM,
variables: {
name: slug,
slug: slug,
botName: `bot-${slug}`,
botSlug: `bot-${slug}`
}
})
Log.info(newTeam)
Log.info(newTeam.data.teams_CreateTeam)
if (!validObject(newTeam.data, 'teams_CreateTeam') || isEmpty(newTeam.data.teams_CreateTeam)) {
throw newTeam.data.error
}
Log.info('Team and Bot Creation Success')
try {
setItem('access_token', authResult.accessToken)
setItem('id_token', authResult.idToken)
setItem('expires_at', expiresAt)
await this.signinOrCreateAccount({ ...data })
this.cb(data)
const user = {
authId: authResult.idTokenPayload.sub,
alias: authResult.idTokenPayload.nickname
}
}
setItem('user', JSON.stringify(user))
window.location.href = '/'
return response.data
} catch (err) {
return console.log('Sign in or create account error: ', err)
setItem('user', JSON.stringify(user))
window.location.href = '/'
return true
} catch (err) {
window.localStorage.removeItem('access_token')
window.localStorage.removeItem('id_token')
window.localStorage.removeItem('expires_at')
console.log('Sign in or create account error: ', err)
}
}
}
logout () {
async signinOrCreateAccount({ accessToken, idToken, expiresAt }) {
const response = await client.mutate({
mutation: AUTHENTICATE,
variables: { idToken }
})
Log.info('auth.signinOrCreateAccount data:')
Log.info(response)
const user = {
authId: response.data.users_Authenticate.authId,
alias: response.data.users_Authenticate.alias
}
if (validObject(user, 'alias')) {
Log.info(user.alias)
const existingTeam = await client.query({
query: GET_TEAMS_BY_OWNER
})
Log.info(existingTeam)
Log.info(existingTeam.data.teams_TeamsByOwner)
if (validObject(existingTeam.data, 'teams_TeamsByOwner') && isEmpty(existingTeam.data.teams_TeamsByOwner)) {
const slug = slugify(user.alias)
const newTeam = await client.mutate({
mutation: CREATE_TEAM,
variables: {
name: slug,
slug: slug,
botName: `bot-${slug}`,
botSlug: `bot-${slug}`
}
})
Log.info(newTeam)
Log.info(newTeam.data.teams_CreateTeam)
if (!validObject(newTeam.data, 'teams_CreateTeam') || isEmpty(newTeam.data.teams_CreateTeam)) {
throw newTeam.data.error
}
Log.info('Team and Bot Creation Success')
}
}
}
logout() {
// Clear access token and ID token from local storage
window.localStorage.removeItem('access_token')
window.localStorage.removeItem('user')
@@ -272,7 +273,7 @@ class Auth {
lock.logout({ returnTo: AUTH_CONFIG.logoutUrl })
}
async isAuthenticated () {
async isAuthenticated() {
// check session and run Auth0 SS0
const getUser = await getItem('authUser')
const getExpires = await getItem('expires_at')
+30 -57
View File
@@ -1,19 +1,6 @@
version: "3"
services:
minio:
image: minio/minio:RELEASE.2019-05-23T00-29-34Z
volumes:
- '/home/saadmin/data:/data'
ports:
- "9000:9000"
environment:
MINIO_ACCESS_KEY: minio
MINIO_SECRET_KEY: minio123
command: server /data
networks:
- superalgos_net
postgres:
image: postgres:11-alpine
restart: always
@@ -26,6 +13,17 @@ services:
networks:
- superalgos_net
minio:
image: minio/minio:RELEASE.2019-06-27T21-13-50Z
volumes:
- minio_data:/data
environment:
MINIO_ACCESS_KEY: minio
MINIO_SECRET_KEY: minio123
command: server /data
networks:
- superalgos_net
prisma:
image: prismagraphql/prisma:1.27
restart: always
@@ -42,8 +40,6 @@ services:
user: prisma
password: prisma
migrations: true
ports:
- "4466:4466"
volumes:
- postgresdb_data:/data/db
networks:
@@ -51,23 +47,31 @@ services:
depends_on:
- postgres
teams-prisma:
teams-deploy:
image: superalgos/teams-prisma:0.1.0
restart: "no"
env_file: ./env/teams-prisma.env
command: ["./wait-for-it.sh", "prisma:4466", "--", "prisma", "deploy"]
command: sh -c './wait-for prisma:4466 -- prisma deploy'
networks:
- superalgos_net
depends_on:
- prisma
teams-api:
image: superalgos/teams-api:0.1.0
restart: always
env_file: ./env/teams-api.env
command: sh -c './wait-for prisma:4466 -- node .'
networks:
- superalgos_net
depends_on:
- teams-deploy
mongo:
image: mongo:4.0.9
restart: always
volumes:
- mongodb_data:/data/db
ports:
- "27017:27017"
networks:
- superalgos_net
@@ -86,8 +90,6 @@ services:
restart: always
env_file: ./env/saweb-api.env
command: node .
ports:
- "4004:4004"
networks:
- superalgos_net
depends_on:
@@ -97,7 +99,7 @@ services:
image: superalgos/logs-api:0.1.0
restart: always
env_file: ./env/logs-api.env
command: npm start
command: node .
networks:
- superalgos_net
depends_on:
@@ -107,7 +109,7 @@ services:
image: superalgos/clones-api:0.1.0
restart: always
env_file: ./env/clones-api.env
command: npm start
command: node .
networks:
- superalgos_net
depends_on:
@@ -117,7 +119,7 @@ services:
image: superalgos/cockpit-api:0.1.0
restart: always
env_file: ./env/cockpit-api.env
command: npm start
command: node .
networks:
- superalgos_net
depends_on:
@@ -137,7 +139,7 @@ services:
image: superalgos/events-api:0.1.0
restart: always
env_file: ./env/events-api.env
command: npm start
command: node .
networks:
- superalgos_net
depends_on:
@@ -148,8 +150,6 @@ services:
restart: always
env_file: ./env/users-api.env
command: node .
ports:
- "4000:4000"
networks:
- superalgos_net
depends_on:
@@ -159,29 +159,17 @@ services:
image: superalgos/keyvault-api:0.1.0
restart: always
env_file: ./env/keyvault-api.env
command: npm start
command: node .
networks:
- superalgos_net
depends_on:
- mongo-express
teams-api:
image: superalgos/teams-api:0.1.0
restart: always
env_file: ./env/teams-api.env
command: npm start
ports:
- "4001:4001"
networks:
- superalgos_net
depends_on:
- prisma
notifications-api:
image: superalgos/notifications-api:0.1.0
restart: always
env_file: ./env/notifications-api.env
command: npm start
command: node .
networks:
- superalgos_net
depends_on:
@@ -196,29 +184,16 @@ services:
- "3100:3100"
networks:
- superalgos_net
depends_on:
- keyvault-api
- clones-api
- users-api
- events-api
- strategizer-api
- logs-api
- cockpit-api
- teams-api
- notifications-api
- saweb-api
master-app-api:
image: superalgos/master-app-api:0.1.0
restart: always
env_file: ./env/master-app-api.env
command: node .
command: sh -c './wait-for users-api:4000 -- ./wait-for teams-api:4001 -- ./wait-for keyvault-api:4002 -- ./wait-for clones-api:4003 -- ./wait-for saweb-api:4004 -- ./wait-for events-api:4005 -- ./wait-for notifications-api:4006 -- ./wait-for logs-api:4007 -- ./wait-for strategizer-api:4008 -- ./wait-for cockpit-api:4009 -- node .'
ports:
- "4100:4100"
networks:
- superalgos_net
depends_on:
- master-app
aaweb:
image: superalgos/aaweb:0.1.0
@@ -229,8 +204,6 @@ services:
- "4101:4101"
networks:
- superalgos_net
depends_on:
- master-app-api
kubernetes:
image: qoomon/docker-host:2.2.0
+30 -57
View File
@@ -1,19 +1,6 @@
version: "3"
services:
minio:
image: minio/minio:RELEASE.2019-05-23T00-29-34Z
volumes:
- 'C:\superalgos:/data'
ports:
- "9000:9000"
environment:
MINIO_ACCESS_KEY: minio
MINIO_SECRET_KEY: minio123
command: server /data
networks:
- superalgos_net
postgres:
image: postgres:11-alpine
restart: always
@@ -26,6 +13,17 @@ services:
networks:
- superalgos_net
minio:
image: minio/minio:RELEASE.2019-06-27T21-13-50Z
volumes:
- 'C:\superalgos:/data'
environment:
MINIO_ACCESS_KEY: minio
MINIO_SECRET_KEY: minio123
command: server /data
networks:
- superalgos_net
prisma:
image: prismagraphql/prisma:1.27
restart: always
@@ -42,8 +40,6 @@ services:
user: prisma
password: prisma
migrations: true
ports:
- "4466:4466"
volumes:
- postgresdb_data:/data/db
networks:
@@ -51,23 +47,31 @@ services:
depends_on:
- postgres
teams-prisma:
teams-deploy:
image: superalgos/teams-prisma:0.1.0
restart: "no"
env_file: ./env/teams-prisma.env
command: ["./wait-for-it.sh", "prisma:4466", "--", "prisma", "deploy"]
command: sh -c './wait-for prisma:4466 -- prisma deploy'
networks:
- superalgos_net
depends_on:
- prisma
teams-api:
image: superalgos/teams-api:0.1.0
restart: always
env_file: ./env/teams-api.env
command: sh -c './wait-for prisma:4466 -- node .'
networks:
- superalgos_net
depends_on:
- teams-deploy
mongo:
image: mongo:4.0.9
restart: always
volumes:
- mongodb_data:/data/db
ports:
- "27017:27017"
networks:
- superalgos_net
@@ -86,8 +90,6 @@ services:
restart: always
env_file: ./env/saweb-api.env
command: node .
ports:
- "4004:4004"
networks:
- superalgos_net
depends_on:
@@ -97,7 +99,7 @@ services:
image: superalgos/logs-api:0.1.0
restart: always
env_file: ./env/logs-api.env
command: npm start
command: node .
networks:
- superalgos_net
depends_on:
@@ -107,7 +109,7 @@ services:
image: superalgos/clones-api:0.1.0
restart: always
env_file: ./env/clones-api.env
command: npm start
command: node .
networks:
- superalgos_net
depends_on:
@@ -117,7 +119,7 @@ services:
image: superalgos/cockpit-api:0.1.0
restart: always
env_file: ./env/cockpit-api.env
command: npm start
command: node .
networks:
- superalgos_net
depends_on:
@@ -137,7 +139,7 @@ services:
image: superalgos/events-api:0.1.0
restart: always
env_file: ./env/events-api.env
command: npm start
command: node .
networks:
- superalgos_net
depends_on:
@@ -148,8 +150,6 @@ services:
restart: always
env_file: ./env/users-api.env
command: node .
ports:
- "4000:4000"
networks:
- superalgos_net
depends_on:
@@ -159,29 +159,17 @@ services:
image: superalgos/keyvault-api:0.1.0
restart: always
env_file: ./env/keyvault-api.env
command: npm start
command: node .
networks:
- superalgos_net
depends_on:
- mongo-express
teams-api:
image: superalgos/teams-api:0.1.0
restart: always
env_file: ./env/teams-api.env
command: npm start
ports:
- "4001:4001"
networks:
- superalgos_net
depends_on:
- prisma
notifications-api:
image: superalgos/notifications-api:0.1.0
restart: always
env_file: ./env/notifications-api.env
command: npm start
command: node .
networks:
- superalgos_net
depends_on:
@@ -196,29 +184,16 @@ services:
- "3100:3100"
networks:
- superalgos_net
depends_on:
- keyvault-api
- clones-api
- users-api
- events-api
- strategizer-api
- logs-api
- cockpit-api
- teams-api
- notifications-api
- saweb-api
master-app-api:
image: superalgos/master-app-api:0.1.0
restart: always
env_file: ./env/master-app-api.env
command: node .
command: sh -c './wait-for users-api:4000 -- ./wait-for teams-api:4001 -- ./wait-for keyvault-api:4002 -- ./wait-for clones-api:4003 -- ./wait-for saweb-api:4004 -- ./wait-for events-api:4005 -- ./wait-for notifications-api:4006 -- ./wait-for logs-api:4007 -- ./wait-for strategizer-api:4008 -- ./wait-for cockpit-api:4009 -- node .'
ports:
- "4100:4100"
networks:
- superalgos_net
depends_on:
- master-app
aaweb:
image: superalgos/aaweb:0.1.0
@@ -229,8 +204,6 @@ services:
- "4101:4101"
networks:
- superalgos_net
depends_on:
- master-app-api
kubernetes:
image: qoomon/docker-host:2.2.0
+35 -50
View File
@@ -1,19 +1,6 @@
version: "3"
services:
minio:
image: minio/minio:RELEASE.2019-05-23T00-29-34Z
volumes:
- 'D:\data:/data'
ports:
- "9000:9000"
environment:
MINIO_ACCESS_KEY: minio
MINIO_SECRET_KEY: minio123
command: server /data
networks:
- superalgos_net
postgres:
image: postgres:11-alpine
restart: always
@@ -26,6 +13,19 @@ services:
networks:
- superalgos_net
minio:
image: minio/minio:RELEASE.2019-06-27T21-13-50Z
volumes:
- 'D:\data:/data'
ports:
- "9000:9000"
environment:
MINIO_ACCESS_KEY: minio
MINIO_SECRET_KEY: minio123
command: server /data
networks:
- superalgos_net
prisma:
image: prismagraphql/prisma:1.27
restart: always
@@ -51,17 +51,30 @@ services:
depends_on:
- postgres
teams-prisma:
teams-deploy:
image: superalgos/teams-prisma:0.1.0
restart: "no"
build: ../TeamsPrisma
env_file: ./env/teams-prisma.env
command: ["./wait-for-it.sh", "prisma:4466", "--", "prisma", "deploy"]
command: sh -c './wait-for prisma:4466 -- prisma deploy'
networks:
- superalgos_net
depends_on:
- prisma
teams-api:
image: superalgos/teams-api:0.1.0
restart: always
build: ../TeamsModule/api
env_file: ./env/teams-api.env
command: sh -c './wait-for prisma:4466 -- node .'
ports:
- "4001:4001"
networks:
- superalgos_net
depends_on:
- teams-deploy
mongo:
image: mongo:4.0.9
restart: always
@@ -100,7 +113,7 @@ services:
restart: always
build: ../LogsServerModule
env_file: ./env/logs-api.env
command: npm start
command: node .
ports:
- "4007:4007"
networks:
@@ -113,7 +126,7 @@ services:
restart: always
build: ../OperationsModule/server
env_file: ./env/clones-api.env
command: npm start
command: node .
ports:
- "4003:4003"
networks:
@@ -126,7 +139,7 @@ services:
restart: always
build: ../CockpitServerModule
env_file: ./env/cockpit-api.env
command: npm start
command: node .
ports:
- "4009:4009"
networks:
@@ -152,7 +165,7 @@ services:
restart: always
build: ../EventsServerModule
env_file: ./env/events-api.env
command: npm start
command: node .
ports:
- "4005:4005"
networks:
@@ -178,7 +191,7 @@ services:
restart: always
build: ../KeyVaultModule/server
env_file: ./env/keyvault-api.env
command: npm start
command: node .
ports:
- "4002:4002"
networks:
@@ -186,25 +199,12 @@ services:
depends_on:
- mongo-express
teams-api:
image: superalgos/teams-api:0.1.0
restart: always
build: ../TeamsModule/api
env_file: ./env/teams-api.env
command: npm start
ports:
- "4001:4001"
networks:
- superalgos_net
depends_on:
- prisma
notifications-api:
image: superalgos/notifications-api:0.1.0
restart: always
build: ../NotificationsModule/server
env_file: ./env/notifications-api.env
command: npm start
command: node .
ports:
- "4006:4006"
networks:
@@ -222,30 +222,17 @@ services:
- "3100:3100"
networks:
- superalgos_net
depends_on:
- keyvault-api
- clones-api
- users-api
- events-api
- strategizer-api
- logs-api
- cockpit-api
- teams-api
- notifications-api
- saweb-api
master-app-api:
image: superalgos/master-app-api:0.1.0
restart: always
build: ./server
env_file: ./env/master-app-api.env
command: node .
command: sh -c './wait-for users-api:4000 -- ./wait-for teams-api:4001 -- ./wait-for keyvault-api:4002 -- ./wait-for clones-api:4003 -- ./wait-for saweb-api:4004 -- ./wait-for events-api:4005 -- ./wait-for notifications-api:4006 -- ./wait-for logs-api:4007 -- ./wait-for strategizer-api:4008 -- ./wait-for cockpit-api:4009 -- node .'
ports:
- "4100:4100"
networks:
- superalgos_net
depends_on:
- master-app
aaweb:
image: superalgos/aaweb:0.1.0
@@ -257,8 +244,6 @@ services:
- "4101:4101"
networks:
- superalgos_net
depends_on:
- master-app-api
kubernetes:
image: qoomon/docker-host:2.2.0
+1 -1
View File
@@ -7,7 +7,7 @@ PRISMA_SECRET=prisma_secret
PRISMA_ENDPOINT=http://prisma:4466
GENERATE_SOURCEMAP=true
SCHEMA_PATH=dist/generated/prisma.graphql
SCHEMA_PATH=src/generated/prisma.graphql
PLATFORM_API_URL=http://master-app-api:4100/graphql
+1 -1
View File
@@ -7,7 +7,7 @@ PRISMA_SECRET=prisma_secret
PRISMA_ENDPOINT=http://prisma:4466
GENERATE_SOURCEMAP=true
SCHEMA_PATH=dist/generated/prisma.graphql
SCHEMA_PATH=src/generated/prisma.graphql
PLATFORM_API_URL=http://master-app-api:4100/graphql
+1 -1
View File
@@ -14,7 +14,7 @@ services:
- /var/www/app/node_modules
working_dir: /var/www/app
restart: always
command: npm start
command: node .
expose:
- 4100
network_mode: webproxy
+79
View File
@@ -0,0 +1,79 @@
#!/bin/sh
TIMEOUT=15
QUIET=0
echoerr() {
if [ "$QUIET" -ne 1 ]; then printf "%s\n" "$*" 1>&2; fi
}
usage() {
exitcode="$1"
cat << USAGE >&2
Usage:
$cmdname host:port [-t timeout] [-- command args]
-q | --quiet Do not output any status messages
-t TIMEOUT | --timeout=timeout Timeout in seconds, zero for no timeout
-- COMMAND ARGS Execute command with args after the test finishes
USAGE
exit "$exitcode"
}
wait_for() {
for i in `seq $TIMEOUT` ; do
nc -z "$HOST" "$PORT" > /dev/null 2>&1
result=$?
if [ $result -eq 0 ] ; then
if [ $# -gt 0 ] ; then
exec "$@"
fi
exit 0
fi
sleep 1
done
echo "Operation timed out" >&2
exit 1
}
while [ $# -gt 0 ]
do
case "$1" in
*:* )
HOST=$(printf "%s\n" "$1"| cut -d : -f 1)
PORT=$(printf "%s\n" "$1"| cut -d : -f 2)
shift 1
;;
-q | --quiet)
QUIET=1
shift 1
;;
-t)
TIMEOUT="$2"
if [ "$TIMEOUT" = "" ]; then break; fi
shift 2
;;
--timeout=*)
TIMEOUT="${1#*=}"
shift 1
;;
--)
shift
break
;;
--help)
usage 0
;;
*)
echoerr "Unknown argument: $1"
usage 1
;;
esac
done
if [ "$HOST" = "" -o "$PORT" = "" ]; then
echoerr "Error: you need to provide a host and port to test."
usage 2
fi
wait_for "$@"