Browse Source

ref: convert roleList.js to typescript (#54969)

<!-- Describe your PR here. -->
Michelle Zhang 1 year ago
parent
commit
af703e4fb4
2 changed files with 72 additions and 159 deletions
  1. 0 159
      fixtures/js-stubs/roleList.js
  2. 72 0
      fixtures/js-stubs/roleList.tsx

+ 0 - 159
fixtures/js-stubs/roleList.js

@@ -1,159 +0,0 @@
-export function OrgRoleList(params = [], fullAccess = false) {
-  return [
-    {
-      id: 'member',
-      name: 'Member',
-      desc: 'Members can view and act on events, as well as view most other data within the organization.',
-      scopes: [
-        'event:read',
-        'event:write',
-        'project:read',
-        'project:releases',
-        'org:read',
-        'event:admin',
-        'member:read',
-        'team:read',
-      ],
-      allowed: true,
-      isAllowed: true,
-      is_global: false,
-      isGlobal: false,
-      isRetired: false,
-      minimumTeamRole: 'contributor',
-    },
-    {
-      id: 'admin',
-      name: 'Admin',
-      desc: "Admin privileges on any teams of which they're a member. They can create new teams and projects, as well as remove teams and projects on which they already hold membership (or all teams, if open membership is enabled). Additionally, they can manage memberships of teams that they are members of. They cannot invite members to the organization.",
-      scopes: [
-        'event:read',
-        'event:write',
-        'team:admin',
-        'project:read',
-        'project:releases',
-        'org:read',
-        'event:admin',
-        'member:read',
-        'project:write',
-        'team:read',
-        'project:admin',
-        'team:write',
-        'org:integrations',
-      ],
-      allowed: fullAccess,
-      isAllowed: fullAccess,
-      is_global: false,
-      isGlobal: false,
-      isRetired: false,
-      minimumTeamRole: 'admin',
-    },
-    {
-      id: 'manager',
-      name: 'Manager',
-      desc: 'Gains admin access on all teams as well as the ability to add and remove members.',
-      scopes: [
-        'event:read',
-        'event:write',
-        'team:admin',
-        'member:write',
-        'member:admin',
-        'org:write',
-        'event:admin',
-        'project:write',
-        'project:admin',
-        'team:read',
-        'org:integrations',
-        'project:read',
-        'project:releases',
-        'org:read',
-        'member:read',
-        'team:write',
-      ],
-      allowed: fullAccess,
-      isAllowed: fullAccess,
-      is_global: true,
-      isGlobal: true,
-      isRetired: false,
-      minimumTeamRole: 'admin',
-    },
-    {
-      id: 'owner',
-      name: 'Owner',
-      desc: 'Gains full permission across the organization. Can manage members as well as perform catastrophic operations such as removing the organization.',
-      scopes: [
-        'org:write',
-        'member:write',
-        'team:admin',
-        'member:admin',
-        'event:admin',
-        'project:write',
-        'org:admin',
-        'project:admin',
-        'event:write',
-        'team:read',
-        'project:read',
-        'project:releases',
-        'org:read',
-        'member:read',
-        'org:integrations',
-        'event:read',
-        'team:write',
-      ],
-      allowed: fullAccess,
-      isAllowed: fullAccess,
-      is_global: true,
-      isGlobal: true,
-      isRetired: false,
-      minimumTeamRole: 'admin',
-    },
-    ...params,
-  ];
-}
-
-export function TeamRoleList(params = []) {
-  return [
-    {
-      id: 'contributor',
-      name: 'Contributor',
-      desc: '...',
-      scopes: [
-        'event:read',
-        'event:write',
-        'event:admin',
-        'project:releases',
-        'project:read',
-        'org:read',
-        'member:read',
-        'team:read',
-        'alerts:read',
-        'alerts:write',
-      ],
-      isRetired: false,
-    },
-    {
-      id: 'admin',
-      name: 'Team Admin',
-      desc: '...',
-      scopes: [
-        'event:read',
-        'event:write',
-        'event:admin',
-        'org:read',
-        'member:read',
-        'project:read',
-        'project:write',
-        'project:admin',
-        'project:releases',
-        'team:read',
-        'team:write',
-        'team:admin',
-        'org:integrations',
-        'alerts:read',
-        'alerts:write',
-      ],
-      isRetired: false,
-      is_minimum_role_for: 'admin',
-    },
-    ...params,
-  ];
-}

+ 72 - 0
fixtures/js-stubs/roleList.tsx

@@ -0,0 +1,72 @@
+import {MemberRole, OrgRole} from 'sentry/types';
+
+export function OrgRoleList(
+  params: OrgRole[] = [],
+  fullAccess: boolean = false
+): OrgRole[] {
+  return [
+    {
+      id: 'member',
+      name: 'Member',
+      desc: 'Members can view and act on events, as well as view most other data within the organization.',
+      allowed: true,
+      isAllowed: true,
+      is_global: false,
+      isGlobal: false,
+      isRetired: false,
+      minimumTeamRole: 'contributor',
+    },
+    {
+      id: 'admin',
+      name: 'Admin',
+      desc: "Admin privileges on any teams of which they're a member. They can create new teams and projects, as well as remove teams and projects on which they already hold membership (or all teams, if open membership is enabled). Additionally, they can manage memberships of teams that they are members of. They cannot invite members to the organization.",
+      allowed: fullAccess,
+      isAllowed: fullAccess,
+      is_global: false,
+      isGlobal: false,
+      isRetired: false,
+      minimumTeamRole: 'admin',
+    },
+    {
+      id: 'manager',
+      name: 'Manager',
+      desc: 'Gains admin access on all teams as well as the ability to add and remove members.',
+      allowed: fullAccess,
+      isAllowed: fullAccess,
+      is_global: true,
+      isGlobal: true,
+      isRetired: false,
+      minimumTeamRole: 'admin',
+    },
+    {
+      id: 'owner',
+      name: 'Owner',
+      desc: 'Gains full permission across the organization. Can manage members as well as perform catastrophic operations such as removing the organization.',
+      allowed: fullAccess,
+      isAllowed: fullAccess,
+      is_global: true,
+      isGlobal: true,
+      isRetired: false,
+      minimumTeamRole: 'admin',
+    },
+    ...params,
+  ];
+}
+
+export function TeamRoleList(params: MemberRole[] = []): MemberRole[] {
+  return [
+    {
+      id: 'contributor',
+      name: 'Contributor',
+      desc: '...',
+      isRetired: false,
+    },
+    {
+      id: 'admin',
+      name: 'Team Admin',
+      desc: '...',
+      isRetired: false,
+    },
+    ...params,
+  ];
+}