Teams: Use generated TS types (#60618)

* Teams: Use generated TS types

* Teams: Update types usage

* Teams: Update types import

* Teams: Move metadata to mock function

* Teams: Move TeamDTO to types

* Update kind
This commit is contained in:
Alex Khomenko
2023-01-04 14:08:03 +02:00
committed by GitHub
parent fc91baa2f8
commit c68603a573
13 changed files with 44 additions and 67 deletions

View File

@ -1,3 +1,8 @@
import { Permission } from '@grafana/schema';
// Alias to an existing type to reduce the number of changes
export { Permission as TeamPermissionLevel };
export enum OrgRole {
Viewer = 'Viewer',
Editor = 'Editor',
@ -111,21 +116,16 @@ export const dashboardPermissionLevels: DashboardPermissionInfo[] = [
},
];
export enum TeamPermissionLevel {
Member = 0,
Admin = 4,
}
export interface TeamPermissionInfo {
value: TeamPermissionLevel;
value: Permission;
label: string;
description: string;
}
export const teamsPermissionLevels: TeamPermissionInfo[] = [
{ value: TeamPermissionLevel.Member, label: 'Member', description: 'Is team member' },
{ value: Permission.Member, label: 'Member', description: 'Is team member' },
{
value: TeamPermissionLevel.Admin,
value: Permission.Admin,
label: 'Admin',
description: 'Can add/remove permissions, members and delete team.',
},

View File

@ -1,16 +1,12 @@
import { WithAccessControlMetadata } from '@grafana/data';
import { Team as TeamBase } from '@grafana/schema';
import { TeamPermissionLevel } from './acl';
export interface Team extends WithAccessControlMetadata {
id: number;
name: string;
avatarUrl: string;
email: string;
memberCount: number;
permission: TeamPermissionLevel;
export interface Team extends TeamBase {
id: number; // TODO switch to UUID
}
// Represents the data sent via an API to create a team
export interface TeamDTO extends Pick<TeamBase, 'name' | 'email'> {}
export interface TeamMember {
userId: number;
teamId: number;