21 lines
643 B
TypeScript
21 lines
643 B
TypeScript
import { showCredentials } from '../actions/showCredentials'
|
|
import { storeJson } from '../fileModels/storeJson'
|
|
import { i18n } from '../i18n'
|
|
import { sdk } from '../sdk'
|
|
import { randomPassword } from '../utils'
|
|
|
|
export const taskSetPassword = sdk.setupOnInit(async (effects) => {
|
|
const existing = await storeJson.read((s) => s.password).once()
|
|
if (existing) return
|
|
|
|
await storeJson.merge(
|
|
effects,
|
|
{ password: randomPassword() },
|
|
{ allowWriteAfterConst: true },
|
|
)
|
|
|
|
await sdk.action.createOwnTask(effects, showCredentials, 'critical', {
|
|
reason: i18n('Spaces needs an admin password for the web terminal'),
|
|
})
|
|
})
|