1
0
mirror of https://gitlab.com/bramw/baserow.git synced 2024-11-21 15:27:53 +00:00
bramw_baserow/enterprise/web-frontend/modules/baserow_enterprise/plugin.js
2024-11-11 14:08:34 +00:00

132 lines
5.0 KiB
JavaScript

import { registerRealtimeEvents } from '@baserow_enterprise/realtime'
import { RolePermissionManagerType } from '@baserow_enterprise/permissionManagerTypes'
import { AuthProvidersType, AuditLogType } from '@baserow_enterprise/adminTypes'
import authProviderAdminStore from '@baserow_enterprise/store/authProviderAdmin'
import { PasswordAuthProviderType as CorePasswordAuthProviderType } from '@baserow/modules/core/authProviderTypes'
import {
PasswordAuthProviderType,
SamlAuthProviderType,
GitHubAuthProviderType,
GoogleAuthProviderType,
FacebookAuthProviderType,
GitLabAuthProviderType,
OpenIdConnectAuthProviderType,
} from '@baserow_enterprise/authProviderTypes'
import { TeamsWorkspaceSettingsPageType } from '@baserow_enterprise/workspaceSettingsPageTypes'
import { EnterpriseMembersPagePluginType } from '@baserow_enterprise/membersPagePluginTypes'
import en from '@baserow_enterprise/locales/en.json'
import fr from '@baserow_enterprise/locales/fr.json'
import nl from '@baserow_enterprise/locales/nl.json'
import de from '@baserow_enterprise/locales/de.json'
import es from '@baserow_enterprise/locales/es.json'
import it from '@baserow_enterprise/locales/it.json'
import {
EnterpriseWithoutSupportLicenseType,
EnterpriseLicenseType,
} from '@baserow_enterprise/licenseTypes'
import { EnterprisePlugin } from '@baserow_enterprise/plugins'
import { LocalBaserowUserSourceType } from '@baserow_enterprise/integrations/userSourceTypes'
import { LocalBaserowPasswordAppAuthProviderType } from '@baserow_enterprise/integrations/appAuthProviderTypes'
import { AuthFormElementType } from '@baserow_enterprise/builder/elementTypes'
import {
EnterpriseAdminRoleType,
EnterpriseMemberRoleType,
EnterpriseBuilderRoleType,
EnterpriseEditorRoleType,
EnterpriseCommenterRoleType,
EnterpriseViewerRoleType,
NoAccessRoleType,
NoRoleLowPriorityRoleType,
} from '@baserow_enterprise/roleTypes'
import {
LocalBaserowTableDataSyncType,
JiraIssuesDataSyncType,
GitHubIssuesDataSyncType,
GitLabIssuesDataSyncType,
} from '@baserow_enterprise/dataSyncTypes'
export default (context) => {
const { app, isDev, store } = context
// Allow locale file hot reloading
if (isDev && app.i18n) {
const { i18n } = app
i18n.mergeLocaleMessage('en', en)
i18n.mergeLocaleMessage('fr', fr)
i18n.mergeLocaleMessage('nl', nl)
i18n.mergeLocaleMessage('de', de)
i18n.mergeLocaleMessage('es', es)
i18n.mergeLocaleMessage('it', it)
}
app.$registry.register('plugin', new EnterprisePlugin(context))
app.$registry.register(
'permissionManager',
new RolePermissionManagerType(context)
)
store.registerModule('authProviderAdmin', authProviderAdminStore)
app.$registry.register('admin', new AuthProvidersType(context))
app.$registry.unregister(
'authProvider',
new CorePasswordAuthProviderType(context)
)
app.$registry.register('authProvider', new PasswordAuthProviderType(context))
app.$registry.register('authProvider', new SamlAuthProviderType(context))
app.$registry.register('authProvider', new GoogleAuthProviderType(context))
app.$registry.register('authProvider', new FacebookAuthProviderType(context))
app.$registry.register('authProvider', new GitHubAuthProviderType(context))
app.$registry.register('authProvider', new GitLabAuthProviderType(context))
app.$registry.register(
'authProvider',
new OpenIdConnectAuthProviderType(context)
)
app.$registry.register('admin', new AuditLogType(context))
app.$registry.register('plugin', new EnterprisePlugin(context))
registerRealtimeEvents(app.$realtime)
app.$registry.register(
'membersPagePlugins',
new EnterpriseMembersPagePluginType(context)
)
app.$registry.register(
'workspaceSettingsPage',
new TeamsWorkspaceSettingsPageType(context)
)
app.$registry.register(
'license',
new EnterpriseWithoutSupportLicenseType(context)
)
app.$registry.register('license', new EnterpriseLicenseType(context))
app.$registry.register('userSource', new LocalBaserowUserSourceType(context))
app.$registry.register(
'appAuthProvider',
new LocalBaserowPasswordAppAuthProviderType(context)
)
app.$registry.register('roles', new EnterpriseAdminRoleType(context))
app.$registry.register('roles', new EnterpriseMemberRoleType(context))
app.$registry.register('roles', new EnterpriseBuilderRoleType(context))
app.$registry.register('roles', new EnterpriseEditorRoleType(context))
app.$registry.register('roles', new EnterpriseCommenterRoleType(context))
app.$registry.register('roles', new EnterpriseViewerRoleType(context))
app.$registry.register('roles', new NoAccessRoleType(context))
app.$registry.register('roles', new NoRoleLowPriorityRoleType(context))
app.$registry.register('element', new AuthFormElementType(context))
app.$registry.register('dataSync', new LocalBaserowTableDataSyncType(context))
app.$registry.register('dataSync', new JiraIssuesDataSyncType(context))
app.$registry.register('dataSync', new GitHubIssuesDataSyncType(context))
app.$registry.register('dataSync', new GitLabIssuesDataSyncType(context))
}