Files
cloudbeaver/webapp/packages/plugin-authentication-administration/src/AdministrationUsersManagementService.ts
T
d44e6b4e7a CB-3564 multi server license (#2062)
* CB-3564 fix: localization

* CB-3984 wip

* CB-3984 multi instance license

* CB-3564 feat: external users provider

* CB-3984 server init fix

* CB-3564 feat: load resource for administration users management

* CB-3984 force enable imported user

---------

Co-authored-by: Aleksandr Skoblikov <aleksandr.skoblikov@dbeaver.com>
Co-authored-by: EvgeniaBzzz <139753579+EvgeniaBzzz@users.noreply.github.com>
2023-10-18 21:17:16 +03:00

43 lines
1.4 KiB
TypeScript

/*
* CloudBeaver - Cloud Database Manager
* Copyright (C) 2020-2023 DBeaver Corp and others
*
* Licensed under the Apache License, Version 2.0.
* you may not use this file except in compliance with the License.
*/
import { computed, makeObservable } from 'mobx';
import { injectable } from '@cloudbeaver/core-di';
import { type ISyncExecutor, SyncExecutor } from '@cloudbeaver/core-executor';
import { type ILoadableState, isArraysEqual } from '@cloudbeaver/core-utils';
import { externalUserProviderStatusContext } from './externalUserProviderStatusContext';
@injectable()
export class AdministrationUsersManagementService {
get externalUserProviderEnabled(): boolean {
const contexts = this.getExternalUserProviderStatus.execute();
const projectsContext = contexts.getContext(externalUserProviderStatusContext);
return projectsContext.externalUserProviderEnabled;
}
get loaders(): ILoadableState[] {
const contexts = this.getExternalUserProviderStatus.execute();
const projectsContext = contexts.getContext(externalUserProviderStatusContext);
return projectsContext.loaders;
}
readonly getExternalUserProviderStatus: ISyncExecutor;
constructor() {
makeObservable(this, {
externalUserProviderEnabled: computed,
loaders: computed<ILoadableState[]>({ equals: (a, b) => isArraysEqual(a, b) }),
});
this.getExternalUserProviderStatus = new SyncExecutor();
}
}