Browse Source

fix after merge from master

Peter Holmberg 7 years ago
parent
commit
6d6416c04d

+ 1 - 1
public/app/features/users/UsersActionBar.test.tsx

@@ -6,7 +6,7 @@ const setup = (propOverrides?: object) => {
   const props: Props = {
     searchQuery: '',
     setUsersSearchQuery: jest.fn(),
-    showInvites: false,
+    showInvites: jest.fn(),
     pendingInvitesCount: 0,
     canInvite: false,
     externalUserMngLinkUrl: '',

+ 1 - 1
public/app/features/users/UsersActionBar.tsx

@@ -3,7 +3,7 @@ import { connect } from 'react-redux';
 import { setUsersSearchQuery } from './state/actions';
 import { getInviteesCount, getUsersSearchQuery } from './state/selectors';
 
-interface Props {
+export interface Props {
   searchQuery: string;
   setUsersSearchQuery: typeof setUsersSearchQuery;
   showInvites: () => void;

+ 2 - 2
public/app/features/users/UsersListPage.test.tsx

@@ -1,7 +1,7 @@
 import React from 'react';
 import { shallow } from 'enzyme';
 import { UsersListPage, Props } from './UsersListPage';
-import { Invitee, NavModel, User } from 'app/types';
+import { Invitee, NavModel, OrgUser } from 'app/types';
 import { getMockUser } from './__mocks__/userMocks';
 import appEvents from '../../core/app_events';
 
@@ -12,7 +12,7 @@ jest.mock('../../core/app_events', () => ({
 const setup = (propOverrides?: object) => {
   const props: Props = {
     navModel: {} as NavModel,
-    users: [] as User[],
+    users: [] as OrgUser[],
     invitees: [] as Invitee[],
     searchQuery: '',
     externalUserMngInfo: '',

+ 2 - 2
public/app/features/users/UsersListPage.tsx

@@ -5,7 +5,7 @@ import PageHeader from 'app/core/components/PageHeader/PageHeader';
 import UsersActionBar from './UsersActionBar';
 import UsersTable from 'app/features/users/UsersTable';
 import InviteesTable from './InviteesTable';
-import { Invitee, NavModel, User } from 'app/types';
+import { Invitee, NavModel, OrgUser } from 'app/types';
 import appEvents from 'app/core/app_events';
 import { loadUsers, loadInvitees, revokeInvite, setUsersSearchQuery, updateUser, removeUser } from './state/actions';
 import { getNavModel } from '../../core/selectors/navModel';
@@ -14,7 +14,7 @@ import { getInvitees, getUsers, getUsersSearchQuery } from './state/selectors';
 export interface Props {
   navModel: NavModel;
   invitees: Invitee[];
-  users: User[];
+  users: OrgUser[];
   searchQuery: string;
   externalUserMngInfo: string;
   loadUsers: typeof loadUsers;

+ 2 - 2
public/app/features/users/UsersTable.test.tsx

@@ -1,12 +1,12 @@
 import React from 'react';
 import { shallow } from 'enzyme';
 import UsersTable, { Props } from './UsersTable';
-import { User } from 'app/types';
+import { OrgUser } from 'app/types';
 import { getMockUsers } from './__mocks__/userMocks';
 
 const setup = (propOverrides?: object) => {
   const props: Props = {
-    users: [] as User[],
+    users: [] as OrgUser[],
     onRoleChange: jest.fn(),
     onRemoveUser: jest.fn(),
   };

+ 4 - 4
public/app/features/users/UsersTable.tsx

@@ -1,10 +1,10 @@
 import React, { SFC } from 'react';
-import { User } from 'app/types';
+import { OrgUser } from 'app/types';
 
 export interface Props {
-  users: User[];
-  onRoleChange: (role: string, user: User) => void;
-  onRemoveUser: (user: User) => void;
+  users: OrgUser[];
+  onRoleChange: (role: string, user: OrgUser) => void;
+  onRemoveUser: (user: OrgUser) => void;
 }
 
 const UsersTable: SFC<Props> = props => {

+ 4 - 4
public/app/features/users/state/actions.ts

@@ -1,7 +1,7 @@
 import { ThunkAction } from 'redux-thunk';
 import { StoreState } from '../../../types';
 import { getBackendSrv } from '../../../core/services/backend_srv';
-import { Invitee, User } from 'app/types';
+import { Invitee, OrgUser } from 'app/types';
 
 export enum ActionTypes {
   LoadUsers = 'LOAD_USERS',
@@ -11,7 +11,7 @@ export enum ActionTypes {
 
 export interface LoadUsersAction {
   type: ActionTypes.LoadUsers;
-  payload: User[];
+  payload: OrgUser[];
 }
 
 export interface LoadInviteesAction {
@@ -24,7 +24,7 @@ export interface SetUsersSearchQueryAction {
   payload: string;
 }
 
-const usersLoaded = (users: User[]): LoadUsersAction => ({
+const usersLoaded = (users: OrgUser[]): LoadUsersAction => ({
   type: ActionTypes.LoadUsers,
   payload: users,
 });
@@ -57,7 +57,7 @@ export function loadInvitees(): ThunkResult<void> {
   };
 }
 
-export function updateUser(user: User): ThunkResult<void> {
+export function updateUser(user: OrgUser): ThunkResult<void> {
   return async dispatch => {
     await getBackendSrv().patch(`/api/org/users/${user.userId}`, user);
     dispatch(loadUsers());

+ 2 - 2
public/app/features/users/state/reducers.ts

@@ -1,10 +1,10 @@
-import { Invitee, User, UsersState } from 'app/types';
+import { Invitee, OrgUser, UsersState } from 'app/types';
 import { Action, ActionTypes } from './actions';
 import config from '../../../core/config';
 
 export const initialState: UsersState = {
   invitees: [] as Invitee[],
-  users: [] as User[],
+  users: [] as OrgUser[],
   searchQuery: '',
   canInvite: !config.disableLoginForm && !config.externalUserMngLinkName,
   externalUserMngInfo: config.externalUserMngInfo,

+ 2 - 3
public/app/types/index.ts

@@ -6,10 +6,9 @@ import { FolderDTO, FolderState, FolderInfo } from './folders';
 import { DashboardState } from './dashboard';
 import { DashboardAcl, OrgRole, PermissionLevel } from './acl';
 import { ApiKey, ApiKeysState, NewApiKey } from './apiKeys';
-import { User } from './user';
+import { Invitee, OrgUser, User, UsersState } from './user';
 import { DataSource, DataSourcesState } from './datasources';
 import { PluginMeta, Plugin, PluginsState } from './plugins';
-import { Invitee, User, UsersState } from './users';
 
 export {
   Team,
@@ -39,11 +38,11 @@ export {
   ApiKey,
   ApiKeysState,
   NewApiKey,
-  User,
   Plugin,
   PluginsState,
   DataSourcesState,
   Invitee,
+  OrgUser,
   User,
   UsersState,
 };

+ 39 - 1
public/app/types/user.ts

@@ -1,6 +1,44 @@
-export interface User {
+export interface OrgUser {
+  avatarUrl: string;
+  email: string;
+  lastSeenAt: string;
+  lastSeenAtAge: string;
+  login: string;
+  orgId: number;
+  role: string;
+  userId: number;
+}
+
+export interface User {
   id: number;
   label: string;
   avatarUrl: string;
   login: string;
 }
+
+export interface Invitee {
+  code: string;
+  createdOn: string;
+  email: string;
+  emailSent: boolean;
+  emailSentOn: string;
+  id: number;
+  invitedByEmail: string;
+  invitedByLogin: string;
+  invitedByName: string;
+  name: string;
+  orgId: number;
+  role: string;
+  status: string;
+  url: string;
+}
+
+export interface UsersState {
+  users: OrgUser[];
+  invitees: Invitee[];
+  searchQuery: string;
+  canInvite: boolean;
+  externalUserMngLinkUrl: string;
+  externalUserMngLinkName: string;
+  externalUserMngInfo: string;
+}