Skip to content

Commit a56e3df

Browse files
committed
feat: DEFAULT_LOGIN_METHOD env for frontend
Signed-off-by: Antonio Cheong <[email protected]>
1 parent 8bd4590 commit a56e3df

File tree

7 files changed

+20
-7
lines changed

7 files changed

+20
-7
lines changed

desktop/src/ui/platform.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ import github, { githubId } from '@hcengineering/github'
112112
import { uiId } from '@hcengineering/ui/src/plugin'
113113
import { preferenceId } from '@hcengineering/preference'
114114

115-
function configureI18n (): void {
115+
function configureI18n(): void {
116116
// Add localization
117117
addStringsLoader(platformId, async (lang: string) => await import(`@hcengineering/platform/lang/${lang}.json`))
118118
addStringsLoader(coreId, async (lang: string) => await import(`@hcengineering/core/lang/${lang}.json`))
@@ -187,7 +187,7 @@ function configureI18n (): void {
187187
addStringsLoader(analyticsCollectorId, async (lang: string) => await import(`@hcengineering/analytics-collector-assets/lang/${lang}.json`))
188188
}
189189

190-
export async function configurePlatform (): Promise<void> {
190+
export async function configurePlatform(): Promise<void> {
191191
configureI18n()
192192

193193
const ipcMain = (window as any).electron as IPCMainExposed
@@ -202,6 +202,7 @@ export async function configurePlatform (): Promise<void> {
202202

203203
setMetadata(login.metadata.AccountsUrl, config.ACCOUNTS_URL)
204204
setMetadata(login.metadata.DisableSignUp, config.DISABLE_SIGNUP === 'true')
205+
setMetadata(login.metadata.DefaultLoginMethod, config.DEFAULT_LOGIN_METHOD)
205206
setMetadata(presentation.metadata.UploadURL, config.UPLOAD_URL)
206207
setMetadata(presentation.metadata.FilesURL, config.FILES_URL)
207208
setMetadata(presentation.metadata.CollaboratorUrl, config.COLLABORATOR_URL)

desktop/src/ui/types.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,9 @@ export interface Config {
2727
PRINT_URL?: string
2828
PUSH_PUBLIC_KEY: string
2929
ANALYTICS_COLLECTOR_URL?: string
30-
AI_URL?:string
30+
AI_URL?: string
3131
DISABLE_SIGNUP?: string
32+
DEFAULT_LOGIN_METHOD?: string
3233
BRANDING_URL?: string
3334
PREVIEW_CONFIG: string
3435
UPLOAD_CONFIG: string

dev/prod/src/platform.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -294,6 +294,7 @@ export async function configurePlatform() {
294294

295295
setMetadata(login.metadata.AccountsUrl, config.ACCOUNTS_URL)
296296
setMetadata(login.metadata.DisableSignUp, config.DISABLE_SIGNUP === 'true')
297+
setMetadata(login.metadata.DefaultLoginMethod, config.DEFAULT_LOGIN_METHOD)
297298
setMetadata(presentation.metadata.FilesURL, config.FILES_URL)
298299
setMetadata(presentation.metadata.UploadURL, config.UPLOAD_URL)
299300
setMetadata(presentation.metadata.CollaboratorUrl, config.COLLABORATOR_URL)

plugins/login-resources/src/components/LoginApp.svelte

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@
5959
6060
onDestroy(location.subscribe(updatePageLoc))
6161
62-
function updatePageLoc (loc: Location): void {
62+
function updatePageLoc(loc: Location): void {
6363
const token = getMetadata(presentation.metadata.Token)
6464
page = (loc.path[1] as Pages) ?? (token != null ? 'selectWorkspace' : 'login')
6565
const allowedUnauthPages: Pages[] = [
@@ -80,7 +80,7 @@
8080
navigateUrl = loc.query?.navigateUrl ?? undefined
8181
}
8282
83-
async function chooseToken (): Promise<void> {
83+
async function chooseToken(): Promise<void> {
8484
if (page === 'auth') {
8585
// token handled by auth page
8686
return

plugins/login-resources/src/components/LoginForm.svelte

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,20 @@
1818
import LoginPasswordForm from './LoginPasswordForm.svelte'
1919
import LoginOtpForm from './LoginOtpForm.svelte'
2020
import BottomActionComponent from './BottomAction.svelte'
21+
import { getMetadata } from '@hcengineering/platform'
2122
import login from '../plugin'
2223
2324
export let navigateUrl: string | undefined = undefined
2425
export let signUpDisabled = false
26+
const defaultLoginMethod = getMetadata(login.metadata.DefaultLoginMethod) ?? 'otp'
2527
2628
let method: LoginMethods = LoginMethods.Otp
2729
28-
function changeMethod (event: CustomEvent<LoginMethods>): void {
30+
if (defaultLoginMethod === 'password') {
31+
method = LoginMethods.Password
32+
}
33+
34+
function changeMethod(event: CustomEvent<LoginMethods>): void {
2935
method = event.detail
3036
}
3137

plugins/login/src/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ export default plugin(loginId, {
7373
LastToken: '' as Metadata<string>,
7474
LoginEndpoint: '' as Metadata<string>,
7575
LoginEmail: '' as Metadata<string>,
76+
DefaultLoginMethod: '' as Metadata<string>,
7677
DisableSignUp: '' as Metadata<boolean>
7778
},
7879
component: {

server/front/src/starter.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,8 @@ export function startFront (ctx: MeasureContext, extraConfig?: Record<string, st
119119

120120
const disableSignUp = process.env.DISABLE_SIGNUP
121121

122+
const defaultLoginMethod = process.env.DEFAULT_LOGIN_METHOD
123+
122124
const config = {
123125
elasticUrl,
124126
storageAdapter,
@@ -137,7 +139,8 @@ export function startFront (ctx: MeasureContext, extraConfig?: Record<string, st
137139
previewConfig,
138140
uploadConfig,
139141
pushPublicKey,
140-
disableSignUp
142+
disableSignUp,
143+
defaultLoginMethod
141144
}
142145
console.log('Starting Front service with', config)
143146
const shutdown = start(ctx, config, SERVER_PORT, extraConfig)

0 commit comments

Comments
 (0)