Create workspace docker compose fix (#800)

Signed-off-by: Denis Bykhov <80476319+BykhovDenis@users.noreply.github.com>
This commit is contained in:
Denis Bykhov 2022-01-12 15:03:12 +06:00 committed by GitHub
parent bc2d0339f8
commit 246b0abb13
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 50 additions and 9 deletions

View File

@ -48,7 +48,8 @@ services:
- 3000:3000
environment:
- MONGO_URL=mongodb://mongodb:27017
- TRANSACTOR_URL=ws://localhost:3333
- TRANSACTOR_URL=ws://transactor:3333
- ENDPOINT_URL=ws://localhost:3333
- MINIO_ENDPOINT=minio
- MINIO_ACCESS_KEY=minioadmin
- MINIO_SECRET_KEY=minioadmin

View File

@ -23,7 +23,7 @@
import workbench from '@anticrm/workbench'
import InviteLink from './InviteLink.svelte'
const fields = [{ name: 'workspace', i18n: login.string.Workspace, rule: /^\S+$/ }]
const fields = [{ name: 'workspace', i18n: login.string.Workspace, rule: /^[0-9a-z#%&^\-@!\()]{3,63}$/ }]
const object = {
workspace: ''

View File

@ -159,6 +159,19 @@ export async function getWorkspaces (): Promise<Workspace[]> {
throw new Error('accounts url not specified')
}
const overrideToken = getMetadata(login.metadata.OverrideLoginToken)
if (overrideToken !== undefined) {
const endpoint = getMetadata(login.metadata.OverrideEndpoint)
if (endpoint !== undefined) {
return [{
_id: '' as any,
workspace: 'DEV WORKSPACE',
organisation: '',
accounts: []
}]
}
}
const token = fetchMetadataLocalStorage(login.metadata.LoginToken)
if (token === null) {
const loc = getCurrentLocation()
@ -197,6 +210,15 @@ export async function selectWorkspace (workspace: string): Promise<[Status, Logi
throw new Error('accounts url not specified')
}
const overrideToken = getMetadata(login.metadata.OverrideLoginToken)
const email = getMetadata(login.metadata.LoginEmail) ?? ''
if (overrideToken !== undefined) {
const endpoint = getMetadata(login.metadata.OverrideEndpoint)
if (endpoint !== undefined) {
return [OK, { token: overrideToken, endpoint, email }]
}
}
const token = fetchMetadataLocalStorage(login.metadata.LoginToken)
if (token === null) {
const loc = getCurrentLocation()

View File

@ -25,7 +25,7 @@ spec:
name: mongodb
key: url
- name: TRANSACTOR_URL
value: ws://transactor/
value: wss://transactor.hc.engineering/
- name: MINIO_ENDPOINT
valueFrom:
secretKeyRef:

View File

@ -30,12 +30,15 @@ if (dbUri === undefined) {
}
const transactorUri = process.env.TRANSACTOR_URL
if (dbUri === undefined) {
if (transactorUri === undefined) {
console.log('Please provide transactor url')
process.exit(1)
}
setMetadata(accountPlugin.metadata.Endpoint, transactorUri)
const endpointUri = process.env.ENDPOINT_URL ?? transactorUri
setMetadata(accountPlugin.metadata.Endpoint, endpointUri)
setMetadata(accountPlugin.metadata.Transactor, transactorUri)
let client: MongoClient

View File

@ -53,6 +53,7 @@ export const accountId = 'account' as Plugin
const accountPlugin = plugin(accountId, {
metadata: {
Endpoint: '' as Metadata<string>,
Transactor: '' as Metadata<string>,
Secret: '' as Metadata<string>
},
status: {
@ -69,7 +70,19 @@ const getSecret = (): string => {
}
const getEndpoint = (): string => {
return getMetadata(accountPlugin.metadata.Endpoint) ?? 'wss://transactor.hc.engineering/'
const endpoint = getMetadata(accountPlugin.metadata.Endpoint)
if (endpoint === undefined) {
throw new Error('Please provide transactor endpoint url')
}
return endpoint
}
const getTransactor = (): string => {
const transactor = getMetadata(accountPlugin.metadata.Transactor)
if (transactor === undefined) {
throw new Error('Please provide transactor url')
}
return transactor
}
/**
@ -297,7 +310,7 @@ export async function createWorkspace (db: Db, workspace: string, organisation:
organisation
})
.then((e) => e.insertedId.toHexString())
await initWorkspace(getEndpoint(), workspace)
await initWorkspace(getTransactor(), workspace)
return result
}
@ -378,7 +391,7 @@ export async function assignWorkspace (db: Db, email: string, workspace: string)
}
async function createEmployeeAccount (account: Account, workspace: string): Promise<void> {
const connection = await connect(getEndpoint(), workspace, account.email)
const connection = await connect(getTransactor(), workspace, account.email)
try {
const ops = new TxOperations(connection, core.account.System)

View File

@ -25,7 +25,9 @@ spec:
- name: UPLOAD_URL
value: /files
- name: TRANSACTOR_URL
value: ws://transactor/
value: wss://transactor.hc.engineering/
- name: GMAIL_URL
value: gmail.hc.engineering
- name: ELASTIC_URL
valueFrom:
secretKeyRef: