chore: add missing default role schema values for people picker perms, cleanup typing

This commit is contained in:
Danny Avila 2025-08-04 16:57:03 -04:00
parent 82047d9416
commit 02976bc23d
No known key found for this signature in database
GPG key ID: BF31EEB2C5CA0956
11 changed files with 47 additions and 69 deletions

View file

@ -30,7 +30,6 @@ export enum SystemRoles {
USER = 'USER',
}
// The role schema now only needs to reference the permissions schema.
export const roleSchema = z.object({
name: z.string(),
permissions: permissionsSchema,
@ -38,7 +37,6 @@ export const roleSchema = z.object({
export type TRole = z.infer<typeof roleSchema>;
// Define default roles using the new structure.
const defaultRolesSchema = z.object({
[SystemRoles.ADMIN]: roleSchema.extend({
name: z.literal(SystemRoles.ADMIN),
@ -80,6 +78,7 @@ const defaultRolesSchema = z.object({
[PermissionTypes.PEOPLE_PICKER]: peoplePickerPermissionsSchema.extend({
[Permissions.VIEW_USERS]: z.boolean().default(true),
[Permissions.VIEW_GROUPS]: z.boolean().default(true),
[Permissions.VIEW_ROLES]: z.boolean().default(true),
}),
[PermissionTypes.MARKETPLACE]: z.object({
[Permissions.USE]: z.boolean().default(false),
@ -137,6 +136,7 @@ export const roleDefaults = defaultRolesSchema.parse({
[PermissionTypes.PEOPLE_PICKER]: {
[Permissions.VIEW_USERS]: true,
[Permissions.VIEW_GROUPS]: true,
[Permissions.VIEW_ROLES]: true,
},
[PermissionTypes.MARKETPLACE]: {
[Permissions.USE]: true,
@ -163,6 +163,7 @@ export const roleDefaults = defaultRolesSchema.parse({
[PermissionTypes.PEOPLE_PICKER]: {
[Permissions.VIEW_USERS]: false,
[Permissions.VIEW_GROUPS]: false,
[Permissions.VIEW_ROLES]: false,
},
[PermissionTypes.MARKETPLACE]: {
[Permissions.USE]: false,

View file

@ -1,5 +1,5 @@
import type { InfiniteData } from '@tanstack/react-query';
import type { AccessRoleIds } from '../accessPermissions';
import type * as p from '../accessPermissions';
import type * as a from '../types/agents';
import type * as s from '../schemas';
import type * as t from '../types';
@ -129,28 +129,14 @@ export type MemoriesResponse = {
export type PrincipalSearchParams = {
q: string;
limit?: number;
type?: 'user' | 'group';
};
export type PrincipalSearchResult = {
id?: string | null;
type: 'user' | 'group';
name: string;
email?: string;
username?: string;
avatar?: string;
provider?: string;
source: 'local' | 'entra';
memberCount?: number;
description?: string;
idOnTheSource?: string;
type?: p.PrincipalType.USER | p.PrincipalType.GROUP | p.PrincipalType.ROLE;
};
export type PrincipalSearchResponse = {
query: string;
limit: number;
type?: 'user' | 'group';
results: PrincipalSearchResult[];
type?: p.PrincipalType.USER | p.PrincipalType.GROUP | p.PrincipalType.ROLE;
results: p.TPrincipalSearchResult[];
count: number;
sources: {
local: number;
@ -159,7 +145,7 @@ export type PrincipalSearchResponse = {
};
export type AccessRole = {
accessRoleId: AccessRoleIds;
accessRoleId: p.AccessRoleIds;
name: string;
description: string;
permBits: number;