All Downloads are FREE. Search and download functionalities are using the official Maven repository.

web-interface.assets.57e33c6c-2.11b9f72925818240e61d.js.map Maven / Gradle / Ivy

There is a newer version: 6.0.1
Show newest version
{"version":3,"sources":["webpack:///./src/logic/authentication/AuthenticationBackend.ts","webpack:///./src/stores/authentication/AuthenticationStore.ts","webpack:///./src/util/AuthenticationService.ts","webpack:///./src/actions/authentication/AuthenticationActions.ts","webpack:///./src/logic/users/UserOverview.ts","webpack:///./src/domainActions/authentication/AuthenticationDomain.tsx"],"names":["AuthenticationBackend","id","title","description","defaultRoles","config","this","_value","Builder","Immutable","formattedConfig","authService","getAuthServicePlugin","type","configToJson","default_roles","toJS","value","configFromJson","set","toObject","AuthenticationStore","singletonStore","Reflux","createStore","listenables","AuthenticationActions","getInitialState","authenticators","create","authBackend","url","qualifyUrl","ApiRoutes","AuthenticationController","promise","fetch","then","result","backend","fromJSON","load","backendId","encodeURIComponent","loadActive","context","backendsTotal","backends_total","update","payload","testConnection","testLogin","setActiveBackend","updateConfiguration","active_backend","loadBackendsPaginated","page","perPage","query","PaginationURL","servicesPaginated","response","activeBackend","list","backends","map","pagination","per_page","count","total","loadUsersPaginated","authBackendId","users","user","UserOverview","loadActiveBackendType","build","json","throwError","authServices","PluginStore","exports","find","service","name","Error","getEnterpriseGroupSyncPlugin","authGroupSyncPlugins","getEnterpriseAuthenticationPlugin","authPlugins","singletonActions","createActions","asyncResult","delete","username","fullName","email","roles","readOnly","external","sessionActive","clientAddress","lastActivity","enabled","authServiceId","authServiceUid","accountStatus","full_name","toArray","read_only","external_user","session_active","client_address","last_activity","auth_service_id","auth_service_uid","account_status","notifyingAction","action","success","message","error","notFoundRedirect","deleteBackend","authBackendTitle"],"mappings":"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","file":"57e33c6c-2.11b9f72925818240e61d.js","sourcesContent":["/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\nimport * as Immutable from 'immutable';\nimport { $PropertyType } from 'utility-types';\nimport { DirectoryServiceAuthenticationService } from 'components/authentication/types';\n\nimport { getAuthServicePlugin } from 'util/AuthenticationService';\nimport { DirectoryServiceBackendConfig } from 'logic/authentication/directoryServices/types';\nimport { OktaBackendConfig } from 'logic/authentication/okta/types';\n\ntype InternalState = {\n  id: string,\n  title: string,\n  description: string,\n  defaultRoles: Immutable.List,\n  config: DirectoryServiceBackendConfig | OktaBackendConfig,\n};\n\ntype TypedConfig = {\n  type: string,\n};\n\nexport type AuthenticationBackendJSON = {\n  id: string,\n  title: string,\n  description: string,\n  default_roles: Array,\n  config: DirectoryServiceBackendConfig | OktaBackendConfig,\n};\n\nconst configFromJson = (config: $PropertyType) => {\n  const authService = getAuthServicePlugin((config as TypedConfig).type, true);\n\n  if (authService && typeof authService.configFromJson === 'function') {\n    return (authService as DirectoryServiceAuthenticationService).configFromJson(config);\n  }\n\n  return config;\n};\n\nconst configToJson = (config: $PropertyType) => {\n  const authService = getAuthServicePlugin((config as TypedConfig).type, true);\n\n  if (authService && typeof authService.configToJson === 'function') {\n    return authService.configToJson(config);\n  }\n\n  return config;\n};\n\nexport default class AuthenticationBackend {\n  _value: InternalState;\n\n  constructor(\n    id: $PropertyType,\n    title: $PropertyType,\n    description: $PropertyType,\n    defaultRoles: $PropertyType,\n    config: $PropertyType,\n  ) {\n    this._value = {\n      id,\n      title,\n      description,\n      defaultRoles,\n      config,\n    };\n  }\n\n  get id(): $PropertyType {\n    return this._value.id;\n  }\n\n  get title(): $PropertyType {\n    return this._value.title;\n  }\n\n  get description(): $PropertyType {\n    return this._value.description;\n  }\n\n  get defaultRoles(): $PropertyType {\n    return this._value.defaultRoles;\n  }\n\n  get config(): $PropertyType {\n    return this._value.config;\n  }\n\n  toBuilder(): Builder {\n    const {\n      id,\n      title,\n      description,\n      defaultRoles,\n      config,\n    } = this._value;\n\n    // eslint-disable-next-line @typescript-eslint/no-use-before-define\n    return new Builder(Immutable.Map({\n      id,\n      title,\n      description,\n      defaultRoles,\n      config,\n    }));\n  }\n\n  toJSON() {\n    const {\n      id,\n      title,\n      description,\n      defaultRoles = Immutable.List(),\n      config,\n    } = this._value;\n\n    const formattedConfig = configToJson(config);\n\n    return {\n      id,\n      title,\n      description,\n      default_roles: defaultRoles.toJS(),\n      config: formattedConfig,\n    };\n  }\n\n  static fromJSON(value: AuthenticationBackendJSON) {\n    const {\n      id,\n      title,\n      description,\n      default_roles: defaultRoles,\n      config,\n    } = value;\n\n    const formattedConfig = configFromJson(config);\n\n    return new AuthenticationBackend(\n      id,\n      title,\n      description,\n      Immutable.List(defaultRoles),\n      formattedConfig,\n    );\n  }\n\n  static builder(): Builder {\n    // eslint-disable-next-line @typescript-eslint/no-use-before-define\n    return new Builder();\n  }\n}\n\ntype InternalBuilderState = Immutable.Map;\n\nclass Builder {\n  value: InternalBuilderState;\n\n  constructor(value: InternalBuilderState = Immutable.Map()) {\n    this.value = value;\n  }\n\n  id(value: $PropertyType): Builder {\n    return new Builder(this.value.set('id', value));\n  }\n\n  title(value: $PropertyType): Builder {\n    return new Builder(this.value.set('title', value));\n  }\n\n  description(value: $PropertyType): Builder {\n    return new Builder(this.value.set('description', value));\n  }\n\n  defaultRoles(value: $PropertyType): Builder {\n    return new Builder(this.value.set('defaultRoles', value));\n  }\n\n  config(value: $PropertyType): Builder {\n    return new Builder(this.value.set('config', value));\n  }\n\n  build(): AuthenticationBackend {\n    const {\n      id,\n      title,\n      description,\n      defaultRoles,\n      config,\n    } = this.value.toObject();\n\n    return new AuthenticationBackend(\n      id,\n      title,\n      description,\n      defaultRoles,\n      config,\n    );\n  }\n}\n","/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\nimport Reflux from 'reflux';\nimport * as Immutable from 'immutable';\nimport { $PropertyType } from 'utility-types/dist/utility-types';\n\nimport AuthenticationBackend from 'logic/authentication/AuthenticationBackend';\nimport type { Store } from 'stores/StoreTypes';\nimport { qualifyUrl } from 'util/URLUtils';\nimport fetch, { Builder } from 'logic/rest/FetchProvider';\nimport { singletonStore } from 'views/logic/singleton';\nimport AuthenticationActions from 'actions/authentication/AuthenticationActions';\nimport PaginationURL from 'util/PaginationURL';\nimport type {\n  AuthenticationBackendCreate,\n  AuthenticationBackendUpdate,\n  ConnectionTestPayload,\n  ConnectionTestResult,\n  LoadActiveResponse,\n  LoadResponse,\n  LoginTestPayload,\n  LoginTestResult,\n  PaginatedBackends,\n} from 'actions/authentication/AuthenticationActions';\nimport type { PaginatedUsers } from 'actions/users/UsersActions';\nimport type { PaginatedResponseType, Pagination } from 'stores/PaginationTypes';\nimport type { AuthenticationBackendJSON } from 'logic/authentication/AuthenticationBackend';\nimport ApiRoutes from 'routing/ApiRoutes';\nimport UserOverview, { UserOverviewJSON } from 'logic/users/UserOverview';\n\ntype PaginatedBackendsResponse = PaginatedResponseType & {\n  context: {\n    active_backend: AuthenticationBackendJSON | null | undefined,\n  },\n  backends: Array,\n};\n\ntype PaginatedUsersResponse = PaginatedResponseType & {\n  users: Array,\n};\n\nconst AuthenticationStore: Store<{ authenticators: any }> = singletonStore(\n  'Authentication',\n  () => Reflux.createStore({\n    listenables: [AuthenticationActions],\n\n    getInitialState() {\n      return {\n        authenticators: null,\n      };\n    },\n\n    create(authBackend: AuthenticationBackendCreate): Promise {\n      const url = qualifyUrl(ApiRoutes.AuthenticationController.create().url);\n      const promise = fetch('POST', url, authBackend).then((result) => (result ? {\n        backend: AuthenticationBackend.fromJSON(result.backend),\n      } : null));\n      AuthenticationActions.create.promise(promise);\n\n      return promise;\n    },\n\n    load(backendId: string): Promise {\n      const url = qualifyUrl(ApiRoutes.AuthenticationController.load(encodeURIComponent(backendId)).url);\n      const promise = fetch('GET', url).then((result) => (result ? {\n        backend: AuthenticationBackend.fromJSON(result.backend),\n      } : null));\n\n      AuthenticationActions.load.promise(promise);\n\n      return promise;\n    },\n\n    loadActive(): Promise {\n      const url = qualifyUrl(ApiRoutes.AuthenticationController.loadActive().url);\n      const promise = fetch('GET', url).then((result) => (result ? {\n        backend: result.backend ? AuthenticationBackend.fromJSON(result.backend) : null,\n        context: { backendsTotal: result.context.backends_total },\n      } : null));\n\n      AuthenticationActions.loadActive.promise(promise);\n\n      return promise;\n    },\n\n    update(backendId: null | undefined | $PropertyType, payload: AuthenticationBackendUpdate): Promise {\n      const url = qualifyUrl(ApiRoutes.AuthenticationController.update(backendId).url);\n      const promise = fetch('PUT', url, payload).then((result) => (result ? {\n        backend: AuthenticationBackend.fromJSON(result.backend),\n      } : null));\n\n      AuthenticationActions.update.promise(promise);\n\n      return promise;\n    },\n\n    delete(backendId: null | undefined | $PropertyType): Promise {\n      const url = qualifyUrl(ApiRoutes.AuthenticationController.delete(backendId).url);\n      const promise = fetch('DELETE', url);\n      AuthenticationActions.delete.promise(promise);\n\n      return promise;\n    },\n\n    testConnection(payload: ConnectionTestPayload): Promise {\n      const url = qualifyUrl(ApiRoutes.AuthenticationController.testConnection().url);\n      const promise = fetch('POST', url, payload);\n      AuthenticationActions.testConnection.promise(promise);\n\n      return promise;\n    },\n\n    testLogin(payload: LoginTestPayload): Promise {\n      const url = qualifyUrl(ApiRoutes.AuthenticationController.testLogin().url);\n      const promise = fetch('POST', url, payload);\n      AuthenticationActions.testLogin.promise(promise);\n\n      return promise;\n    },\n\n    setActiveBackend(backendId: null | undefined | $PropertyType): Promise {\n      const url = qualifyUrl(ApiRoutes.AuthenticationController.updateConfiguration().url);\n      const promise = fetch('POST', url, { active_backend: backendId });\n      AuthenticationActions.setActiveBackend.promise(promise);\n\n      return promise;\n    },\n\n    loadBackendsPaginated({ page, perPage, query }: Pagination): Promise {\n      const url = PaginationURL(ApiRoutes.AuthenticationController.servicesPaginated().url, page, perPage, query);\n      const promise = fetch('GET', qualifyUrl(url))\n        .then((response: PaginatedBackendsResponse) => ({\n          context: {\n            activeBackend: response.context.active_backend,\n          },\n          list: Immutable.List(response.backends.map((backend) => AuthenticationBackend.fromJSON(backend))),\n          pagination: {\n            page: response.page,\n            perPage: response.per_page,\n            query: response.query,\n            count: response.count,\n            total: response.total,\n          },\n        }));\n\n      AuthenticationActions.loadBackendsPaginated.promise(promise);\n\n      return promise;\n    },\n\n    loadUsersPaginated(authBackendId, { page, perPage, query }: Pagination): Promise {\n      const url = PaginationURL(ApiRoutes.AuthenticationController.loadUsersPaginated(authBackendId).url, page, perPage, query);\n\n      const promise = fetch('GET', qualifyUrl(url))\n        .then((response: PaginatedUsersResponse) => ({\n          list: Immutable.List(response.users.map((user) => UserOverview.fromJSON(user))),\n          pagination: {\n            page: response.page,\n            perPage: response.per_page,\n            query: response.query,\n            count: response.count,\n            total: response.total,\n          },\n        }));\n\n      AuthenticationActions.loadUsersPaginated.promise(promise);\n\n      return promise;\n    },\n\n    loadActiveBackendType(): Promise {\n      const url = qualifyUrl(ApiRoutes.AuthenticationController.loadActiveBackendType().url);\n\n      // no authentication required\n      const promise = new Builder('GET', url)\n        .build()\n        .then((response) => response.json())\n        .then((result: { backend: string | undefined }) => {\n          return result.backend;\n        });\n\n      AuthenticationActions.loadActiveBackendType.promise(promise);\n\n      return promise;\n    },\n  }),\n);\n\nexport { AuthenticationActions, AuthenticationStore };\n\nexport default AuthenticationStore;\n","/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\nimport { PluginStore } from 'graylog-web-plugin/plugin';\n\n// eslint-disable-next-line import/prefer-default-export\nexport const getAuthServicePlugin = (type: string, throwError: boolean = false) => {\n  const authServices = PluginStore.exports('authentication.services') || [];\n  const authService = authServices.find((service) => service.name === type);\n\n  if (!authService && throwError) {\n    throw new Error(`Authentication service with type \"${type}\" not found.`);\n  }\n\n  return authService;\n};\n\nexport const getEnterpriseGroupSyncPlugin = () => {\n  const authGroupSyncPlugins = PluginStore.exports('authentication.enterprise.directoryServices.groupSync');\n\n  return authGroupSyncPlugins?.[0];\n};\n\nexport const getEnterpriseAuthenticationPlugin = () => {\n  const authPlugins = PluginStore.exports('authentication.enterprise');\n\n  return authPlugins?.[0];\n};\n","/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\nimport Reflux from 'reflux';\nimport { $PropertyType } from 'utility-types';\n\nimport AuthenticationBackend, { AuthenticationBackendJSON } from 'logic/authentication/AuthenticationBackend';\nimport { singletonActions } from 'views/logic/singleton';\nimport { RefluxActions } from 'stores/StoreTypes';\nimport { Pagination, PaginatedList } from 'stores/PaginationTypes';\nimport { PaginatedUsers } from 'actions/users/UsersActions';\n\nexport type AuthenticationBackendCreate = {\n  title: $PropertyType,\n  description: $PropertyType,\n  config: {\n    type: string,\n  },\n};\n\nexport type AuthenticationBackendUpdate = {\n  id: $PropertyType,\n  title: $PropertyType,\n  description: $PropertyType,\n  config: {\n    type: string,\n  },\n};\n\nexport type PaginatedBackends = PaginatedList & {\n  context: {\n    activeBackend: AuthenticationBackend | undefined | null,\n  },\n};\n\nexport type ConnectionTestPayload = {\n  backend_configuration: AuthenticationBackendCreate,\n  backend_id: string | undefined | null,\n};\nexport type ConnectionTestResult = {\n  success: boolean,\n  message: string,\n  errors: Array,\n};\nexport type LoginTestPayload = {\n  backend_id: string | undefined | null,\n  backend_configuration: AuthenticationBackendCreate,\n  user_login: {\n    username: string,\n    password: string,\n  },\n};\n\nexport type LoginTestResult = {\n  success: boolean,\n  message: string,\n  errors: Array,\n  result: {\n    user_exists: boolean,\n    login_success: boolean,\n    user_details: {\n      dn: string,\n      entryUUID: string,\n      uid: string,\n      cn: string,\n      email: string,\n    },\n  },\n};\n\nexport type LoadResponse = {\n  backend: AuthenticationBackend | undefined | null,\n};\n\nexport type LoadActiveResponse = LoadResponse & {\n  context: {\n    backendsTotal: number,\n  },\n};\n\nexport type ActionsType = {\n  create: (AuthenticationBackendCreate) => Promise,\n  delete: (authBackendId: $PropertyType | undefined | null, authBackendTitle: $PropertyType) => Promise,\n  load: (id: string) => Promise,\n  loadActive: () => Promise,\n  loadBackendsPaginated: (pagination: Pagination) => Promise,\n  loadUsersPaginated: (authBackendId: string, pagination: Pagination) => Promise,\n  loadActiveBackendType: () => Promise,\n  setActiveBackend: (authBackendId: $PropertyType | undefined | null, authBackendTitle: $PropertyType) => Promise,\n  testConnection: (payload: ConnectionTestPayload) => Promise,\n  testLogin: (payload: LoginTestPayload) => Promise,\n  update: (id: string, AuthenticationBackendUpdate) => Promise,\n};\n\nconst AuthenticationActions: RefluxActions = singletonActions(\n  'Authentication',\n  () => Reflux.createActions({\n    create: { asyncResult: true },\n    delete: { asyncResult: true },\n    load: { asyncResult: true },\n    loadActive: { asyncResult: true },\n    loadBackendsPaginated: { asyncResult: true },\n    loadUsersPaginated: { asyncResult: true },\n    loadActiveBackendType: { asyncResult: true },\n    setActiveBackend: { asyncResult: true },\n    testConnection: { asyncResult: true },\n    testLogin: { asyncResult: true },\n    update: { asyncResult: true },\n  }),\n);\n\nexport default AuthenticationActions;\n","/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\nimport { $PropertyType } from 'utility-types';\nimport * as Immutable from 'immutable';\n\nexport type AccountStatus = 'enabled' | 'disabled' | 'deleted';\n\nexport type UserOverviewJSON = {\n  id: string;\n  username: string;\n  full_name: string;\n  email: string;\n  external_user: boolean | null | undefined;\n  roles: Array;\n  read_only: boolean | null | undefined;\n  session_active: boolean | null | undefined;\n  client_address: string;\n  last_activity: string | null | undefined;\n  enabled: boolean;\n  auth_service_id: string;\n  auth_service_uid: string;\n  account_status: AccountStatus;\n};\n\ntype InternalState = {\n  id: string;\n  username: string;\n  fullName: string;\n  email: string;\n  roles: Immutable.Set;\n  readOnly: boolean;\n  external: boolean;\n  sessionActive: boolean;\n  clientAddress: string;\n  lastActivity: string | null | undefined;\n  enabled: boolean;\n  authServiceId: string;\n  authServiceUid: string;\n  accountStatus: AccountStatus;\n};\n\nexport default class UserOverview {\n  _value: InternalState;\n\n  constructor(\n    id: $PropertyType,\n    username: $PropertyType,\n    fullName: $PropertyType,\n    email: $PropertyType,\n    roles: $PropertyType,\n    readOnly: $PropertyType,\n    external: $PropertyType,\n    sessionActive: $PropertyType,\n    clientAddress: $PropertyType,\n    lastActivity: $PropertyType,\n    enabled: $PropertyType,\n    authServiceId: $PropertyType,\n    authServiceUid: $PropertyType,\n    accountStatus: $PropertyType,\n  ) {\n    this._value = {\n      id,\n      username,\n      fullName,\n      email,\n      roles,\n      readOnly,\n      external,\n      sessionActive,\n      clientAddress,\n      lastActivity,\n      enabled,\n      authServiceId,\n      authServiceUid,\n      accountStatus,\n    };\n  }\n\n  get id() {\n    return this._value.id;\n  }\n\n  get username() {\n    return this._value.username;\n  }\n\n  get name() {\n    return this._value.username;\n  }\n\n  get fullName() {\n    return this._value.fullName;\n  }\n\n  get description() {\n    return this._value.fullName;\n  }\n\n  get email() {\n    return this._value.email;\n  }\n\n  get roles() {\n    return this._value.roles;\n  }\n\n  get readOnly() {\n    return this._value.readOnly;\n  }\n\n  get external() {\n    return this._value.external;\n  }\n\n  get sessionActive() {\n    return this._value.sessionActive;\n  }\n\n  get clientAddress() {\n    return this._value.clientAddress;\n  }\n\n  get lastActivity() {\n    return this._value.lastActivity;\n  }\n\n  get enabled() {\n    return this._value.enabled;\n  }\n\n  get authServiceId() {\n    return this._value.authServiceId;\n  }\n\n  get authServiceUid() {\n    return this._value.authServiceUid;\n  }\n\n  get accountStatus() {\n    return this._value.accountStatus;\n  }\n\n  toBuilder() {\n    const {\n      id,\n      username,\n      fullName,\n      email,\n      roles,\n      readOnly,\n      external,\n      sessionActive,\n      clientAddress,\n      lastActivity,\n      enabled,\n      authServiceId,\n      authServiceUid,\n      accountStatus,\n    } = this._value;\n\n    // eslint-disable-next-line @typescript-eslint/no-use-before-define\n    return new Builder(Immutable.Map({\n      id,\n      username,\n      fullName,\n      email,\n      roles,\n      readOnly,\n      external,\n      sessionActive,\n      clientAddress,\n      lastActivity,\n      enabled,\n      authServiceId,\n      authServiceUid,\n      accountStatus,\n    }));\n  }\n\n  static create(\n    id: $PropertyType,\n    username: $PropertyType,\n    fullName: $PropertyType,\n    email: $PropertyType,\n    roles: $PropertyType,\n    readOnly: $PropertyType,\n    external: $PropertyType,\n    sessionActive: $PropertyType,\n    clientAddress: $PropertyType,\n    lastActivity: $PropertyType,\n    enabled: $PropertyType,\n    authServiceId: $PropertyType,\n    authServiceUid: $PropertyType,\n    accountStatus: $PropertyType,\n  ) {\n    return new UserOverview(\n      id,\n      username,\n      fullName,\n      email,\n      roles,\n      readOnly,\n      external,\n      sessionActive,\n      clientAddress,\n      lastActivity,\n      enabled,\n      authServiceId,\n      authServiceUid,\n      accountStatus,\n    );\n  }\n\n  toJSON(): UserOverviewJSON {\n    const {\n      id,\n      username,\n      fullName,\n      email,\n      roles,\n      readOnly,\n      external,\n      sessionActive,\n      clientAddress,\n      lastActivity,\n      enabled,\n      authServiceId,\n      authServiceUid,\n      accountStatus,\n    } = this._value;\n\n    return {\n      id,\n      username,\n      full_name: fullName,\n      email,\n      roles: roles.toArray(),\n      read_only: readOnly,\n      external_user: external,\n      session_active: sessionActive,\n      client_address: clientAddress,\n      last_activity: lastActivity,\n      enabled,\n      auth_service_id: authServiceId,\n      auth_service_uid: authServiceUid,\n      account_status: accountStatus,\n    };\n  }\n\n  static fromJSON(value: UserOverviewJSON) {\n    const {\n      id,\n      username,\n      full_name: fullName,\n      email,\n      roles,\n      read_only: readOnly,\n      external_user: external,\n      session_active: sessionActive,\n      client_address: clientAddress,\n      last_activity: lastActivity,\n      enabled,\n      auth_service_id: authServiceId,\n      auth_service_uid: authServiceUid,\n      account_status: accountStatus,\n    } = value;\n\n    return UserOverview.create(id,\n      username,\n      fullName,\n      email,\n      Immutable.Set(roles),\n      readOnly ?? false,\n      external ?? false,\n      sessionActive ?? false,\n      clientAddress,\n      lastActivity,\n      enabled,\n      authServiceId,\n      authServiceUid,\n      accountStatus);\n  }\n\n  // eslint-disable-next-line @typescript-eslint/no-use-before-define\n  static builder(): Builder {\n    // eslint-disable-next-line @typescript-eslint/no-use-before-define\n    return new Builder();\n  }\n}\n\ntype BuilderState = Immutable.Map;\n\nclass Builder {\n  value: BuilderState;\n\n  constructor(value: BuilderState = Immutable.Map()) {\n    this.value = value;\n  }\n\n  id(value: $PropertyType) {\n    return new Builder(this.value.set('id', value));\n  }\n\n  username(value: $PropertyType) {\n    return new Builder(this.value.set('username', value));\n  }\n\n  fullName(value: $PropertyType) {\n    return new Builder(this.value.set('fullName', value));\n  }\n\n  email(value: $PropertyType) {\n    return new Builder(this.value.set('email', value));\n  }\n\n  roles(value: $PropertyType) {\n    return new Builder(this.value.set('roles', value));\n  }\n\n  readOnly(value: $PropertyType) {\n    return new Builder(this.value.set('readOnly', value));\n  }\n\n  external(value: $PropertyType) {\n    return new Builder(this.value.set('external', value));\n  }\n\n  sessionActive(value: $PropertyType) {\n    return new Builder(this.value.set('sessionActive', value));\n  }\n\n  clientAddress(value: $PropertyType) {\n    return new Builder(this.value.set('clientAddress', value));\n  }\n\n  lastActivity(value: $PropertyType) {\n    return new Builder(this.value.set('lastActivity', value));\n  }\n\n  enabled(value: $PropertyType) {\n    return new Builder(this.value.set('enabled', value));\n  }\n\n  authServiceId(value: $PropertyType) {\n    return new Builder(this.value.set('authServiceId', value));\n  }\n\n  authServiceUid(value: $PropertyType) {\n    return new Builder(this.value.set('authServiceUid', value));\n  }\n\n  accountStatus(value: $PropertyType) {\n    return new Builder(this.value.set('accountStatus', value));\n  }\n\n  build() {\n    const {\n      id,\n      username,\n      fullName,\n      email,\n      roles,\n      readOnly,\n      external,\n      sessionActive,\n      clientAddress,\n      lastActivity,\n      enabled,\n      authServiceId,\n      authServiceUid,\n      accountStatus,\n    } = this.value.toObject();\n\n    return new UserOverview(\n      id,\n      username,\n      fullName,\n      email,\n      roles,\n      readOnly,\n      external,\n      sessionActive,\n      clientAddress,\n      lastActivity,\n      enabled,\n      authServiceId,\n      authServiceUid,\n      accountStatus,\n    );\n  }\n}\n","/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\nimport { AuthenticationActions } from 'stores/authentication/AuthenticationStore';\n\nimport notifyingAction from '../notifyingAction';\n\nconst create = notifyingAction({\n  action: AuthenticationActions.create,\n  success: (authBackend) => ({\n    message: `Authentication service \"${authBackend.title} was created successfully`,\n  }),\n  error: (error, authBackend) => ({\n    message: `Creating authentication service \"${authBackend.title}\" failed with status: ${error}`,\n  }),\n});\n\nconst load = notifyingAction({\n  action: AuthenticationActions.load,\n  error: (error, authBackendId) => ({\n    message: `Loading authentication service with id \"${authBackendId}\" failed with status: ${error}`,\n  }),\n  notFoundRedirect: true,\n});\n\nconst loadActive = notifyingAction({\n  action: AuthenticationActions.loadActive,\n  error: (error) => ({\n    message: `Loading active authentication service failed with status: ${error}`,\n  }),\n});\n\nconst update = notifyingAction({\n  action: AuthenticationActions.update,\n  success: (authBackendId, authBackend) => ({\n    message: `Authentication service \"${authBackend.title}\" was updated successfully`,\n  }),\n  error: (error, authBackendId, authBackend) => ({\n    message: `Updating authentication service \"${authBackend.title}\" failed with status: ${error}`,\n  }),\n});\n\nconst deleteBackend = notifyingAction({\n  action: AuthenticationActions.delete,\n  success: (authBackendId, authBackendTitle) => ({\n    message: `Authentication service \"${authBackendTitle} was deleted successfully`,\n  }),\n  error: (error, authBackendId, authBackendTitle) => ({\n    message: `Deleting authentication service \"${authBackendTitle}\" failed with status: ${error}`,\n  }),\n});\n\nconst testConnection = notifyingAction({\n  action: AuthenticationActions.testConnection,\n  error: (error) => ({\n    message: `Connection test failed with status: ${error}`,\n  }),\n});\n\nconst testLogin = notifyingAction({\n  action: AuthenticationActions.testLogin,\n  error: (error) => ({\n    message: `Login test failed with status: ${error}`,\n  }),\n});\n\nconst setActiveBackend = notifyingAction({\n  action: AuthenticationActions.setActiveBackend,\n  success: (authBackendId, authBackendTitle) => ({\n    message: `Authentication service \"${authBackendTitle} was ${authBackendId ? 'activated' : 'deactivated'} successfully`,\n  }),\n  error: (error, authBackendId, authBackendTitle) => ({\n    message: `Activating authentication service \"${authBackendTitle}\" failed with status: ${error}`,\n  }),\n});\n\nconst loadBackendsPaginated = notifyingAction({\n  action: AuthenticationActions.loadBackendsPaginated,\n  error: (error) => ({\n    message: `Loading authentication services failed with status: ${error}`,\n  }),\n});\n\nconst loadUsersPaginated = notifyingAction({\n  action: AuthenticationActions.loadUsersPaginated,\n  error: (authBackendId, error) => ({\n    message: `Loading synchronized users for authentication service with id \"${authBackendId}\" failed with status: ${error}`,\n  }),\n});\n\nconst loadActiveBackendType = notifyingAction({\n  action: AuthenticationActions.loadActiveBackendType,\n  error: (error) => ({\n    message: `Loading active authentication service type failed with status: ${error}`,\n  }),\n});\n\nexport default {\n  create,\n  update,\n  load,\n  loadActive,\n  delete: deleteBackend,\n  testConnection,\n  testLogin,\n  setActiveBackend,\n  loadBackendsPaginated,\n  loadUsersPaginated,\n  loadActiveBackendType,\n};\n"],"sourceRoot":""}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy